(*************************************************************************** $RCSfile: IntuiSup.mod $ Description: Interface to intuisup.library Created by: fjc (Frank Copeland) $Revision: 1.2 $ $Author: fjc $ $Date: 1994/05/12 17:40:12 $ Copyright © 1994, Frank Copeland. This file is part of the Oberon-A Library. See Oberon-A.doc for conditions of use and distribution. Log entries are at the end of the file. ***************************************************************************) MODULE IntuiSup; (* $P- allow non-portable code *) IMPORT T := Types, E := Exec, G := Graphics, DF := DiskFont, I := Intuition, SYS := SYSTEM; (* $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 *) Name * = "intuisup.library"; Version * = 4; (* Defines for render *) maxRenderImages = 11; rifInnerWindow * = 0; (* use upper left corner of inner window as location (0,0) *) rifBackFill * = 1; (* fill window back ground with different color *) rifAvailFonts * = 2; (* scan available fonts and use this list for IAskFont/IOpenFont *) TYPE RenderInfoPtr* = CPOINTER TO RenderInfo; RenderInfo* = RECORD riID * : LONGINT; (* id = 'ISUP' *) riScreen * : I.ScreenPtr; riScreenWidth * : T.UWORD; riScreenHeight * : T.UWORD; riScreenDepth * : SHORTINT; riWindowBorderTop * : SHORTINT; riWindowBorderLeft * : SHORTINT; riWindowBorderRight * : SHORTINT; riWindowBorderBottom * : SHORTINT; riHighlightPen * : SHORTINT; riShadowPen * : SHORTINT; riTextPen1 * : SHORTINT; riTextPen2 * : SHORTINT; riBackPen * : SHORTINT; riFlags * : T.WSET; riImageDataSize * : T.ULONG; riImageData * : T.APTR; riAvailFontsHeaderSize * : T.ULONG; riAvailFontsHeader * : DF.AvailFontsHeaderPtr; riTextFont * : G.TextFontPtr; riTextAttr * : G.TextAttr; riImages * : ARRAY maxRenderImages OF I.Image; END; (* RenderInfo *) CONST DataEnd * = 0; (* mark end of data arry *) iSupID * = 49535550H; (* "ISUP" *) (* Defines for open window flags *) owfCenterScreen * = 0; (* center window on screen *) owfRenderPens * = 1; (* use render pens for detail and backfill pen *) owfCenterMouse * = 2; (* center window over current position of mouse pointer *) (* Defines for clear window flags *) cwfCustomDrawMode * = 0; (* don't change draw mode *) cwfCustomColor * = 1; (* don't change background color *) cwfNormalColor * = 2; (* use normal background color *) cwfUseRaster * = 3; (* use standard raster for window background *) cwfAbsolutePos * = 4; (* don't add window border offset to given upper left position *) cwfText1Color * = 5; (* use text color 1 *) cwfText2Color * = 6; (* use text color 2 *) (* Defines for texts *) tdtText * = 1; tdtNumUnsignedDec * = 2; tdtNumSignedDec * = 3; tdtNumHex * = 4; tdtNumBin * = 5; tdfBold * = 0; tdfItalic * = 1; tdfUnderlined * = 2; tdfAbsolutePos * = 3; (* absolute text pos given - don't add border offsets *) tdfCenter * = 4; (* center text with in window width *) tdfPlaceLeft * = 5; (* place text left of given left edge *) tdfColor2 * = 6; (* use 2nd text render pen *) tdfComplement * = 7; (* use complement of front and back pen *) tdfBackFill * = 8; (* use draw mode JAM2 to fill text background with riBackPen *) tdfNoPrint * = 9; (* don't print text - only calc width *) tdfNumIdentifier * = 10; (* convert number with normal (assmebler style) leading identifier `$' or `%' *) tdfNumCStyle * = 11; (* use C style identifier `0x' for hex numbers *) tdfNumLeadingZeroes * = 12; (* convert number includeing leading zeroes *) tdfNumUpperCase * = 13; (* use upper case characters for hex number *) cfIdentifier * = 0; (* convert number with normal (assmebler style) leading identifier `$' or `%' *) cfCStyle * = 1; (* use C style identifier `0x' for hex numbers *) cfLeadingZeroes * = 2; (* convert number includeing leading zeroes *) cfUpperCase * = 3; (* use upper case characters for hex number *) TYPE (* Structures for texts *) TextDataPtr * = CPOINTER TO TextData; TextData * = RECORD tdType * : T.UWORD; tdFlags * : T.WSET; tdLeftEdge * : INTEGER; tdTopEdge * : INTEGER; tdText * : T.STRPTR; tdTextAttr * : G.TextAttrPtr; END; (* TextData *) CONST (* Defines for borders *) bdtBox1Out * = 1; bdtBox1In * = 2; bdtBox2Out * = 3; bdtBox2In * = 4; TYPE (* Structures for borders *) BorderDataPtr * = CPOINTER TO BorderData; BorderData * = RECORD bdType * : T.UWORD; bdLeftEdge * : INTEGER; bdTopEdge * : INTEGER; bdWidth * : T.UWORD; bdHeight * : T.UWORD; END; (* BorderData *) CONST (* Defines for gadgets *) gdtButton * = 1; (* button gadget *) gdtCheck * = 2; (* checkbox gadget *) gdtMX * = 3; (* mutual exclude gadget *) gdtString * = 4; (* string input gadget *) gdtInteger * = 5; (* integer input gadget *) gdtSlider * = 6; (* slider gadget *) gdtScroller * = 7; (* scroller gadget *) gdtCycle * = 8; (* cycle gadget *) gdtCount * = 9; (* count gadget *) gdtListView * = 10; (* list view gadget *) gdtPalette * = 11; (* palette gadget *) gdfDisabled * = 0; (* gadget disabled (ghosted) - default enabled *) gdfNoBorder * = 1; (* no gadget border - default with border *) gdfHighComp * = 2; (* highliting by complement - default by select border *) gdfOrientationVert * = 3; (* vertical orientation - default horizontal *) gdfHotKey * = 4; (* hotkey given - default none *) gdfNoTextOutput * = 5; (* no text output, but scan gadget text for hotkey *) gdfTextLeft * = 6; (* place text left of gadget *) gdfTextRight * = 7; (* place text right of gadget *) gdfTextAbove * = 8; (* place text above of gadget *) gdfTextBelow * = 9; (* place text below of gadget *) gdfTextColor2 * = 10; (* use 2nd text render pen for gadget text *) gdfButtonToggle * = 11; (* button gadgets: toggle button - default no toggle *) gdfButtonImage * = 12; (* button gadgets: render image - default no image *) gdfInputAutoActivate * = 13; (* input gadgets: acivate after GADGETUP next or previous input gadget *) gdfStringUnsignedDec * = 14; (* string gadgets: input default no pointer to string but an unsigned decimal number *) gdfStringSignedDec * = 15; (* string gadgets: input default no pointer to string but an signed decimal number *) gdfStringHex * = 16; (* string gadgets: input default no pointer to string but an hex number *) gdfStringBin * = 17; (* string gadgets: input default no pointer to string but an binary number *) gdfScrollerNoArrows * = 18; (* scroller gadget: no arrows - default with arrows *) gdfCountSignedDec * = 19; (* count gadget: signed dec - default unsigned dec *) gdfListviewReadOnly * = 20; (* list view gadget: read only - default selection enabled *) gdfListviewShowSelected * = 21; (* list view gadget: show last selected entry - default no *) gdfPaletteNoIndicator * = 22; (* palette gadget: no current color indicator - default with indicator *) gdfPaletteIndicatorTop * = 23; (* palette gadget: place indicator at top - default at left *) gdfMovePointer * = 24; (* move mouse pointer to center of this gadget *) gdfNoClear * = 25; (* don't clear area occupied by this gadget before drawing *) gdfSliderImage * = 26; (* kludge to define image for knob of proportional gadget in gdTextAttr (if text then default TextAttr used) *) gdfListviewEntryColor * = 27; (* list view gadget: if first char of an entry text equals ($01) then this char will be skipped and the rest of this entry text will be printed in a different color *) gdfInputCenter * = 28; (* input gadgets: center input string within gadget *) gdfInputRight * = 29; (* input gadgets: right justify input string within gadget *) gifButton * = { I.idcmpGadgetUp, I.idcmpRawKey }; gifCheck * = { I.idcmpGadgetDown, I.idcmpRawKey }; gifMX * = { I.idcmpGadgetDown, I.idcmpRawKey }; gifString * = { I.idcmpGadgetUp, I.idcmpRawKey }; gifInteger * = { I.idcmpGadgetUp, I.idcmpRawKey }; gifSlider * = { I.idcmpGadgetUp, I.idcmpMouseMove, I.idcmpRawKey }; gifScroller * = { I.idcmpGadgetDown, I.idcmpGadgetUp, I.idcmpMouseMove, I.idcmpIntuiTicks, I.idcmpRawKey }; gifCycle * = { I.idcmpGadgetUp, I.idcmpRawKey }; gifCount * = { I.idcmpGadgetDown, I.idcmpGadgetUp, I.idcmpMouseMove, I.idcmpRawKey }; gifListview * = { I.idcmpGadgetDown, I.idcmpGadgetUp, I.idcmpMouseMove, I.idcmpIntuiTicks, I.idcmpRawKey }; gifPalette * = { I.idcmpGadgetUp, I.idcmpRawKey }; gifAll * = { I.idcmpGadgetDown, I.idcmpGadgetUp, I.idcmpMouseMove, I.idcmpIntuiTicks, I.idcmpRawKey }; useCurrentValue * = 80000000H; (* used for setgadgetattributes() to indicate data for which to use the current value *) TYPE TextArrayPtr * = CPOINTER TO ARRAY 32767 OF T.STRPTR; (* Structures for gadgets *) GadgetDataPtr * = CPOINTER TO GadgetData; GadgetData * = RECORD gdType * : T.ULONG; gdFlags * : SET; gdLeftEdge * : T.UWORD; gdTopEdge * : T.UWORD; gdWidth * : T.UWORD; gdHeight * : T.UWORD; gdText * : T.STRPTR; gdTextAttr * : G.TextAttrPtr; END; (* GadgetData *) StandardDataPtr * = CPOINTER TO StandardData; StandardData * = RECORD (GadgetData) (* standard data struct *) gdData1 * : LONGINT; gdData2 * : LONGINT; gdData3 * : T.APTR; END; (* StandardData *) ButtonDataPtr * = CPOINTER TO ButtonData; ButtonData * = RECORD (GadgetData) (* for button gadgets *) gdButtonSelected * : T.ULONG; (* selection state for toggle buttons - ZERO * = unselected, non ZERO * = selected *) gdButtonNormalRender * : I.ImagePtr; (* normal render image *) gdButtonSelectRender * : I.ImagePtr; (* select render image *) END; (* ButtonData *) CheckDataPtr * = CPOINTER TO CheckData; CheckData * = RECORD (GadgetData) (* for check gadgets *) gdCheckSelected * : T.ULONG; (* selection state - ZERO * = unselected, non ZERO * = selected *) gdCheckPad1 * : T.ULONG; gdCheckPad2 * : T.ULONG; END; (* CheckData *) MXDataPtr * = CPOINTER TO MXData; MXData * = RECORD (GadgetData) (* for mutual exclude gadgets *) gdMXSpacing * : T.ULONG; (* pixel spacing between MX gadgets *) gdMXActiveEntry * : T.ULONG; (* num of active entry from text array *) gdMXTextArray * : TextArrayPtr; (* ptr to MX text ptr array *) END; (* MXData *) InputDataPtr * = CPOINTER TO InputData; InputData * = RECORD (GadgetData) (* for string and integer gadgets *) gdInputLen * : T.ULONG; (* len of input buffer *) gdInputActivateNext * : T.UWORD; (* num of next string/num gadget to activate *) gdInputActivatePrev * : T.UWORD; (* num of previous string/num gadget to activate *) gdInputDefault * : T.APTR; (* string: default text [syntax: "text"] *) (* integer: default number [syntax: (VOID * )num] *) END; (* InputData *) SliderDataPtr * = CPOINTER TO SliderData; SliderData * = RECORD (GadgetData) (* for slider gadgets *) gdSliderMin * : LONGINT; (* min level *) gdSliderMax * : LONGINT; (* max level *) gdSliderLevel * : LONGINT; (* current slider level *) END; (* SliderData *) ScrollerDataPtr * = CPOINTER TO ScrollerData; ScrollerData * = RECORD (GadgetData) (* for scroller gadgets *) gdScrollerVisible * : T.ULONG; (* visible entries *) gdScrollerTotal * : T.ULONG; (* total entries *) gdScrollerTop * : T.ULONG; (* current top entry *) END; (* ScrollerData *) CycleDataPtr * = CPOINTER TO CycleData; CycleData * = RECORD (GadgetData) (* for cycle gadget *) gdCycleSpacing * : T.ULONG; (* pixel spacing between pop up cycle list entries *) gdCycleActive * : T.ULONG; (* num of current cycle text ptr array entry *) gdCycleTextArray * : TextArrayPtr; (* ptr to cycle text ptr array *) END; (* CycleData *) CountDataPtr * = CPOINTER TO CountData; CountData * = RECORD (GadgetData) (* for count gadget *) gdCountMin * : T.ULONG; (* min value *) gdCountMax * : T.ULONG; (* max value *) gdCountValue * : T.ULONG; (* current count value *) END; (* CountData *) ListViewDataPtr * = CPOINTER TO ListViewData; ListViewData * = RECORD (GadgetData) (* for list view gadget *) gdListViewSpacing * : T.ULONG; (* pixel spacing between list view entries *) gdListViewTop * : T.ULONG; (* current top entry *) gdListViewList * : E.ListPtr; (* current list ptr *) END; (* ListViewData *) PaletteDataPtr * = CPOINTER TO PaletteData; PaletteData * = RECORD (GadgetData) (* for palette gadget *) gdPaletteDepth * : T.ULONG; (* num of bitplanes for palette *) gdPaletteColorOffset * : T.ULONG; (* first color of palette *) gdPaletteActiveColor * : T.ULONG; (* selected color *) END; (* SpecialData *) CONST (* Defines for auto request *) arfBackFill * = 0; arfRenderPens * = 1; arfTextCenter * = 2; arfTextColor2 * = 3; arfHotKey * = 4; arfBeep * = 5; arfMovePointerPos * = 6; arfMovePointerNeg * = 7; arfDrawRaster * = 8; (* draw raster around text area *) arfCenterMouse * = 9; (* center last gadget of auto requester over current position of mouse pointer *) (* Defines for requester *) rdfBackFill * = 0; rdfRenderPens * = 1; rdfInnerWindow * = 2; rdfAvailFonts * = 3; rdfCenterScreen * = 4; (* center requester on window's screen *) rdfDragGadget * = 5; rdfDepthGadget * = 6; rdfDrawRaster * = 7; (* draw raster between FIRST BORDER and window border - FIRST BORDER will not be used further *) rdfCenterWindow * = 8; (* center requester on window *) rdfCenterMouse * = 9; (* center requester over current position of mouse pointer *) TYPE (* Structures for requester *) RequesterListPtr * = CPOINTER TO RequesterList; RequesterList * = RECORD rlRenderInfo * : RenderInfoPtr; rlWindow * : I.WindowPtr; (* window requester displayed on *) rlReqWindow * : I.WindowPtr; (* window of requester *) rlGadgetList * : T.APTR; (* requester gadgets *) rlID * : LONGINT; (* id = 'ISUP' *) rlFlags * : SET; rlMouseX * : INTEGER; (* saved position of mouse pointer before displaying requester *) rlMouseY * : INTEGER; (* saved position of mouse pointer before displaying requester *) END; (* RequesterList *) RequesterDataPtr * = CPOINTER TO RequesterData; RequesterData * = RECORD rdLeftEdge * : INTEGER; rdTopEdge * : INTEGER; rdWidth * : INTEGER; rdHeight * : INTEGER; rdFlags * : SET; rdTitle * : T.STRPTR; rdTexts * : TextDataPtr; rdBorders * : BorderDataPtr; rdGadgets * : GadgetDataPtr; END; (* RequesterData *) CONST (* Defines for menus *) mdtTitle * = 1; mdtItem * = 2; mdtSubItem * = 3; mdfDisabled * = 0; (* disable menu or menu item *) mdfAttribute * = 1; (* attribute menu item *) mdfSelected * = 2; (* selected attribute menu item *) mdfEmptyLine * = 3; (* insert empty line before this item *) mdfHighNone * = 4; (* no highliting *) mdfHighBox * = 5; (* highliting with box, otherwise with complement *) mdfTextColor2 * = 6; (* alternate color for item text *) TYPE (* Structures for menus *) MenuDataPtr * = CPOINTER TO MenuData; MenuData * = RECORD mdType * : T.UWORD; mdFlags * : T.WSET; mdName * : T.STRPTR; mdCommandKey * : T.STRPTR; mdMutualExclude * : SET; END; (* MenuData *) CONST (* Defines for text file *) tffTrimLine * = 0; (* strip leading and trailing white space *) tffSkipComments * = 1; (* skip C style comments *) tffSkipEmptyLines * = 2; (* skip empty lines *) tffLineContinuation * = 3; (* continue line with last character '\' in next line *) tfsNormal * = 0; tfsEOF * = 1; tfeNoFileData * = -1; tfeLineTooLong * = -2; tfeNoCommentEnd * = -3; tfeReadFailed * = -4; TYPE (* Structures for text file *) FileDataPtr * = CPOINTER TO FileData; FileData * = RECORD fdLine * : T.STRPTR; fdLineLen * : T.UWORD; fdLineNum * : T.UWORD; END; (* FileData *) TYPE PtrData * = CPOINTER TO ARRAY 32767 OF INTEGER; (* Structures for mouse pointer *) PointerDataPtr * = CPOINTER TO PointerData; PointerData * = RECORD pdWidth * : T.UBYTE; pdHeight * : T.UBYTE; pdXOffset * : SHORTINT; pdYOffset * : SHORTINT; pdData * : PtrData; END; (* PointerData *) (* --- Library Base variable -------------------------------------------- *) TYPE IntuiSupBasePtr * = CPOINTER TO IntuiSupBase; IntuiSupBase * = RECORD (E.Library) END; VAR Base * : IntuiSupBasePtr; cleanup : PROCEDURE (rc : LONGINT); (* --- Library Functions ------------------------------------------------ *) LIBCALL (base : IntuiSupBasePtr) IGetRenderInfo * ( screen {8} : I.ScreenPtr; flags {0} : SET ) : RenderInfoPtr; -30; LIBCALL (base : IntuiSupBasePtr) IFreeRenderInfo * ( ri {8} : RenderInfoPtr ); -36; LIBCALL (base : IntuiSupBasePtr) IOpenWindow * ( ri {8} : RenderInfoPtr; VAR nw {9} : I.NewWindow; flags {0} : SET ) : I.WindowPtr; -42; LIBCALL (base : IntuiSupBasePtr) IClearWindow * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; leftedge {0} : T.UWORD; topedge {1} : T.UWORD; width {2} : T.UWORD; height {3} : T.UWORD; flags {4} : SET ); -48; LIBCALL (base : IntuiSupBasePtr) ICloseWindow * ( win {8} : I.WindowPtr; morewindows {0} : T.LBOOL ); -54; LIBCALL (base : IntuiSupBasePtr) IAvailFonts * ( ri {8} : RenderInfoPtr ) : DF.AvailFontsHeaderPtr; -60; LIBCALL (base : IntuiSupBasePtr) IAskFont * ( ri {8} : RenderInfoPtr; VAR ta {9} : G.TextAttr ) : G.TextAttrPtr; -66; LIBCALL (base : IntuiSupBasePtr) IOpenFont * ( ri {8} : RenderInfoPtr; VAR ta {9} : G.TextAttrPtr ) : G.TextFontPtr; -72; LIBCALL (base : IntuiSupBasePtr) IDisplayTexts * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; VAR td {10} : TextData; hoffset {0} : INTEGER; voffset {1} : INTEGER; languagetextarray {11} : TextArrayPtr ); -78; LIBCALL (base : IntuiSupBasePtr) IPrintText * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; VAR text {10} : ARRAY OF CHAR; leftedge {0} : T.UWORD; topedge {1} : T.UWORD; type {2} : T.UWORD; flags {3} : SET; textattr {11} : G.TextAttrPtr ) : T.UWORD; -84; LIBCALL (base : IntuiSupBasePtr) IConvertUnsignedDec * ( num {0} : T.ULONG; VAR buffer {8} : ARRAY OF CHAR; flags {1} : SET ) : T.UWORD; -90; LIBCALL (base : IntuiSupBasePtr) IConvertSignedDec * ( num {0} : LONGINT; VAR buffer {8} : ARRAY OF CHAR; flags {1} : SET ) : T.UWORD; -96; LIBCALL (base : IntuiSupBasePtr) IConvertHex * ( num {0} : T.ULONG; VAR buffer {8} : ARRAY OF CHAR; flags {1} : SET ) : T.UWORD; -102; LIBCALL (base : IntuiSupBasePtr) IConvertBin * ( num {0} : T.ULONG; VAR buffer {8} : ARRAY OF CHAR; flags {1} : SET ) : T.UWORD; -108; LIBCALL (base : IntuiSupBasePtr) IDisplayBorders * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; VAR bd {10} : BorderData; hoffset {0} : INTEGER; voffset {1} : INTEGER ); -114; LIBCALL (base : IntuiSupBasePtr) IDrawBorder * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; leftedge {0} : T.UWORD; topedge {1} : T.UWORD; width {2} : T.UWORD; height {3} : T.UWORD; type {4} : T.UWORD ); -120; LIBCALL (base : IntuiSupBasePtr) ICreateGadgets * ( ri {8} : RenderInfoPtr; VAR gd {9} : GadgetData; hoffset {0} : INTEGER; voffset {1} : INTEGER; languagetextarray {10} : TextArrayPtr ) : T.APTR; -126; LIBCALL (base : IntuiSupBasePtr) IFreeGadgets * ( gl {8} : T.APTR ); -132; LIBCALL (base : IntuiSupBasePtr) IDisplayGadgets * ( win {8} : I.WindowPtr; gl {9} : T.APTR ); -138; LIBCALL (base : IntuiSupBasePtr) IRefreshGadgets * ( gl {8} : T.APTR ); -144; LIBCALL (base : IntuiSupBasePtr) IModifyGadget * ( gl {8} : T.APTR; dataentry {0} : T.UWORD; leftedge {1} : LONGINT; topedge {2} : LONGINT; width {3} : T.ULONG; height {4} : T.ULONG ); -150; LIBCALL (base : IntuiSupBasePtr) ISetGadgetAttributes * ( gl {8} : T.APTR; dataentry {0} : T.UWORD; flagmask {1} : SET; flagbits {2} : SET; data1 {3} : SYS.LONGWORD; data2 {4} : SYS.LONGWORD; data3 {9} : SYS.LONGWORD ) : T.ULONG; -156; LIBCALL (base : IntuiSupBasePtr) IActivateInputGadget * ( gl {8} : T.APTR; dataentry {0} : T.UWORD ); -162; LIBCALL (base : IntuiSupBasePtr) IGadgetAddress * ( gl {8} : T.APTR; dataentry {0} : T.UWORD ) : I.GadgetPtr; -168; LIBCALL (base : IntuiSupBasePtr) IRemoveGadgets * ( gl {8} : T.APTR ) : I.WindowPtr; -174; LIBCALL (base : IntuiSupBasePtr) IGetMsg * ( VAR uport {8} : E.MsgPort ) : I.IntuiMessagePtr; -180; LIBCALL (base : IntuiSupBasePtr) IReplyMsg * ( imsg {8} : I.IntuiMessagePtr ); -186; LIBCALL (base : IntuiSupBasePtr) IConvertRawKeyToASCII * ( imsg {8} : I.IntuiMessagePtr ) : CHAR; -294; LIBCALL (base : IntuiSupBasePtr) IAutoRequest * ( reqwin {8} : I.WindowPtr; title {9} : T.STRPTR; bodytext {10} : ARRAY OF CHAR; postext {11} : T.STRPTR; negtext {0} : T.STRPTR; posidcmpflags {1} : SET; negidcmpflags {2} : SET; reqflags {3} : SET; languagetextarray {4} : TextArrayPtr ) : BOOLEAN; -192; LIBCALL (base : IntuiSupBasePtr) IDisplayRequester * ( reqwin {8} : I.WindowPtr; VAR rd {9} : RequesterData; languagetextarray {10} : TextArrayPtr ) : RequesterListPtr; -198; LIBCALL (base : IntuiSupBasePtr) IRemoveRequester * ( rl {8} : RequesterListPtr ); -204; LIBCALL (base : IntuiSupBasePtr) ICreateMenu * ( ri {8} : RenderInfoPtr; win {9} : I.WindowPtr; VAR md {10} : MenuData; ta {11} : G.TextAttrPtr; languagetextarray {0} : TextArrayPtr ) : T.APTR; -210; LIBCALL (base : IntuiSupBasePtr) IAttachMenu * ( win {8} : I.WindowPtr; ml {9} : T.APTR ); -216; LIBCALL (base : IntuiSupBasePtr) IMenuItemAddress * ( ml {8} : T.APTR; menunum {0} : T.UWORD ) : I.MenuItemPtr; -222; LIBCALL (base : IntuiSupBasePtr) IRemoveMenu * ( ml {8} : T.APTR ) : I.WindowPtr; -228; LIBCALL (base : IntuiSupBasePtr) IFreeMenu * ( ml {8} : T.APTR ); -234; LIBCALL (base : IntuiSupBasePtr) IOpenTextFile * ( name {8} : ARRAY OF CHAR; readbuffersize {0} : T.UWORD; linebuffersize {1} : T.UWORD; flags {2} : SET ) : FileDataPtr; -240; LIBCALL (base : IntuiSupBasePtr) IReadTextLine * ( fd {8} : FileDataPtr ) : INTEGER; -246; LIBCALL (base : IntuiSupBasePtr) ICloseTextFile * ( fd {8} : FileDataPtr ); -252; LIBCALL (base : IntuiSupBasePtr) IBuildLanguageTextArray * ( name {8} : ARRAY OF CHAR; entries {0} : T.UWORD ) : TextArrayPtr; -258; LIBCALL (base : IntuiSupBasePtr) IGetLanguageText * ( text {8} : ARRAY OF CHAR; textarray {9} : TextArrayPtr ) : T.STRPTR; -264; LIBCALL (base : IntuiSupBasePtr) IFreeLanguageTextArray * ( textarray {8} : TextArrayPtr ); -270; LIBCALL (base : IntuiSupBasePtr) IChangeMousePointer * ( win {8} : I.WindowPtr; pd {9} : PointerDataPtr; removegadgets {0} : T.LBOOL ); -276; LIBCALL (base : IntuiSupBasePtr) IRestoreMousePointer * ( win {8} : I.WindowPtr ); -282; LIBCALL (base : IntuiSupBasePtr) IMoveMousePointer * ( win {8} : I.WindowPtr; x {0} : INTEGER; y {1} : INTEGER; button {2} : T.LBOOL ); -288; (* --- C Macros defined as procedures ----------------------------------- *) (* $L+ Absolute long addressing for globals *) (*------------------------------------*) PROCEDURE InputAutoActivate * (next, prev : T.UWORD) : T.ULONG; (*InputAutoActivate(next,prev) * = ((((LONG)next) << 16) | prev) (* macro for (gdInputActivateNext | gdInpuActivatePrev) *)*) BEGIN (* InputAutoActivate *) RETURN (next * 10000H) + prev END InputAutoActivate; (* --- Library Base variable -------------------------------------------- *) (* $L- Address globals through A4 *) (*------------------------------------*) PROCEDURE* CloseLib (rc : LONGINT); BEGIN (* CloseLib *) IF Base # NIL THEN E.Base.CloseLibrary (Base) END; IF cleanup # NIL THEN cleanup (rc) END END CloseLib; (*------------------------------------*) PROCEDURE OpenLib * (); BEGIN (* OpenLib *) IF Base = NIL THEN Base := E.Base.OpenLibrary (Name, Version); IF Base = NIL THEN HALT (100) END; SYS.SETCLEANUP (CloseLib, cleanup) END; END OpenLib; BEGIN Base := NIL; cleanup := NIL END IntuiSup. (*************************************************************************** $Log: IntuiSup.mod $ Revision 1.2 1994/05/12 17:40:12 fjc - Prepared for release Revision 1.1 1994/01/15 17:45:22 fjc - Start of revision control ***************************************************************************)