|
API Guide Home (Online version only) |
![]() |
00001 /****************************************************************************** 00002 * Copyright (c) 2005 palmOne, Inc. or its subsidiaries. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /** 00006 * @ingroup LcdOverlay 00007 * 00008 */ 00009 00010 /** 00011 * @file PalmLcdOverlay.h 00012 * @version 1.0 00013 * 00014 * @brief Exported LCD Overlay functions 00015 * 00016 * 00017 * <hr> 00018 */ 00019 00020 00021 #ifndef __PalmLcdOverlay_H__ 00022 #define __PalmLcdOverlay_H__ 00023 00024 // Palm OS common definitions 00025 #include <PalmTypes.h> 00026 #include <ErrorBase.h> 00027 #include <SystemMgr.h> 00028 00029 00030 /** 00031 * @name To Define when building the library 00032 * 00033 */ 00034 /*@{*/ 00035 #if (CPU_TYPE != CPU_68K) || (defined BUILDING_OVLY_LIB) 00036 #define ARM_NATIVECODE /**< */ 00037 #define OVLY_LIB_TRAP(trapNum) /**< */ 00038 #else 00039 #include <LibTraps.h> 00040 #define OVLY_LIB_TRAP(trapNum) SYS_TRAP(trapNum) /**< */ 00041 #endif 00042 /*@}*/ 00043 00044 00045 /** 00046 * @name Type and creator of the Library 00047 * 00048 */ 00049 /*@{*/ 00050 #define kLcdOverlayLibType 'libr' /**< database type */ 00051 #define kLcdOverlayLibCreator 'Povl' /**< database creator */ 00052 /*@}*/ 00053 00054 /** 00055 * @name Internal library name which can be passed to SysLibFind() 00056 * 00057 */ 00058 /*@{*/ 00059 #define kLcdOverlayLibName "LcdOverlayManager" /**< */ 00060 /*@}*/ 00061 00062 /** 00063 * @name Library versionning 00064 * 00065 */ 00066 /*@{*/ 00067 #define kLcdOverlayLibVersion1 sysMakeROMVersion(1, 0, 0, sysROMStageRelease, 0) /**< */ 00068 #define kLcdOverlayLibVersion kLcdOverlayLibVersion1 /**< */ 00069 /*@}*/ 00070 00071 /** 00072 * @name LCD Overlay result codes 00073 * (appErrorClass is reserved for 3rd party apps/libraries. 00074 * It is defined in SystemMgr.h) 00075 * 00076 */ 00077 /*@{*/ 00078 #define kLcdOverlayLibErrorClass (oemErrorClass + 0x200) /**< */ 00079 #define kLcdOverlayLibErrBadParam (kLcdOverlayLibErrorClass | 0x01) /**< invalid parameter */ 00080 #define kLcdOverlayLibErrNoMemory (kLcdOverlayLibErrorClass | 0x02) /**< Memory error */ 00081 #define kLcdOverlayLibErrNotOpen (kLcdOverlayLibErrorClass | 0x03) /**< library is not open */ 00082 #define kLcdOverlayLibErrStillOpen (kLcdOverlayLibErrorClass | 0x04) /**< returned from LcdOverlayLibClose() if the library is still open */ 00083 #define kLcdOverlayLibErrInternal (kLcdOverlayLibErrorClass | 0x05) /**< Internal error */ 00084 #define kLcdOverlayLibErrNotSupported (kLcdOverlayLibErrorClass | 0x06) /**< Unsupported function */ 00085 #define kLcdOverlayLibErrNotCompatible (kLcdOverlayLibErrorClass | 0x07) /**< Bad Version */ 00086 /*@}*/ 00087 00088 /*********************************************************************** 00089 * Constants - control commands 00090 ***********************************************************************/ 00091 00092 /** 00093 * @name Command definition 00094 * 00095 */ 00096 /*@{*/ 00097 #define kLcdOverlayLibCtrlFormatSet 0x01 /**< Parameter as LcdOverlayLibFormatType* */ 00098 #define kLcdOverlayLibCtrlFormatGet 0x02 /**< Parameter as LcdOverlayLibFormatType* */ 00099 #define kLcdOverlayLibCtrlFormatQuery 0x03 /**< Parameter as LcdOverlayLibFormatType* */ 00100 00101 #define kLcdOverlayLibCtrlRectSet 0x04 /**< Parameter as RectangleType* (low res coords) */ 00102 #define kLcdOverlayLibCtrlRectGet 0x05 /**< Parameter as RectangleType* (low res coords) */ 00103 00104 #define kLcdOverlayLibCtrlStart 0x06 /**< No parameter */ 00105 #define kLcdOverlayLibCtrlDraw 0x07 /**< Parameter as void* */ 00106 #define kLcdOverlayLibCtrlStop 0x08 /**< No parameter */ 00107 /*@}*/ 00108 00109 typedef UInt16 LcdOverlayLibControlType; /**< */ 00110 00111 /*********************************************************************** 00112 * Constants - Capabilities Settings 00113 ***********************************************************************/ 00114 00115 /** 00116 * @brief Generic settings 00117 * For settings without manual values, only type is used 00118 **/ 00119 typedef struct LcdOverlayLibSettingTag 00120 { 00121 UInt32 type; /**< For Manual, use constant below */ 00122 Int32 value; /**< For manual only */ 00123 Int32 minValue; /**< This value is used for Get/Query Only and is valid for Manual value */ 00124 Int32 maxValue; /**< This value is used for Get/Query Only and is valid for Manual value */ 00125 } LcdOverlayLibSettingType; 00126 00127 /** 00128 * @name Overlay data format 00129 * 00130 */ 00131 /*@{*/ 00132 #define kLcdOverlayLibDataFormatYCbCr444 0x02 /**< */ 00133 #define kLcdOverlayLibDataFormatYCbCr422 0x04 /**< */ 00134 #define kLcdOverlayLibDataFormatYCbCr420 0x08 /**< */ 00135 00136 #define kLcdOverlayLibDataFormatYCbCr444Planar 0x10 /**< */ 00137 #define kLcdOverlayLibDataFormatYCbCr422Planar 0x20 /**< */ 00138 #define kLcdOverlayLibDataFormatYCbCr420Planar 0x40 /**< */ 00139 00140 #define kLcdOverlayLibDataFormatRGB565 0x80 /**< */ 00141 /*@}*/ 00142 00143 typedef struct LcdOverlayLibSettingTag LcdOverlayLibFormatType; /**< */ 00144 00145 /** 00146 * @name Library trap 00147 * 00148 */ 00149 /*@{*/ 00150 #define kLcdOverlayLibTrapGetVersion (sysLibTrapCustom + 0) /**< */ 00151 #define kLcdOverlayLibTrapControl (sysLibTrapCustom + 1) /**< */ 00152 /*@}*/ 00153 00154 /*********************************************************************** 00155 * API Prototypes 00156 ***********************************************************************/ 00157 00158 #ifdef __cplusplus 00159 extern "C" { 00160 #endif 00161 00162 #ifndef ARM_NATIVECODE 00163 00164 /** 00165 * @brief Standard library open function 00166 * 00167 * @param refNum: IN: 00168 * @retval Err error code. 00169 **/ 00170 extern Err LcdOverlayLibOpen(UInt16 refNum) 00171 OVLY_LIB_TRAP(sysLibTrapOpen); 00172 00173 /** 00174 * @brief Standard library close function 00175 * 00176 * @param refNum: IN: 00177 * @retval Err error code. 00178 **/ 00179 extern Err LcdOverlayLibClose(UInt16 refNum) 00180 OVLY_LIB_TRAP(sysLibTrapClose); 00181 00182 /** 00183 * @brief 00184 * 00185 * @param refNum: IN: 00186 * @retval Err error code. 00187 **/ 00188 extern Err LcdOverlayLibSleep(UInt16 refNum) 00189 OVLY_LIB_TRAP(sysLibTrapSleep); 00190 00191 /** 00192 * @brief 00193 * 00194 * @param refNum: IN: 00195 * @retval Err error code. 00196 **/ 00197 extern Err LcdOverlayLibWake(UInt16 refNum) 00198 OVLY_LIB_TRAP(sysLibTrapWake); 00199 00200 /** 00201 * @brief Custom library API functions 00202 * 00203 * @param refNum: IN: 00204 * @param sdkVersion: IN: 00205 * @param libVersionP: IN: 00206 * @retval Err error code. 00207 **/ 00208 extern Err LcdOverlayLibGetVersion(UInt16 refNum, UInt32 sdkVersion, UInt32* libVersionP) 00209 OVLY_LIB_TRAP(kLcdOverlayLibTrapGetVersion); 00210 00211 /** 00212 * @brief 00213 * 00214 * @param refNum: IN: 00215 * @param cmdId: IN: 00216 * @param parameterP: IN: 00217 * @retval Err error code. 00218 **/ 00219 extern Err LcdOverlayLibControl(UInt16 refNum, LcdOverlayLibControlType cmdId, void* parameterP) 00220 OVLY_LIB_TRAP(kLcdOverlayLibTrapControl); 00221 00222 #else 00223 00224 /** 00225 * Prototype used when building ARM Native Library. 00226 **/ 00227 /** 00228 * @brief 00229 * 00230 * @retval Err error code. 00231 **/ 00232 extern Err LcdOverlayLibOpen(void); 00233 00234 /** 00235 * @brief 00236 * 00237 * @retval Err error code. 00238 **/ 00239 extern Err LcdOverlayLibClose(void); 00240 00241 /** 00242 * @brief 00243 * 00244 * @retval Err error code. 00245 **/ 00246 extern Err LcdOverlayLibSleep(void); 00247 00248 /** 00249 * @brief 00250 * 00251 * @retval Err error code. 00252 **/ 00253 extern Err LcdOverlayLibWake(void); 00254 00255 /** 00256 * @brief Custom library API functions 00257 * 00258 * @param sdkVersion: IN: 00259 * @param libVersionP: IN: 00260 * @retval Err error code. 00261 **/ 00262 extern Err LcdOverlayLibGetVersion(UInt32 sdkVersion, UInt32* libVersionP); 00263 00264 /** 00265 * @brief 00266 * 00267 * @param cmdId: IN: 00268 * @param parameterP: IN: 00269 * @retval Err error code. 00270 **/ 00271 extern Err LcdOverlayLibControl(LcdOverlayLibControlType cmdId, void* parameterP); 00272 00273 #endif 00274 00275 00276 #ifdef __cplusplus 00277 } 00278 #endif 00279 00280 #endif // __PalmLcdOverlay_H__
| Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:06:54 2008 for Palm API Guide |