API Guide Home
(Online version only)

PalmGoLCDCommon.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright (c) 2004-2005 palmOne, Inc. or its subsidiaries.
00003  * All rights reserved.
00004  ******************************************************************************/
00005 /** 
00006  * @defgroup    GoLCD Full Screen Writing API
00007  * @brief       This library provides support for applications to enable/disable
00008  *              full screen graffiti programmatically.
00009  *
00010  * Applications can use the functions in this library to enable or disable fullscreen
00011  *    writing, enable and disable the Graffiti 2 shift indicator (GSI) as a control for
00012  * fullscreen writing, enable and disable Graffiti 2 inking, and even change the colors
00013  *    of Graffiti 2 inking and the GSI.
00014  *
00015  * Developers can check whether the GoLCD Manager is installed by examining its feature set.
00016  *    Call FtrGet as follows:
00017  *    @code err = FtrGet (goLcdCreator, goLcdFtrNumVersion, &value); @endcode
00018  *
00019  * @{
00020  * @}
00021  */
00022 /**
00023  * @ingroup GoLCD
00024  */
00025 
00026 /**
00027  * @file    PalmGoLCDCommon.h
00028  * @version 1.0
00029  * @brief Public common header file for the GoLCD Library.
00030  *
00031  * This file contains the library constants and structures that hold different states of
00032  * the fullscreen feature, graffiti indicators, inking and the colors.
00033  * <hr>
00034  */
00035 
00036 #ifndef __PALMGOLCD_COMMON_H__
00037 #define __PALMGOLCD_COMMON_H__
00038 
00039 #include <PalmTypes.h>
00040 
00041 
00042 /**
00043  * @name Library Constants
00044  *
00045  */
00046 /*@{*/
00047 #define goLcdLibName          "GoLcdLib"    /**< GoLCD library name. */
00048 #define goLcdLibType          'libr'        /**< GoLCD library type. */
00049 #define goLcdLibCreator       'GAny'        /**< GoLCD creator ID. */
00050 #define goLcdLibFtrNum         0        /**< GoLCd feature number. */
00051 /*@}*/
00052 
00053 #define goLcdCreator        'GAny'      /**< Feature creator ID */
00054 #define goLcdFtrNumVersion  0           /**< Current version of the supported features */
00055 
00056 /**
00057  * Notification code that applications can register for when the status
00058  * of Full Screen Writing (GoLCD) is changed.
00059  */
00060 #define goLcdNotifyStatusEvent  'GAny'
00061 
00062 
00063 /**
00064  * GoLCD Status.
00065  * One of the following: goLcdNotAvailable, goLcdDisabled, goLcdEnabled
00066  */
00067 typedef Int32 GoLcdStatusType;
00068 
00069 /**
00070  * @name Feature Status
00071  */
00072 /*@{*/ 
00073 #define goLcdNotAvailable      -1       /**< GoLCD not available on this device. */
00074 #define goLcdDisabled           0   /**< GoLCD functionality is disabled. */
00075 #define goLcdEnabled            1   /**< GoLCD functionality is enabled. */
00076 /*@}*/
00077 
00078 /**
00079  * GoLCD Ink State.
00080  * One of the following: goLcdInkDisabled, goLcdInkEnabled
00081  */
00082 typedef Int32 GoLcdInkStateType;
00083 
00084 /**
00085  * @name Ink States
00086  */
00087 /*@{*/ 
00088 #define goLcdInkDisabled        0   /**< GoLCD inking is disabled. */
00089 #define goLcdInkEnabled         1   /**< GoLCD inking is enabled. */
00090 /*@}*/
00091 
00092 /**
00093  * GoLCD Timeout Mode.
00094  * One of the following: goLcdGraffitiMode, goLcdPenTapMode
00095  */
00096 typedef UInt32 GoLcdModeType;
00097 
00098 /**
00099  * When it enters goLcdGraffitiMode, GoLCD continuously
00100  * interprets all pen events as Graffiti 2 strokes. There is a timeout
00101  * value associated with goLcdGraffitiMode, however. If it
00102  * does not receive a new pen event within the allotted time, it
00103  * returns to goLcdPenTapMode.
00104  * <br>
00105  * The default time-out value for goLcdGraffitiMode is
00106  * 150 system ticks, or 1500 milliseconds.
00107  */
00108 #define goLcdGraffitiMode       0
00109 
00110 /**
00111  * GoLCD starts in goLcdPenTapMode. When a penDownEvent is
00112  * received, a timer is started. If a penUpEvent is received before
00113  * the timer reaches the time-out value for this mode, the pen
00114  * events are passed on to the event-handler for the application
00115  * control. Otherwise, if the pen events exceed the time-out
00116  * value and the x, y coordinates change significantly, GoLCD
00117  * enters goLcdGraffitiMode and treats the pen events as a
00118  * Graffiti 2 stroke.
00119  * <br>
00120  * The default time-out value for goLcdPenTapMode is 15 system
00121  * ticks, or 150 milliseconds.
00122  */
00123 #define goLcdPenTapMode         1
00124 
00125 /** Two modes are currently supported */
00126 #define goLcdModeCount          2
00127 
00128 
00129 /**
00130  * GoLCD GSI State.
00131  * One of the following: goLcdGsiNormal, goLcdGsiOverride
00132  */
00133 typedef UInt32 GoLcdGsiStateType;
00134 
00135 #define goLcdGsiNormal          0   /**< GSI is handled as normal. */
00136 #define goLcdGsiOverride        1   /**< GoLCD overrides the GSI with its own control. */
00137 
00138 
00139 /**
00140  * GoLCD Color Mode.
00141  * One of the following: goLcdColorDefault, goLcdColorOverride, goLcdColorInverted
00142  */ 
00143 typedef UInt32 GoLcdColorModeType;
00144 
00145 #define goLcdColorDefault       0   /**< Use the default color scheme. */
00146 #define goLcdColorOverride      1   /**< Use the specified color (passed in as a separate argument). */
00147 #define goLcdColorInverted      2   /**< Use only with ink color. Inverts the color of the display area beneath the Graffiti 2 stroke. */
00148 
00149 /**
00150  * @name Function Traps
00151  *
00152  */
00153 /*@{*/
00154 #define kGoLcdLibTrapOpen               sysLibTrapOpen
00155 #define kGoLcdLibTrapClose              sysLibTrapClose
00156 
00157 #define kGoLcdLibTrapGetStatus          (sysLibTrapCustom)
00158 #define kGoLcdLibTrapSetStatus          (sysLibTrapCustom+1)
00159 #define kGoLcdLibTrapGetInkState        (sysLibTrapCustom+2)
00160 #define kGoLcdLibTrapSetInkState        (sysLibTrapCustom+3)
00161 #define kGoLcdLibTrapGetTimeout         (sysLibTrapCustom+4)
00162 #define kGoLcdLibTrapSetTimeout         (sysLibTrapCustom+5)
00163 #define kGoLcdLibTrapGetBounds          (sysLibTrapCustom+6)
00164 #define kGoLcdLibTrapSetBounds          (sysLibTrapCustom+7)
00165 #define kGoLcdLibTrapGetGsiState        (sysLibTrapCustom+8)
00166 #define kGoLcdLibTrapSetGsiState        (sysLibTrapCustom+9)
00167 /*@}*/
00168 
00169 /** Current library version */
00170 #define GoLcdLibAPIVersion          (sysMakeROMVersion(3, 6, 0, sysROMStageBeta, 0))
00171 
00172 
00173 #endif  //__PALMGOLCD_COMMON_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