palm-os-sdk/sdk-3.1/include/Core/UI/Control.h
2016-08-25 07:53:48 -03:00

123 lines
3.3 KiB
C

/***********************************************************************
*
* Copyright (c) 1994-1999 3Com Corporation or its subsidiaries.
* All rights reserved.
*
* PROJECT: Pilot
* FILE: Control.h
* AUTHOR: Art Lamb: August 29, 1994
*
* DECLARER: UI
*
* DESCRIPTION:
* This file defines check box structures and routines.
*
***********************************************************************/
#ifndef __CONTROL_H__
#define __CONTROL_H__
typedef struct {
Byte usable :1; // set if part of ui
Byte enabled :1; // set if interactable (not grayed out)
Byte visible :1; // set if drawn (set internally)
Byte on :1; // set if on (checked)
Byte leftAnchor :1; // set if bounds expand to the right
// clear if bounds expand to the left
Byte frame :3;
} ControlAttrType;
enum controlStyles {buttonCtl, pushButtonCtl, checkboxCtl, popupTriggerCtl,
selectorTriggerCtl, repeatingButtonCtl};
typedef enum controlStyles ControlStyleType;
enum buttonFrames {noButtonFrame, standardButtonFrame, boldButtonFrame,
rectangleButtonFrame};
typedef enum buttonFrames ButtonFrameType;
typedef struct {
Word id;
RectangleType bounds;
CharPtr text;
ControlAttrType attr;
ControlStyleType style;
FontID font;
Byte group;
} ControlType;
typedef ControlType * ControlPtr;
//----------------------------------------------------------
// Control Functions
//----------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
extern void CtlDrawControl (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlDrawControl);
extern void CtlEraseControl (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlEraseControl);
extern void CtlHideControl (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlHideControl);
extern void CtlShowControl (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlShowControl);
extern Boolean CtlEnabled (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlEnabled);
extern void CtlSetEnabled (const ControlPtr pControl, const Boolean usable)
SYS_TRAP(sysTrapCtlSetEnabled);
extern void CtlSetUsable (const ControlPtr pControl, const Boolean usable)
SYS_TRAP(sysTrapCtlSetUsable);
extern SWord CtlGetValue (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlGetValue);
extern void CtlSetValue (const ControlPtr pControl, const SWord newValue)
SYS_TRAP(sysTrapCtlSetValue);
extern CharPtr CtlGetLabel (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlGetLabel);
extern void CtlSetLabel (const ControlPtr pControl, const CharPtr newLabel)
SYS_TRAP(sysTrapCtlSetLabel);
extern void CtlHitControl (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlHitControl);
extern Boolean CtlHandleEvent (const ControlPtr pControl,
const EventPtr pEvent)
SYS_TRAP(sysTrapCtlHandleEvent);
extern Boolean CtlValidatePointer (const ControlPtr pControl)
SYS_TRAP(sysTrapCtlValidatePointer);
extern ControlPtr CtlNewControl (VoidPtr *formPP, const Word ID,
const ControlStyleType style, const CharPtr textP,
const Word x, const Word y, const Word width, const Word height,
const FontID font, Byte group, Boolean leftAnchor)
SYS_TRAP(sysTrapCtlNewControl);
#ifdef __cplusplus
}
#endif
#endif //__CONTROL_H__