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