palm-os-sdk/dana-2.0/include/Screen.h
2023-12-18 21:23:56 -03:00

141 lines
5.4 KiB
C

/*************************************************************************
*
* Copyright (c) 2001-2002 by AlphaSmart, Inc.
* All rights reserved.
*
* FILE: Screen.h
*
* DESCRIPTION: This file contains the API to the screen.
*
****************************************************************************/
#ifndef __SCREEN_H__
#define __SCREEN_H__
#include "WideTallApp.h"
#define ScrnFtrNum 2
/*--------------------------------------------------------------------------
* Screen result codes
* (oemErrorClass is reserved for Palm licensees).
*-------------------------------------------------------------------------*/
#define scrnErrorClass (oemErrorClass | 0x200)
#define scrnErrUnimplemented (scrnErrorClass | 0) // function not implemented (on this hardware)
#define scrnErrBadParam (scrnErrorClass | 1) // invalid parameter
#define scrnErrModeUnsupported (scrnErrorClass | 2) // does not support screen mode
#define scrnErrScreenLocked (scrnErrorClass | 3) // could not lock the screen
/*---------------------------------------------------------------------------
* Extension Installed
*--------------------------------------------------------------------------*/
#define _ScreenFeaturePresent(versionPtr) \
(Boolean)(FtrGet(AlphaSmartSysFtrID, ScrnFtrNum, versionPtr) == 0)
/*---------------------------------------------------------------------------
* Rotation modes
*--------------------------------------------------------------------------*/
typedef enum
{
rotateScrnMode0 = 0,
rotateScrnMode90,
rotateScrnMode270
} ScrnRotateModeType;
/*---------------------------------------------------------------------------
* Screen modes
*--------------------------------------------------------------------------*/
typedef enum
{
screenModeWideTall = 0,
screenModeCentered
} ScrnScreenModeType;
/*---------------------------------------------------------------------------
* Screen System State
*--------------------------------------------------------------------------*/
typedef struct ScrnSystemStateType
{
ScrnScreenModeType screenMode; // current state of screen ext.
ScrnScreenModeType curAppScreenMode; // current state of app
Int16 offset_X;
Int16 offset_Y;
UInt8 draw_override; // > 0, no offsetting
UInt8 reserved[8]; // not used
} ScrnSystemStateType;
#ifdef __cplusplus
extern "C" {
#endif
#define scrnMinFunction 0x0200
#define scrnGetRotateMode (scrnMinFunction + 0)
#define scrnSetRotateMode (scrnMinFunction + 1)
#define scrnEnable (scrnMinFunction + 2)
#define scrnDisable (scrnMinFunction + 3)
#define scrnIsEnabled (scrnMinFunction + 4)
#define scrnTableSetFontID (scrnMinFunction + 5)
#define scrnGetSystemState (scrnMinFunction + 6)
/********************************************************************
* SCREEN API Prototypes
********************************************************************/
/*---------------------------------------------------------------------------
* ScrnGetRotateMode - Returns the current rotation settings
*--------------------------------------------------------------------------*/
extern void ScrnGetRotateMode(ScrnRotateModeType *rotation)
EXTERNAL_TRAP(scrnGetRotateMode);
/*---------------------------------------------------------------------------
* ScrnSetRotateMode - Set current screen mode.
*--------------------------------------------------------------------------*/
extern Err ScrnSetRotateMode(ScrnRotateModeType rotation)
EXTERNAL_TRAP(scrnSetRotateMode);
/*---------------------------------------------------------------------------
* ScrnTableSetFontID - Use small Palm font when drawing tableItemStyles
* excluding customTableItem which determines its.
*--------------------------------------------------------------------------*/
extern void ScrnTableSetFontID(TablePtr table, FontID fontID)
EXTERNAL_TRAP(scrnTableSetFontID);
/*---------------------------------------------------------------------------
* ScrnEnable
*--------------------------------------------------------------------------*/
extern void ScrnEnable(void)
EXTERNAL_TRAP(scrnEnable);
/*---------------------------------------------------------------------------
* ScrnDisable
*--------------------------------------------------------------------------*/
extern void ScrnDisable(void)
EXTERNAL_TRAP(scrnDisable);
/*---------------------------------------------------------------------------
* ScrnIsEnabled
*--------------------------------------------------------------------------*/
extern Boolean ScrnIsEnabled(void)
EXTERNAL_TRAP(scrnIsEnabled);
/*---------------------------------------------------------------------------
* ScrnGetSystemState
*--------------------------------------------------------------------------*/
extern void ScrnGetSystemState(ScrnSystemStateType *pState)
EXTERNAL_TRAP(scrnGetSystemState);
#ifdef __cplusplus
}
#endif
#endif // __SCREEN_H__