1 /*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 /* ---- includes ----------------------------------------------------------- */
18
19 #include "b_TensorEm/Int16Rect.h"
20 #include "b_BasicEm/Math.h"
21 #include "b_BasicEm/Functions.h"
22 #include "b_BasicEm/Memory.h"
23
24 /* ------------------------------------------------------------------------- */
25
26 /* ========================================================================= */
27 /* */
28 /* ---- \ghd{ auxiliary functions } ---------------------------------------- */
29 /* */
30 /* ========================================================================= */
31
32 /* ------------------------------------------------------------------------- */
33
34 /* ========================================================================= */
35 /* */
36 /* ---- \ghd{ constructor / destructor } ----------------------------------- */
37 /* */
38 /* ========================================================================= */
39
40 /* ------------------------------------------------------------------------- */
41
bts_Int16Rect_init(struct bbs_Context * cpA,struct bts_Int16Rect * ptrA)42 void bts_Int16Rect_init( struct bbs_Context* cpA, struct bts_Int16Rect* ptrA )
43 {
44 ptrA->x1E = 0;
45 ptrA->y1E = 0;
46 ptrA->x2E = 0;
47 ptrA->y2E = 0;
48 }
49
bts_Int16Rect_exit(struct bbs_Context * cpA,struct bts_Int16Rect * ptrA)50 void bts_Int16Rect_exit( struct bbs_Context* cpA, struct bts_Int16Rect* ptrA )
51 {
52 ptrA->x1E = 0;
53 ptrA->y1E = 0;
54 ptrA->x2E = 0;
55 ptrA->y2E = 0;
56 }
57
58 /* ========================================================================= */
59 /* */
60 /* ---- \ghd{ operators } -------------------------------------------------- */
61 /* */
62 /* ========================================================================= */
63
64 /* ------------------------------------------------------------------------- */
65
66 /* ========================================================================= */
67 /* */
68 /* ---- \ghd{ query functions } -------------------------------------------- */
69 /* */
70 /* ========================================================================= */
71
72 /* ------------------------------------------------------------------------- */
73
74 /* ========================================================================= */
75 /* */
76 /* ---- \ghd{ modify functions } ------------------------------------------- */
77 /* */
78 /* ========================================================================= */
79
80 /* ------------------------------------------------------------------------- */
81
bts_Int16Rect_create(int16 x1A,int16 y1A,int16 x2A,int16 y2A)82 struct bts_Int16Rect bts_Int16Rect_create( int16 x1A, int16 y1A, int16 x2A, int16 y2A )
83 {
84 struct bts_Int16Rect rectL;
85 rectL.x1E = x1A;
86 rectL.y1E = y1A;
87 rectL.x2E = x2A;
88 rectL.y2E = y2A;
89 return rectL;
90 }
91
92 /* ------------------------------------------------------------------------- */
93
94 /* ========================================================================= */
95 /* */
96 /* ---- \ghd{ I/O } -------------------------------------------------------- */
97 /* */
98 /* ========================================================================= */
99
100 /* ------------------------------------------------------------------------- */
101
bts_Int16Rect_memSize(struct bbs_Context * cpA,const struct bts_Int16Rect * ptrA)102 uint32 bts_Int16Rect_memSize( struct bbs_Context* cpA,
103 const struct bts_Int16Rect *ptrA )
104 {
105 return bbs_SIZEOF16( struct bts_Int16Rect );
106 }
107
108 /* ------------------------------------------------------------------------- */
109
bts_Int16Rect_memWrite(struct bbs_Context * cpA,const struct bts_Int16Rect * ptrA,uint16 * memPtrA)110 uint32 bts_Int16Rect_memWrite( struct bbs_Context* cpA,
111 const struct bts_Int16Rect* ptrA,
112 uint16* memPtrA )
113 {
114 memPtrA += bbs_memWrite16( &ptrA->x1E, memPtrA );
115 memPtrA += bbs_memWrite16( &ptrA->y1E, memPtrA );
116 memPtrA += bbs_memWrite16( &ptrA->x2E, memPtrA );
117 memPtrA += bbs_memWrite16( &ptrA->y2E, memPtrA );
118 return bbs_SIZEOF16( *ptrA );
119 }
120
121 /* ------------------------------------------------------------------------- */
122
bts_Int16Rect_memRead(struct bbs_Context * cpA,struct bts_Int16Rect * ptrA,const uint16 * memPtrA)123 uint32 bts_Int16Rect_memRead( struct bbs_Context* cpA,
124 struct bts_Int16Rect* ptrA,
125 const uint16* memPtrA )
126 {
127 if( bbs_Context_error( cpA ) ) return 0;
128 memPtrA += bbs_memRead16( &ptrA->x1E, memPtrA );
129 memPtrA += bbs_memRead16( &ptrA->y1E, memPtrA );
130 memPtrA += bbs_memRead16( &ptrA->x2E, memPtrA );
131 memPtrA += bbs_memRead16( &ptrA->y2E, memPtrA );
132 return bbs_SIZEOF16( *ptrA );
133 }
134
135 /* ------------------------------------------------------------------------- */
136
137 /* ========================================================================= */
138 /* */
139 /* ---- \ghd{ exec functions } --------------------------------------------- */
140 /* */
141 /* ========================================================================= */
142
143 /* ------------------------------------------------------------------------- */
144
145 /* ========================================================================= */
146
147
148