123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- (******************************************************************************
- *
- * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
- * All rights reserved.
- *
- * File: Control.h
- *
- * Release: Palm OS SDK 4.0 (63220)
- *
- * Description:
- * This file defines check box structures and routines.
- *
- * History:
- * August 29, 1994 Created by Art Lamb
- * Name Date Description
- * ---- ---- -----------
- * bob 2/9/99 Fix up const stuff
- * bob 4/16/99 add GraphicControlType
- *
- *****************************************************************************)
- {$MACRO ON}
- unit control;
- interface
- uses palmos, coretraps, rect, datamgr, font;
- type
- ControlAttrType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_CONTROLS} // These fields will not be available in the next OS release!
- Bits: UInt16;
- {
- UInt8 usable :1; // set if part of ui
- UInt8 enabled :1; // set if interactable (not grayed out)
- UInt8 visible :1; // set if drawn (set internally)
- UInt8 on :1; // set if on (checked)
- UInt8 leftAnchor :1; // set if bounds expand to the right
- // clear if bounds expand to the left
- UInt8 frame :3;
- UInt8 drawnAsSelected :1; // support for old-style graphic controls
- // where control overlaps a bitmap
- UInt8 graphical :1; // set if images are used instead of text
- UInt8 vertical :1; // true for vertical sliders
- UInt8 reserved :5;
- }
- {$endif}
- end;
- ControlAttrTag = ControlAttrType;
- type
- controlStyles = Enum;
- const
- buttonCtl = 0;
- pushButtonCtl = Succ(buttonCtl);
- checkboxCtl = Succ(pushButtonCtl);
- popupTriggerCtl = Succ(checkboxCtl);
- selectorTriggerCtl = Succ(popupTriggerCtl);
- repeatingButtonCtl = Succ(selectorTriggerCtl);
- sliderCtl = Succ(repeatingButtonCtl);
- feedbackSliderCtl = Succ(sliderCtl);
- type
- ControlStyleType = controlStyles;
- type
- buttonFrames = Enum;
- const
- noButtonFrame = 0;
- standardButtonFrame = Succ(noButtonFrame);
- boldButtonFrame = Succ(standardButtonFrame);
- rectangleButtonFrame = Succ(boldButtonFrame);
- type
- ButtonFrameType = buttonFrames;
- type
- ControlType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_CONTROLS} // These fields will not be available in the next OS release!
- id: UInt16;
- bounds: RectangleType;
- text: PChar;
- attr: ControlAttrType;
- style: ControlStyleType;
- font: FontID;
- group: UInt8;
- reserved: UInt8;
- {$endif}
- end;
- ControlPtr = ^ControlType; // deprecated, use ControlType *
- // GraphicControlType *'s can be cast to ControlType *'s and passed to all
- // Control API functions (as long as the 'graphical' bit in the attrs is set)
- GraphicControlType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_CONTROLS} // These fields will not be available in the next OS release!
- id: UInt16;
- bounds: RectangleType;
- bitmapID: DmResID; // overlays text in ControlType
- selectedBitmapID: DmResID; // overlays text in ControlType
- attr: ControlAttrType;
- style: ControlStyleType;
- unused: FontID;
- group: UInt8;
- reserved: UInt8;
- {$endif}
- end;
- GraphicControlPtr = ^GraphicControlType;
- // SliderControlType *'s can be cast to ControlType *'s and passed to all
- // Control API functions (as long as the control style is a slider)
- SliderControlType = record
- {$ifdef ALLOW_ACCESS_TO_INTERNALS_OF_CONTROLS} // These fields will not be available in the next OS release!
- id: UInt16;
- bounds: RectangleType;
- thumbID: DmResID; // overlays text in ControlType
- backgroundID: DmResID; // overlays text in ControlType
- attr: ControlAttrType; // graphical *is* set
- style: ControlStyleType; // must be sliderCtl or repeatingSliderCtl
- reserved: UInt8;
- minValue: Int16;
- maxValue: Int16;
- pageSize: Int16;
- value: Int16;
- activeSliderP: MemPtr;
- {$endif}
- end;
- SliderControlPtr = ^SliderControlType;
- //----------------------------------------------------------
- // Control Functions
- //----------------------------------------------------------
- procedure CtlDrawControl(controlP: ControlPtr); syscall sysTrapCtlDrawControl;
- procedure CtlEraseControl(controlP: ControlPtr); syscall sysTrapCtlEraseControl;
- procedure CtlHideControl(controlP: ControlPtr); syscall sysTrapCtlHideControl;
- procedure CtlShowControl(controlP: ControlPtr); syscall sysTrapCtlShowControl;
- function CtlEnabled(const controlP: ControlPtr): Boolean; syscall sysTrapCtlEnabled;
- procedure CtlSetEnabled(controlP: ControlPtr; usable: Boolean); syscall sysTrapCtlSetEnabled;
- procedure CtlSetUsable(controlP: ControlPtr; usable: Boolean); syscall sysTrapCtlSetUsable;
- function CtlGetValue(const controlP: ControlPtr): Int16; syscall sysTrapCtlGetValue;
- procedure CtlSetValue(controlP: ControlPtr; newValue: Int16); syscall sysTrapCtlSetValue;
- function CtlGetLabel(const controlP: ControlPtr): PChar; syscall sysTrapCtlGetLabel;
- procedure CtlSetLabel(controlP: ControlPtr; const newLabel: PChar); syscall sysTrapCtlSetLabel;
- procedure CtlSetGraphics(ctlP: ControlPtr; newBitmapID, newSelectedBitmapID: DmResID); syscall sysTrapCtlSetGraphics;
- procedure CtlSetSliderValues(ctlP: ControlPtr; {const} var minValueP, maxValueP, pageSizeP, valueP: UInt16); syscall sysTrapCtlSetSliderValues;
- procedure CtlGetSliderValues(const ctlP: ControlPtr; var minValueP, maxValueP, pageSizeP, valueP: UInt16); syscall sysTrapCtlGetSliderValues;
- procedure CtlHitControl(const controlP: ControlPtr); syscall sysTrapCtlHitControl;
- type
- EventPtr = Pointer;
- function CtlHandleEvent(controlP: ControlPtr; pEvent: EventPtr): Boolean; syscall sysTrapCtlHandleEvent;
- function CtlValidatePointer(const controlP: ControlPtr): Boolean; syscall sysTrapCtlValidatePointer;
- function CtlNewControl(formPP: PointerPtr; ID: UInt16; style: ControlStyleType; const textP: PChar;
- x, y, width, height: Coord; font: FontID; group: UInt8; leftAnchor: Boolean): ControlPtr; syscall sysTrapCtlNewControl;
- function CtlNewGraphicControl(formPP: PointerPtr; ID: UInt16; style: ControlStyleType; bitmapID, selectedBitmapID: DmResID;
- x, y, width, height: Coord; group: UInt8; leftAnchor: Boolean): GraphicControlPtr; syscall sysTrapCtlNewGraphicControl;
- function CtlNewSliderControl(formPP: PointerPtr; ID: UInt16; style: ControlStyleType; thumbID, backgroundID: DmResID;
- x, y, width, height: Coord; minValue, maxValue, pageSize, value: UInt16): SliderControlPtr; syscall sysTrapCtlNewSliderControl;
- implementation
- end.
|