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 42void 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 50void 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 82struct 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 102uint32 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 110uint32 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 123uint32 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