| /* | 
 |  * Copyright (C) 2008 The Android Open Source Project | 
 |  * | 
 |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
 |  * you may not use this file except in compliance with the License. | 
 |  * You may obtain a copy of the License at | 
 |  * | 
 |  *      http://www.apache.org/licenses/LICENSE-2.0 | 
 |  * | 
 |  * Unless required by applicable law or agreed to in writing, software | 
 |  * distributed under the License is distributed on an "AS IS" BASIS, | 
 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 |  * See the License for the specific language governing permissions and | 
 |  * limitations under the License. | 
 |  */ | 
 |  | 
 | #ifndef btk_DCR_EM_H | 
 | #define btk_DCR_EM_H | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | /** | 
 |  *  Data Carrier object | 
 |  */ | 
 |  | 
 | /* ---- includes ----------------------------------------------------------- */ | 
 |  | 
 | #include "SDK.h" | 
 |  | 
 | /* ---- related objects  --------------------------------------------------- */ | 
 |  | 
 | /** data carrier object */ | 
 | struct btk_DCR; | 
 |  | 
 | /* ---- typedefs ----------------------------------------------------------- */ | 
 |  | 
 | /** handle for data carrier object */ | 
 | typedef struct btk_DCR* btk_HDCR; | 
 |  | 
 | /** node data structure */ | 
 | typedef struct | 
 | { | 
 | 	s16p16  x; /* x-coordinate */ | 
 | 	s16p16  y; /* y-coordinate */ | 
 | 	s32    id; /* node id */ | 
 | 	s16p16 reserved; /* reserved for future versions (0) */ | 
 | } btk_Node; | 
 |  | 
 | /** rectangle data structure */ | 
 | typedef struct | 
 | { | 
 | 	s16p16  xMin; /* x min coordinate */ | 
 | 	s16p16  yMin; /* y min coordinate */ | 
 | 	s16p16  xMax; /* x max coordinate */ | 
 | 	s16p16  yMax; /* y max coordinate */ | 
 | } btk_Rect; | 
 |  | 
 | /** DCR creation parameters */ | 
 | typedef struct | 
 | { | 
 | 	/* reserved parameter (0) */ | 
 | 	u32 reserved; | 
 |  | 
 | } btk_DCRCreateParam; | 
 |  | 
 | /* ---- constants ---------------------------------------------------------- */ | 
 |  | 
 | /* ---- functions ---------------------------------------------------------- */ | 
 |  | 
 | /** returns default data carrier parameters */ | 
 | btk_DECLSPEC | 
 | btk_DCRCreateParam btk_DCR_defaultParam( void ); | 
 |  | 
 | /** creates a data carrier object */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_create( btk_HSDK hsdkA, | 
 | 						   const btk_DCRCreateParam* pCreateParamA, | 
 | 						   btk_HDCR* hpdcrA ); | 
 |  | 
 | /** closes a data carrier object */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_close( btk_HDCR hdcrA ); | 
 |  | 
 | /** deprecated (use assignImage) */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_assignGrayByteImage( btk_HDCR hdcrA, | 
 | 									    const void* pDataA, | 
 | 										u32 widthA, | 
 | 										u32 heightA ); | 
 |  | 
 | /** assigns a byte gray image referenced by pDataA to the data carrier */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_assignImage( btk_HDCR hdcrA, | 
 | 							    const void* pDataA, | 
 | 								u32 widthA, | 
 | 								u32 heightA ); | 
 |  | 
 | /** deprecated (use assignImageROI) */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_assignGrayByteImageROI( btk_HDCR hdcrA, | 
 | 										   const void* pDataA, | 
 | 										   u32 widthA, | 
 | 										   u32 heightA, | 
 | 										   const btk_Rect* pRectA ); | 
 |  | 
 | /** assigns a byte gray image referenced by pDataA to the data carrier and | 
 |   * a region of interest given by pRectA. | 
 |   */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_assignImageROI( btk_HDCR hdcrA, | 
 | 								   const void* pDataA, | 
 | 								   u32 widthA, | 
 | 								   u32 heightA, | 
 | 								   const btk_Rect* pRectA ); | 
 |  | 
 | /** extracts facial rectangle */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_getRect( btk_HDCR hdcrA, | 
 | 							btk_Rect* pRectA ); | 
 |  | 
 | /** returns number of available landmark nodes */ | 
 | btk_DECLSPEC | 
 | u32 btk_DCR_nodeCount( btk_HDCR hdcrA ); | 
 |  | 
 | /** extracts information about indexed node */ | 
 | btk_DECLSPEC | 
 | btk_Status btk_DCR_getNode( btk_HDCR hdcrA, | 
 | 						    u32 indexA, | 
 | 							btk_Node* pNodeA ); | 
 |  | 
 | /** returns confidence 8.24 fixed format */ | 
 | btk_DECLSPEC | 
 | s8p24 btk_DCR_confidence( btk_HDCR hdcrA ); | 
 |  | 
 | /** returns approval flag (0=false; 1=true)*/ | 
 | btk_DECLSPEC | 
 | u32 btk_DCR_approved( btk_HDCR hdcrA ); | 
 |  | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* btk_DCR_EM_H */ |