111 lines
2.8 KiB
C
111 lines
2.8 KiB
C
/***********************************************************************
|
|
*
|
|
* Copyright (c) 1994-1997, Palm Computing Inc., 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 (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlDrawControl);
|
|
|
|
extern void CtlEraseControl (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlEraseControl);
|
|
|
|
extern void CtlHideControl (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlHideControl);
|
|
|
|
extern void CtlShowControl (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlShowControl);
|
|
|
|
extern Boolean CtlEnabled (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlEnabled);
|
|
|
|
extern void CtlSetEnabled (ControlPtr pControl, Boolean usable)
|
|
SYS_TRAP(sysTrapCtlSetEnabled);
|
|
|
|
extern void CtlSetUsable (ControlPtr pControl, Boolean usable)
|
|
SYS_TRAP(sysTrapCtlSetUsable);
|
|
|
|
extern SWord CtlGetValue (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlGetValue);
|
|
|
|
extern void CtlSetValue (ControlPtr pControl, SWord newValue)
|
|
SYS_TRAP(sysTrapCtlSetValue);
|
|
|
|
extern CharPtr CtlGetLabel (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlGetLabel);
|
|
|
|
extern void CtlSetLabel (ControlPtr pControl, CharPtr newLabel)
|
|
SYS_TRAP(sysTrapCtlSetLabel);
|
|
|
|
extern void CtlHitControl (ControlPtr pControl)
|
|
SYS_TRAP(sysTrapCtlHitControl);
|
|
|
|
extern Boolean CtlHandleEvent (ControlPtr pControl, EventPtr pEvent)
|
|
SYS_TRAP(sysTrapCtlHandleEvent);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif //__CONTROL_H__
|
|
|
|
|
|
|