home *** CD-ROM | disk | FTP | other *** search
Wrap
(************************************************************************* $RCSfile: IntuiSup.mod $ Description: Interface to intuisup.library Created by: fjc (Frank Copeland) $Revision: 2.11 $ $Author: fjc $ $Date: 1995/06/04 23:11:42 $ Copyright © 1994-1995, Frank Copeland. This file is part of the Oberon-A Library. See Oberon-A.doc for conditions of use and distribution. *************************************************************************) <* STANDARD- *> MODULE [2] IntuiSup; IMPORT SYS := SYSTEM, Kernel, e := Exec, gfx := Graphics, df := DiskFont, i := Intuition, s := Sets; (* $Revision Header *** Header built automatically - do not edit! *********** * * (C) Copyright 1991 by Torsten Jürgeleit * * Name .....: intuisup.h * Created ..: Sunday 22-Dec-91 20:34:40 * Revision .: 14 * * Date Author Comment * ========= ==================== ==================== * 08-Aug-92 Torsten Jürgeleit new flags * gadgetDataFlagInputCENTER/RIGHT * 06-Aug-92 Torsten Jürgeleit new flag * gadgetDataFlagListviewEntryCOLOR * 28-Jul-92 Torsten Jürgeleit different centering types for * requesters * 28-Jul-92 Torsten Jürgeleit open window centered over position * of mouse pointer * 11-Jul-92 Torsten Jürgeleit use RAWKEY instead of VANILLAKEY * for gadget hotkeys * 01-Jul-92 Torsten Jürgeleit added support for custom slider * knob image * 21-Jun-92 Torsten Jürgeleit check for compiler and define * differences * 03-Jun-92 Torsten Jürgeleit alternate color for menu item texts * 14-Apr-92 Torsten Jürgeleit neq flag gadgetDataFlagNoCLEAR * 12-May-92 Torsten Jürgeleit text colors for IClearWindow() * 30-Apr-92 Torsten Jürgeleit rasters for IClearWindow() and * requesters * 01-Apr-92 Torsten Jürgeleit changed parameter size of * IModifyGadget() for new value of * useCurrentValue 31 * 31-Mar-92 Torsten Jürgeleit changed useCurrentValue from ~0L * to 31 * 21-Mar-92 Torsten Jürgeleit flags for converting numbers with * string gadgets * 22-Dec-91 Torsten Jürgeleit Created this file! * **************************************************************************** * * Includes, defines, structures, prototypes and pragmas for IntuiSup * library * * $Revision Header ********************************************************) CONST (* Defines for library *) intuisupName * = "intuisup.library"; version * = 4; (* Defines for render *) maxRenderImages = 11; riInnerWindow * = 0; (* use upper left corner of inner window as location (0,0) *) riBackFill * = 1; (* fill window back ground with different color *) riAvailFonts * = 2; (* scan available fonts and use this list for IAskFont/IOpenFont *) TYPE RenderInfoPtr* = POINTER TO RenderInfo; RenderInfo* = RECORD id * : LONGINT; (* id = 'ISUP' *) screen * : i.ScreenPtr; screenWidth * : e.UWORD; screenHeight * : e.UWORD; screenDepth * : SHORTINT; windowBorderTop * : SHORTINT; windowBorderLeft * : SHORTINT; windowBorderRight * : SHORTINT; windowBorderBottom * : SHORTINT; highlightPen * : SHORTINT; shadowPen * : SHORTINT; textPen1 * : SHORTINT; textPen2 * : SHORTINT; backPen * : SHORTINT; flags * : s.SET16; imageDataSize * : e.ULONG; imageData * : e.APTR; availFontsHeaderSize * : e.ULONG; availFontsHeader * : df.AvailFontsHeaderPtr; textFont * : gfx.TextFontPtr; textAttr * : gfx.TextAttr; images * : ARRAY maxRenderImages OF i.Image; END; (* RenderInfo *) CONST dataEnd * = 0; (* mark end of data arry *) id * = 49535550H; (* "ISUP" *) (* Defines for open window flags *) owCenterScreen * = 0; (* center window on screen *) owRenderPens * = 1; (* use render pens for detail and backfill pen *) owCenterMouse * = 2; (* center window over current position of mouse pointer *) (* Defines for clear window flags *) cwCustomDrawMode * = 0; (* don't change draw mode *) cwCustomColor * = 1; (* don't change background color *) cwNormalColor * = 2; (* use normal background color *) cwUseRaster * = 3; (* use standard raster for window background *) cwAbsolutePos * = 4; (* don't add window border offset to given upper left position *) cwText1Color * = 5; (* use text color 1 *) cwText2Color * = 6; (* use text color 2 *) (* Defines for texts *) text * = 1; numUnsignedDec * = 2; numSignedDec * = 3; numHex * = 4; numBin * = 5; tdBold * = 0; tdItalic * = 1; tdUnderlined * = 2; tdAbsolutePos * = 3; (* absolute text pos given - don't add border offsets *) tdCenter * = 4; (* center text with in window width *) tdPlaceLeft * = 5; (* place text left of given left edge *) tdColor2 * = 6; (* use 2nd text render pen *) tdComplement * = 7; (* use complement of front and back pen *) tdBackFill * = 8; (* use draw mode JAM2 to fill text background with riBackPen *) tdNoPrint * = 9; (* don't print text - only calc width *) tdNumIdentifier * = 10; (* convert number with normal (assmebler style) leading identifier `$' or `%' *) tdNumCStyle * = 11; (* use C style identifier `0x' for hex numbers *) tdNumLeadingZeroes * = 12; (* convert number includeing leading zeroes *) tdNumUpperCase * = 13; (* use upper case characters for hex number *) cIdentifier * = 0; (* convert number with normal (assmebler style) leading identifier `$' or `%' *) cCStyle * = 1; (* use C style identifier `0x' for hex numbers *) cLeadingZeroes * = 2; (* convert number includeing leading zeroes *) cUpperCase * = 3; (* use upper case characters for hex number *) TYPE (* Structures for texts *) TextDataPtr * = POINTER TO TextData; TextData * = RECORD type * : e.UWORD; flags * : s.SET16; leftEdge * : INTEGER; topEdge * : INTEGER; text * : e.LSTRPTR; textAttr * : gfx.TextAttrPtr; END; (* TextData *) TextDataListPtr * = POINTER TO ARRAY 32767 OF TextData; CONST (* Defines for borders *) box1Out * = 1; box1In * = 2; box2Out * = 3; box2In * = 4; TYPE (* Structures for borders *) BorderDataPtr * = POINTER TO BorderData; BorderData * = RECORD type * : e.UWORD; leftEdge * : INTEGER; topEdge * : INTEGER; width * : e.UWORD; height * : e.UWORD; END; (* BorderData *) BorderDataListPtr * = POINTER TO ARRAY 32767 OF BorderData; CONST (* Defines for gadgets *) button * = 1; (* button gadget *) check * = 2; (* checkbox gadget *) mx * = 3; (* mutual exclude gadget *) string * = 4; (* string input gadget *) integer * = 5; (* integer input gadget *) slider * = 6; (* slider gadget *) scroller * = 7; (* scroller gadget *) cycle * = 8; (* cycle gadget *) count * = 9; (* count gadget *) listView * = 10; (* list view gadget *) palette * = 11; (* palette gadget *) gdDisabled * = 0; (* gadget disabled (ghosted) - default enabled *) gdNoBorder * = 1; (* no gadget border - default with border *) gdHighComp * = 2; (* highliting by complement - default by select border *) gdOrientationVert * = 3; (* vertical orientation - default horizontal *) gdHotKey * = 4; (* hotkey given - default none *) gdNoTextOutput * = 5; (* no text output, but scan gadget text for hotkey *) gdTextLeft * = 6; (* place text left of gadget *) gdTextRight * = 7; (* place text right of gadget *) gdTextAbove * = 8; (* place text above of gadget *) gdTextBelow * = 9; (* place text below of gadget *) gdTextColor2 * = 10; (* use 2nd text render pen for gadget text *) gdButtonToggle * = 11; (* button gadgets: toggle button - default no toggle *) gdButtonImage * = 12; (* button gadgets: render image - default no image *) gdInputAutoActivate * = 13; (* input gadgets: acivate after GADGETUP next or previous input gadget *) gdStringUnsignedDec * = 14; (* string gadgets: input default no pointer to string but an unsigned decimal number *) gdStringSignedDec * = 15; (* string gadgets: input default no pointer to string but an signed decimal number *) gdStringHex * = 16; (* string gadgets: input default no pointer to string but an hex number *) gdStringBin * = 17; (* string gadgets: input default no pointer to string but an binary number *) gdScrollerNoArrows * = 18; (* scroller gadget: no arrows - default with arrows *) gdCountSignedDec * = 19; (* count gadget: signed dec - default unsigned dec *) gdListviewReadOnly * = 20; (* list view gadget: read only - default selection enabled *) gdListviewShowSelected * = 21; (* list view gadget: show last selected entry - default no *) gdPaletteNoIndicator * = 22; (* palette gadget: no current color indicator - default with indicator *) gdPaletteIndicatorTop * = 23; (* palette gadget: place indicator at top - default at left *) gdMovePointer * = 24; (* move mouse pointer to center of this gadget *) gdNoClear * = 25; (* don't clear area occupied by this gadget before drawing *) gdSliderImage * = 26; (* kludge to define image for knob of proportional gadget in gdTextAttr (if text then default TextAttr used) *) gdListviewEntryColor * = 27; (* list view gadget: if first char of an entry text equals <Ctrl A> ($01) then this char will be skipped and the rest of this entry text will be printed in a different color *) gdInputCenter * = 28; (* input gadgets: center input string within gadget *) gdInputRight * = 29; (* input gadgets: right justify input string within gadget *) giButton * = { i.gadgetUp, i.rawKey }; giCheck * = { i.gadgetDown, i.rawKey }; giMX * = { i.gadgetDown, i.rawKey }; giString * = { i.gadgetUp, i.rawKey }; giInteger * = { i.gadgetUp, i.rawKey }; giSlider * = { i.gadgetUp, i.mouseMove, i.rawKey }; giScroller * = { i.gadgetDown, i.gadgetUp, i.mouseMove, i.intuiTicks, i.rawKey }; giCycle * = { i.gadgetUp, i.rawKey }; giCount * = { i.gadgetDown, i.gadgetUp, i.mouseMove, i.rawKey }; giListview * = { i.gadgetDown, i.gadgetUp, i.mouseMove, i.intuiTicks, i.rawKey }; giPalette * = { i.gadgetUp, i.rawKey }; giAll * = { i.gadgetDown, i.gadgetUp, i.mouseMove, i.intuiTicks, i.rawKey }; useCurrentValue * = 80000000H; (* used for setgadgetattributes() to indicate data for which to use the current value *) TYPE GadgetList * = POINTER TO RECORD END; TextArrayPtr * = POINTER TO ARRAY 32767 OF e.LSTRPTR; (* Structures for gadgets *) GadgetDataPtr * = POINTER TO GadgetData; GadgetData * = RECORD type * : e.ULONG; flags * : s.SET32; leftEdge * : e.UWORD; topEdge * : e.UWORD; width * : e.UWORD; height * : e.UWORD; text * : e.LSTRPTR; textAttr * : gfx.TextAttrPtr; END; (* GadgetData *) StandardDataPtr * = POINTER TO StandardData; StandardData * = RECORD (GadgetData) (* standard data struct *) data1 * : LONGINT; data2 * : LONGINT; data3 * : e.APTR; END; (* StandardData *) ButtonDataPtr * = POINTER TO ButtonData; ButtonData * = RECORD (GadgetData) (* for button gadgets *) selected * : e.ULONG; (* selection state for toggle buttons - ZERO * = unselected, non ZERO * = selected *) normalRender * : i.ImagePtr; (* normal render image *) selectRender * : i.ImagePtr; (* select render image *) END; (* ButtonData *) CheckDataPtr * = POINTER TO CheckData; CheckData * = RECORD (GadgetData) (* for check gadgets *) selected * : e.ULONG; (* selection state - ZERO * = unselected, non ZERO * = selected *) pad1 * : e.ULONG; pad2 * : e.ULONG; END; (* CheckData *) MXDataPtr * = POINTER TO MXData; MXData * = RECORD (GadgetData) (* for mutual exclude gadgets *) spacing * : e.ULONG; (* pixel spacing between MX gadgets *) activeEntry * : e.ULONG; (* num of active entry from text array *) textArray * : TextArrayPtr; (* ptr to MX text ptr array *) END; (* MXData *) InputDataPtr * = POINTER TO InputData; InputData * = RECORD (GadgetData) (* for string and integer gadgets *) len * : e.ULONG; (* len of input buffer *) activateNext * : e.UWORD; (* num of next string/num gadget to activate *) activatePrev * : e.UWORD; (* num of previous string/num gadget to activate *) default * : e.APTR; (* string: default text [syntax: "text"] *) (* integer: default number [syntax: (VOID * )num] *) END; (* InputData *) SliderDataPtr * = POINTER TO SliderData; SliderData * = RECORD (GadgetData) (* for slider gadgets *) min * : LONGINT; (* min level *) max * : LONGINT; (* max level *) level * : LONGINT; (* current slider level *) END; (* SliderData *) ScrollerDataPtr * = POINTER TO ScrollerData; ScrollerData * = RECORD (GadgetData) (* for scroller gadgets *) visible * : e.ULONG; (* visible entries *) total * : e.ULONG; (* total entries *) top * : e.ULONG; (* current top entry *) END; (* ScrollerData *) CycleDataPtr * = POINTER TO CycleData; CycleData * = RECORD (GadgetData) (* for cycle gadget *) spacing * : e.ULONG; (* pixel spacing between pop up cycle list entries *) active * : e.ULONG; (* num of current cycle text ptr array entry *) textArray * : TextArrayPtr; (* ptr to cycle text ptr array *) END; (* CycleData *) CountDataPtr * = POINTER TO CountData; CountData * = RECORD (GadgetData) (* for count gadget *) min * : e.ULONG; (* min value *) max * : e.ULONG; (* max value *) value * : e.ULONG; (* current count value *) END; (* CountData *) ListViewDataPtr * = POINTER TO ListViewData; ListViewData * = RECORD (GadgetData) (* for list view gadget *) spacing * : e.ULONG; (* pixel spacing between list view entries *) top * : e.ULONG; (* current top entry *) list * : e.ListPtr; (* current list ptr *) END; (* ListViewData *) PaletteDataPtr * = POINTER TO PaletteData; PaletteData * = RECORD (GadgetData) (* for palette gadget *) depth * : e.ULONG; (* num of bitplanes for palette *) colorOffset * : e.ULONG; (* first color of palette *) activeColor * : e.ULONG; (* selected color *) END; (* SpecialData *) CONST (* Defines for auto request *) arBackFill * = 0; arRenderPens * = 1; arTextCenter * = 2; arTextColor2 * = 3; arHotKey * = 4; arBeep * = 5; arMovePointerPos * = 6; arMovePointerNeg * = 7; arDrawRaster * = 8; (* draw raster around text area *) arCenterMouse * = 9; (* center last gadget of auto requester over current position of mouse pointer *) (* Defines for requester *) rdBackFill * = 0; rdRenderPens * = 1; rdInnerWindow * = 2; rdAvailFonts * = 3; rdCenterScreen * = 4; (* center requester on window's screen *) rdDragGadget * = 5; rdDepthGadget * = 6; rdDrawRaster * = 7; (* draw raster between FIRST BORDER and window border - FIRST BORDER will not be used further *) rdCenterWindow * = 8; (* center requester on window *) rdCenterMouse * = 9; (* center requester over current position of mouse pointer *) TYPE (* Structures for requester *) RequesterListPtr * = POINTER TO RequesterList; RequesterList * = RECORD renderInfo * : RenderInfoPtr; window * : i.WindowPtr; (* window requester displayed on *) reqWindow * : i.WindowPtr; (* window of requester *) gadgetList * : GadgetList; (* requester gadgets *) id * : LONGINT; (* id = 'ISUP' *) flags * : s.SET32; mouseX * : INTEGER; (* saved position of mouse pointer before displaying requester *) mouseY * : INTEGER; (* saved position of mouse pointer before displaying requester *) END; (* RequesterList *) RequesterDataPtr * = POINTER TO RequesterData; RequesterData * = RECORD leftEdge * : INTEGER; topEdge * : INTEGER; width * : INTEGER; height * : INTEGER; flags * : s.SET32; title * : e.LSTRPTR; texts * : TextDataPtr; borders * : BorderDataPtr; gadgets * : GadgetDataPtr; END; (* RequesterData *) CONST (* Defines for menus *) title * = 1; item * = 2; subItem * = 3; mdDisabled * = 0; (* disable menu or menu item *) mdAttribute * = 1; (* attribute menu item *) mdSelected * = 2; (* selected attribute menu item *) mdEmptyLine * = 3; (* insert empty line before this item *) mdHighNone * = 4; (* no highliting *) mdHighBox * = 5; (* highliting with box, otherwise with complement *) mdTextColor2 * = 6; (* alternate color for item text *) TYPE MenuList * = POINTER TO RECORD END; (* Structures for menus *) MenuDataPtr * = POINTER TO MenuData; MenuData * = RECORD type * : e.UWORD; flags * : s.SET16; name * : e.LSTRPTR; commandKey * : e.LSTRPTR; mutualExclude * : s.SET32; END; (* MenuData *) MenuDataListPtr * = POINTER TO ARRAY 32767 OF MenuData; CONST (* Defines for text file *) tfTrimLine * = 0; (* strip leading and trailing white space *) tfSkipComments * = 1; (* skip C style comments *) tfSkipEmptyLines * = 2; (* skip empty lines *) tfLineContinuation * = 3; (* continue line with last character '\' in next line *) normal * = 0; eof * = 1; noFileData * = -1; lineTooLong * = -2; noCommentEnd * = -3; readFailed * = -4; TYPE (* Structures for text file *) FileDataPtr * = POINTER TO FileData; FileData * = RECORD line * : e.LSTRPTR; lineLen * : e.UWORD; lineNum * : e.UWORD; END; (* FileData *) TYPE PtrData * = POINTER TO ARRAY 32767 OF INTEGER; (* Structures for mouse pointer *) PointerDataPtr * = POINTER TO PointerData; PointerData * = RECORD width * : e.UBYTE; height * : e.UBYTE; xOffset * : SHORTINT; yOffset * : SHORTINT; data * : PtrData; END; (* PointerData *) (* --- Library Base variable -------------------------------------------- *) VAR base * : e.LibraryPtr; (* --- Library Functions ------------------------------------------------ *) PROCEDURE GetRenderInfo* [base,-30] ( screen [8] : i.ScreenPtr; flags [0] : s.SET32 ) : RenderInfoPtr; PROCEDURE FreeRenderInfo* [base,-36] ( ri [8] : RenderInfoPtr ); PROCEDURE OpenWindow* [base,-42] ( ri [8] : RenderInfoPtr; VAR nw [9] : i.NewWindowBase; flags [0] : s.SET32 ) : i.WindowPtr; PROCEDURE ClearWindow* [base,-48] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; leftedge [0] : e.UWORD; topedge [1] : e.UWORD; width [2] : e.UWORD; height [3] : e.UWORD; flags [4] : s.SET32 ); PROCEDURE CloseWindow* [base,-54] ( win [8] : i.WindowPtr; morewindows [0] : e.LBOOL ); PROCEDURE AvailFonts* [base,-60] ( ri [8] : RenderInfoPtr ) : df.AvailFontsHeaderPtr; PROCEDURE AskFont* [base,-66] ( ri [8] : RenderInfoPtr; VAR ta [9] : gfx.TextAttr ) : gfx.TextAttrPtr; PROCEDURE OpenFont* [base,-72] ( ri [8] : RenderInfoPtr; VAR ta [9] : gfx.TextAttrPtr ) : gfx.TextFontPtr; PROCEDURE DisplayTextsA* [base,-78] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; td [10] : ARRAY OF TextData; hoffset [0] : INTEGER; voffset [1] : INTEGER; lta [11] : TextArrayPtr ); PROCEDURE DisplayTextsPtr* [base,-78] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; td [10] : TextDataListPtr; hoffset [0] : INTEGER; voffset [1] : INTEGER; lta [11] : TextArrayPtr ); PROCEDURE PrintText* [base,-84] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; text [10] : ARRAY OF CHAR; leftedge [0] : e.UWORD; topedge [1] : e.UWORD; type [2] : e.UWORD; flags [3] : s.SET32; textattr [11] : gfx.TextAttrPtr ) : e.UWORD; PROCEDURE ConvertUnsignedDec* [base,-90] ( num [0] : e.ULONG; VAR buffer [8] : ARRAY OF CHAR; flags [1] : s.SET32 ) : e.UWORD; PROCEDURE ConvertSignedDec* [base,-96] ( num [0] : LONGINT; VAR buffer [8] : ARRAY OF CHAR; flags [1] : s.SET32 ) : e.UWORD; PROCEDURE ConvertHex* [base,-102] ( num [0] : e.ULONG; VAR buffer [8] : ARRAY OF CHAR; flags [1] : s.SET32 ) : e.UWORD; PROCEDURE ConvertBin* [base,-108] ( num [0] : e.ULONG; VAR buffer [8] : ARRAY OF CHAR; flags [1] : s.SET32 ) : e.UWORD; PROCEDURE DisplayBordersA* [base,-114] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; bd [10] : ARRAY OF BorderData; hoffset [0] : INTEGER; voffset [1] : INTEGER ); PROCEDURE DisplayBordersPtr* [base,-114] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; bd [10] : BorderDataListPtr; hoffset [0] : INTEGER; voffset [1] : INTEGER ); PROCEDURE DrawBorder* [base,-120] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; leftedge [0] : e.UWORD; topedge [1] : e.UWORD; width [2] : e.UWORD; height [3] : e.UWORD; type [4] : e.UWORD ); PROCEDURE CreateGadgets* [base,-126] ( ri [8] : RenderInfoPtr; VAR gd [9] : GadgetData; hoffset [0] : INTEGER; voffset [1] : INTEGER; lta [10] : TextArrayPtr ) : GadgetList; PROCEDURE FreeGadgets* [base,-132] ( gl [8] : GadgetList ); PROCEDURE DisplayGadgets* [base,-138] ( win [8] : i.WindowPtr; gl [9] : GadgetList ); PROCEDURE RefreshGadgets* [base,-144] ( gl [8] : GadgetList ); PROCEDURE ModifyGadget* [base,-150] ( gl [8] : GadgetList; dataentry [0] : e.UWORD; leftedge [1] : LONGINT; topedge [2] : LONGINT; width [3] : e.ULONG; height [4] : e.ULONG ); PROCEDURE SetGadgetAttributes* [base,-156] ( gl [8] : GadgetList; dataentry [0] : e.UWORD; flagmask [1] : s.SET32; flagbits [2] : s.SET32; data1 [3] : SYS.LONGWORD; data2 [4] : SYS.LONGWORD; data3 [9] : SYS.LONGWORD ) : e.ULONG; PROCEDURE ActivateInputGadget* [base,-162] ( gl [8] : GadgetList; dataentry [0] : e.UWORD ); PROCEDURE GadgetAddress* [base,-168] ( gl [8] : GadgetList; dataentry [0] : e.UWORD ) : i.GadgetPtr; PROCEDURE RemoveGadgets* [base,-174] ( gl [8] : GadgetList ) : i.WindowPtr; PROCEDURE GetMsg* [base,-180] ( uport [8] : e.MsgPortPtr ) : i.IntuiMessagePtr; PROCEDURE ReplyMsg* [base,-186] ( imsg [8] : i.IntuiMessagePtr ); PROCEDURE ConvertRawKeyToASCII* [base,-294] ( imsg [8] : i.IntuiMessagePtr ) : CHAR; PROCEDURE AutoRequest* [base,-192] ( reqwin [8] : i.WindowPtr; title [9] : e.LSTRPTR; bodytext [10] : ARRAY OF CHAR; postext [11] : e.LSTRPTR; negtext [0] : e.LSTRPTR; posidcmpflags [1] : s.SET32; negidcmpflags [2] : s.SET32; reqflags [3] : s.SET32; lta [4] : TextArrayPtr ) : BOOLEAN; PROCEDURE DisplayRequester* [base,-198] ( reqwin [8] : i.WindowPtr; VAR rd [9] : RequesterData; lta [10] : TextArrayPtr ) : RequesterListPtr; PROCEDURE RemoveRequester* [base,-204] ( rl [8] : RequesterListPtr ); PROCEDURE CreateMenuA* [base,-210] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; md [10] : ARRAY OF MenuData; ta [11] : gfx.TextAttrPtr; lta [0] : TextArrayPtr ) : MenuList; PROCEDURE CreateMenu* [base,-210] ( ri [8] : RenderInfoPtr; win [9] : i.WindowPtr; md [10] : MenuDataListPtr; ta [11] : gfx.TextAttrPtr; lta [0] : TextArrayPtr ) : MenuList; PROCEDURE AttachMenu* [base,-216] ( win [8] : i.WindowPtr; ml [9] : MenuList ); PROCEDURE MenuItemAddress* [base,-222] ( ml [8] : MenuList; menunum [0] : e.UWORD ) : i.MenuItemPtr; PROCEDURE RemoveMenu* [base,-228] ( ml [8] : MenuList ) : i.WindowPtr; PROCEDURE FreeMenu* [base,-234] ( ml [8] : MenuList ); PROCEDURE OpenTextFile* [base,-240] ( name [8] : ARRAY OF CHAR; readbuffersize [0] : e.UWORD; linebuffersize [1] : e.UWORD; flags [2] : s.SET32 ) : FileDataPtr; PROCEDURE ReadTextLine* [base,-246] ( fd [8] : FileDataPtr ) : INTEGER; PROCEDURE CloseTextFile* [base,-252] ( fd [8] : FileDataPtr ); PROCEDURE BuildLanguageTextArray* [base,-258] ( name [8] : ARRAY OF CHAR; entries [0] : e.UWORD ) : TextArrayPtr; PROCEDURE GetLanguageText* [base,-264] ( text [8] : ARRAY OF CHAR; textarray [9] : TextArrayPtr ) : e.LSTRPTR; PROCEDURE FreeLanguageTextArray* [base,-270] ( textarray [8] : TextArrayPtr ); PROCEDURE ChangeMousePointer* [base,-276] ( win [8] : i.WindowPtr; VAR pd [9] : PointerData; removegadgets [0] : e.LBOOL ); PROCEDURE ChangeMousePointerPtr* [base,-276] ( win [8] : i.WindowPtr; pd [9] : PointerDataPtr; removegadgets [0] : e.LBOOL ); PROCEDURE RestoreMousePointer* [base,-282] ( win [8] : i.WindowPtr ); PROCEDURE MoveMousePointer* [base,-288] ( win [8] : i.WindowPtr; x [0] : INTEGER; y [1] : INTEGER; button [2] : e.LBOOL ); (* --- C Macros defined as procedures ----------------------------------- *) <*$LongVars+*> (*------------------------------------*) PROCEDURE [0] InputAutoActivate * (next, prev : e.UWORD) : e.ULONG; (*InputAutoActivate(next,prev) * = ((((LONG)next) << 16) | prev) (* macro for (gdInputActivateNext | gdInpuActivatePrev) *)*) BEGIN (* InputAutoActivate *) RETURN (next * 10000H) + prev END InputAutoActivate; (* --- Library Base variable -------------------------------------------- *) <*$LongVars-*> (*------------------------------------*) PROCEDURE* [0] CloseLib (VAR rc : LONGINT); BEGIN (* CloseLib *) IF base # NIL THEN e.CloseLibrary (base) END; END CloseLib; BEGIN base := e.OpenLibrary (intuisupName, version); IF base # NIL THEN Kernel.SetCleanup (CloseLib) END END IntuiSup.