@DATABASE "OS_DevKit Extension" @INDEX "os_index.guide/main" @AUTHOR "Fromentin BRICE & Jens Vang Petersen" @node MAIN "OS_DevKit, intuition.library support" @toc "os_Documentation.guide/main" ___________ ___________ / /\ / /\ OS-DevKit Extension / ___ / // _______/ / Additional power for AMOS Pro V2.00+ / /\_/ / // /\_____ \/ / / // / // /\ Written by: / / // / //______ / / Fromentin BRICE / /_// / /_\_____/ / / / / // / / /__________/ //__________/ / This section of the guides by: \__________\/ \__________\/ Jens Vang Petersen @{b}@{u}Easy2use support of 'intuition.library'@{uu}@{ub} @{" WINDOWS " link "WIND"} @{" SCREENS " link "SCRE"} @endnode @node WIND "OS_DevKit, intuition.library-windows support" @toc "MAIN" ___________ ___________ / /\ / /\ OS-DevKit Extension / ___ / // _______/ / Additional power for AMOS Pro V2.00+ / /\_/ / // /\_____ \/ / / // / // /\ Written by: / / // / //______ / / Fromentin BRICE / /_// / /_\_____/ / / / / // / / /__________/ //__________/ / This section of the guides by: \__________\/ \__________\/ Jens Vang Petersen @{b}@{u}Easy2use support of 'intuition.library'@{uu}@{ub} @{b}@{u}Windows@{uu}@{ub} @{u}General Window-control@{uu} @{" _wnd Id Open " link "_wnd Id Open"} Open a simple window.. @{" _wnd Id Tag Open " link "_wnd Id Tag Open"} Open a window from a Tag-list.. @{" _wnd Id Close " link "_wnd Id Close"} Close a window.. @{" _wnd Id Base " link "_wnd Id Base"} Get address of window-struvture.. @{" _wnd Id Lock " link "_wnd Id Lock"} Block a window.. @{" _wnd Id Unlock " link "_wnd Id Unlock"} Remove a blocking.. @{" _wnd Id Use " link "_wnd Id Use"} Select window for operations.. @{" _wnd Id In Use " link "_wnd Id In Use"} Identify window for operations.. @{" _wnd Id Activate " link "_wnd Id Activate"} Activate a window.. @{" _wnd Id Limits " link "_wnd Id Limits"} Set the allowed sizes for a window.. @{" _wnd Id Move " link "_wnd Id Move"} Move a window.. @{" _wnd Id Size " link "_wnd Id Size"} Resize a window.. @{" _wnd Id Box " link "_wnd Id Box"} ?? @{" _wnd Id Titles " link "_wnd Id Titles"} Set the titles of a window.. @{u}There's a mouse in here@{uu} @{" _wnd Id Mouse " link "_wnd Id Mouse"} Set 'the look' of the mouse.. @{" _wnd Id Set Mouse Pos " link "_wnd Id Set Mouse Pos"} Set position of mouse.. @{" _wnd Id X Mouse " link "_wnd Id X Mouse"} Get position of mouse.. @{" _wnd Id Inner X Mouse " link "_wnd Id Inner X Mouse"} Get position of mouse.. @{" _wnd Id Y Mouse " link "_wnd Id Y Mouse"} Get position of mouse.. @{" _wnd Id Inner Y Mouse " link "_wnd Id Inner Y Mouse"} Get position of mouse.. @{u}Get to know the window@{uu} @{" _wnd Id X " link "_wnd Id X"} Position of window.. @{" _wnd Id Y " link "_wnd Id Y"} Position of window.. @{" _wnd Id Width " link "_wnd Id Width"} Size of window.. @{" _wnd Id Height " link "_wnd Id Height"} Size of window.. @{" _wnd Id Inner Width " link "_wnd Id Inner Width"} Size of window.. @{" _wnd Id Inner Height " link "_wnd Id Inner Height"} Size of window.. @{" _wnd Id Top Bdr " link "_wnd Id Top Bdr"} Size of window-border.. @{" _wnd Id Bottom Bdr " link "_wnd Id Bottom Bdr"} Size of window-border.. @{" _wnd Id Left Bdr " link "_wnd Id Left Bdr"} Size of window-border.. @{" _wnd Id Right Bdr " link "_wnd Id Right Bdr"} Size of window-border.. @{u}Handeling 'events'@{uu} @{" _wnd Id Mask Event " link "_wnd Id Mask Event"} Get a certain event.. @{" _wnd Id Wait Event " link "_wnd Id Wait Event"} Wait for an event.. @{" _wnd Id Next Event " link "_wnd Id Next Event"} Next event in line.. @{" _wnd Id Event Wnd " link "_wnd Id Event Wnd"} Window of event.. @{" _wnd Id Event Code " link "_wnd Id Event Code"} Code of event.. @{" _wnd Id Event Qualifier " link "_wnd Id Event Qualifier"} Qualifier of event.. @{" _wnd Id Event Gt Bank " link "_wnd Id Event Gt Bank"} Gt bank of event.. @{" _wnd Id Event Gadget " link "_wnd Id Event Gadget"} Gadget chosen.. @{" _wnd Id Event Menu " link "_wnd Id Event Menu"} Menu chosen.. @{" _wnd Id Event Item " link "_wnd Id Event Item"} Item chosen.. @{" _wnd Id Event Sub " link "_wnd Id Event Sub"} Sub-Item chosen.. @{" _wnd Id Event X Mouse " link "_wnd Id Event X Mouse"} Mouse position at event.. @{" _wnd Id Event Y Mouse " link "_wnd Id Event Y Mouse"} Mouse position at event.. @{u}Doing graphic-works@{uu} (Similar to plain AMOS ones..) @{" _wnd Id Plot " link "_wnd Id Plot"} @{" _wnd Id Rect " link "_wnd Id Rect"} @{" _wnd Id Line To " link "_wnd Id Line To"} @{" _wnd Id Line " link "_wnd Id Line"} @{" _wnd Id Ellipse " link "_wnd Id Ellipse"} @{" _wnd Id Cls " link "_wnd Id Cls"} @{" _wnd Id Ink " link "_wnd Id Ink"} @{" _wnd Id Gr Writing " link "_wnd Id Gr Writing"} @{" _wnd Id Text " link "_wnd Id Text"} @{" _wnd Id Bar " link "_wnd Id Bar"} @{" _wnd Id Gr Locate " link "_wnd Id Gr Locate"} @{" _wnd Id Xgr " link "_wnd Id Xgr"} @{" _wnd Id Ygr " link "_wnd Id Ygr"} @{" _wnd Id Paint " link "_wnd Id Paint"} @{" _wnd Id Fill Ellipse " link "_wnd Id Fill Ellipse"} @{" _wnd Id Set Paint " link "_wnd Id Set Paint"} @{" _wnd Id Pattern On " link "_wnd Id Pattern On"} @{" _wnd Id Pattern Off " link "_wnd Id Pattern Off"} @{" _wnd Id Set Low Pattern " link "_wnd Id Set Low Pattern"} @{" _wnd Id Set High Pattern " link "_wnd Id Set High Pattern"} @{" _wnd Id Point " link "_wnd Id Point"} @{" _wnd Id Set Line " link "_wnd Id Set Line"} @{" _wnd Id Scroll " link "_wnd Id Scroll"} @{" _wnd Id Put Bob " link "_wnd Id Put Bob"} @endnode @node "_wnd Id Open" @toc "WIND" @{b}_wnd Id Open@{ub} WNDNB,X,Y,W,H,FLGS,IDCMP,GLIST,TITLE$ WNDNB = Number of window.. X,Y = Position of window.. W,H = Size of window.. FLGS = @{"Window-flags" link "os_refs.guide/winflags"}.. IDCMP = @{"IDCMP-flags" link "os_refs.guide/IDCMP"} to return.. GLIST = Number of gadget-bank, or '0'.. TITLE$ = The title of the window.. Open a window on the current screen.. NOTES: - Even if you don't specify a TITLE then the window will still prepare for one, so if you in combination with 'NoBorder' wants a window with no title-bar, then you MUST open it from a taglist.. @endnode @node "_wnd Id Tag Open" @toc "WIND" @{b}_wnd Id Tag Open@{ub} WNDNB,TAGS WNDNB = Number of window.. TAGS = Pointer to a @{"TAG-list" link "os_refs.guide/winTAGS"}.. Open a window from a 'TAG-list'.. NOTES: - You're on your own when using tags, especialy when it comes to pointing gadgets, screens and windows. With TAGS you MUST specify the actual pointer and not just a screen-number. All strings must specified with a pointer, and they must be terminated with 'Chr$(0)'.. @endnode @node "_wnd Id Close" @toc "WIND" @{b}_wnd Id Close@{ub} WNDNB WNDNB = Number of window.. Close a window (Used if you're getting cold feet ;-).. @endnode @node "_wnd Id Base" @toc "WIND" WIN=@{b}_wnd Id Base@{ub} WNDNB WNDNB = Number of window.. Return the pointer to the window-structure, often used to bridge the easy to use commands with the very powerfull 'low-level' commands.. @endnode @node "_wnd Id Lock" @toc "WIND" @{b}_wnd Id Lock@{ub} WNDNB WNDNB = Number of window.. Lock a window for all input, the window will not respond on any action from the user until it's unlocked again.. Normal procedure is to display a busy mouse-pointer before locking the window.. NOTE: - Most system- and ASL-Requesters is capable of locking a window when they are called and unlocking it when the requester closes. You're encuraged to use this wherever possible.. @endnode @node "_wnd Id Unlock" @toc "WIND" @{b}_wnd Id Unlock@{ub} WNDNB WNDNB = Number of window.. Removes the lock on a window and returns it to normal use.. @endnode @node "_wnd Id Mouse" @toc "WIND" @{b}_wnd Id Mouse@{ub} WNDNB,POINTER,RES WNDNB = Number of window.. POINTER = 1->n to use a bob, 0 for normal, -1 for default busy.. RES = Resolution of pointer, 0 for lowres, 1 for hires.. Change the look of the mousepointer when the window is active.. NOTE: - Setting the pointer to 'busy' DON'T affect the window-status, if you do a busy, you should normaly folow up with a lock on the window.. @endnode @node "_wnd Id Set Mouse Pos" @toc "WIND" @{b}_wnd Id Set Mouse Pos@{ub} WNDNB,X,Y WNDNB = Number of window.. X,Y = New position Simply change the position of the mouse relative to the window.. @endnode @node "_wnd Id Use" @toc "WIND" @{b}_wnd Id Use@{ub} WNDNB WNDNB = Number of window.. Select the current window for graphics operations.. NOTE: - Don't confuse this with the active window, this is the window YOU use to draw in. The active is the window the user last has touched.. @endnode @node "_wnd Id In Use" @toc "WIND" WNDNB=@{b}_wnd Id In Use@{ub} WNDNB = Number of window.. Return the window currently in use.. NOTE: - This DON'T return the active but the current window.. @endnode @node "_wnd Id Mask Event" @toc "WIND" IDCMP=@{b}_wnd Id Mask Event@{ub}(IDCMP_MASK) IDCMP = A set of @{"IDCMP-flags" link IDCMP} to descripe the event.. @endnode @node "_wnd Id Wait Event" @toc "WIND" IDCMP=@{b}_wnd Id Wait Event@{ub} IDCMP = A set of @{"IDCMP-flags" link "os_refs.guide/IDCMP"} to descripe the event.. @endnode @node "_wnd Id Next Event" @toc "WIND" IDCMP=@{b}_wnd Id Next Event@{ub} IDCMP = A set of @{"IDCMP-flags" link "os_refs.guide/IDCMP"} to descripe the event.. Get the next event in the line, you'll get '0' if nothing has happend.. @endnode @node "_wnd Id Event Wnd" @toc "WIND" WNDNB=@{b}_wnd Id Event Wnd@{ub} WNDNB = Number of window.. Return the window-number where the event happend. @endnode @node "_wnd Id Event Code" @toc "WIND" CODE=@{b}_wnd Id Event Code@{ub} CODE = A value, see below for definition.. Return the 'code' of the event. The code takes various values pending the type of event.. CODE-values: - Rawkey: The raw-code for the pressed key (like a the scancode).. - Vanillakey: The ASCII value of the pressed key.. - Slider-gadget: Position of the slider.. - Scroller: Position.. - Listview: The number of the selected item.. - MX-gadget: The number of the selected item.. NOTE: - This value can be 'trashed' by events not using it.. @endnode @node "_wnd Id Event Qualifier" @toc "WIND" QUALIF=@{b}_wnd Id Event Qualifier@{ub} QUALIF = A bitmap (Same value as 'Key Shift') Return the status of the 'Shift', 'Alt', 'Amiga' and 'Ctrl' keys.. NOTE: - This value will always be valid if any event has taken place.. @endnode @node "_wnd Id Event Gt Bank" @toc "WIND" BNKNB=@{b}_wnd Id Event Gt Bank@{ub} BNKNB = A gt-bank.. Return the number of the gt-bank where the event took place.. NOTE: - The value will proberly be invalid if you check it without a gadget-event has taken place.. @endnode @node "_wnd Id Event Gadget" @toc "WIND" GADID=@{b}_wnd Id Event Gadget@{ub} GADID = Number of gadget pressed.. Return the gadget choosen by the user.. NOTE: - Don't count on this if no gadget has been pressed.. @endnode @node "_wnd Id Event Menu" @toc "WIND" MENUNB=@{b}_wnd Id Event Menu@{ub} MENUNB = Number of menu Return the number of the chosen menu.. NOTE: - Don't count on this if you havn't got a menu-event.. @endnode @node "_wnd Id Event Item" @toc "WIND" ITEMNB=@{b}_wnd Id Event Item@{ub} ITEMNB = Number of menu-item chosen.. Return the number of the menu-item.. NOTE: - Don't count on this if you havn't got a menu-event.. @endnode @node "_wnd Id Event Sub" @toc "WIND" SUBNB=@{b}_wnd Id Event Sub@{ub} SUBNB = Number of menu-sub-item.. Return the number of the menu-sub-item.. NOTE: - Don't count on this if you havn't got a menu-event.. @endnode @node "_wnd Id Event X Mouse" @toc "WIND" X=@{b}_wnd Id Event X Mouse@{ub} X = Position of mouse.. Return the position of the mouse at the event.. @endnode @node "_wnd Id Event Y Mouse" @toc "WIND" Y=@{b}_wnd Id Event Y Mouse@{ub} X = Position of mouse.. Return the position of the mouse at the event.. @endnode @node "_wnd Id Activate" @toc "WIND" @{b}_wnd Id Activate@{ub} WNDNB WNDNB = Number of window.. Activate a window, this is not needed normaly, but for special purposes it can be very usefull. Don't be tempted to activate windows all over the place, 'course the may only be ONE active window on the entire system, so a program the runs around activating windows all the time is imposible to have running in the background.. A useable technique is to check if your screen is the front one before activating anything.. @endnode @node "_wnd Id Limits" @toc "WIND" @{b}_wnd Id Limits@{ub} WMIN,HMIN,WMAX,HMAX WMIN,HMIN = Minimum size of a window.. WMAX,HMAX = Maximum size of a window.. Specify the alowed sizes for a window, this is only relevant if you allow the user to change the size of the window.. @endnode @node "_wnd Id Move" @toc "WIND" @{b}_wnd Id Move@{ub} X,Y X,Y = New position.. Moves the window on the screen.. If you also allow the use to move windows around this might turn out to be a very bad idea.. @endnode @node "_wnd Id Size" @toc "WIND" @{b}_wnd Id Size@{ub} DW,DH DW,DH = New size.. Sets the new size of a window.. @endnode @node "_wnd Id Box" @toc "WIND" @{b}_wnd Id Box@{ub} X,Y,W,H X,Y = Starting point.. W,H = Size.. ??? @endnode @node "_wnd Id Titles" @toc "WIND" @{b}_wnd Id Titles@{ub} WTITLE$,STITLE$ WTITLE$ = Define the title of the window.. STITLE$ = Define the screen-title when the window is active.. Define the titles shown when the window is in use.. @endnode @node "_wnd Id X Mouse" @toc "WIND" X=@{b}_wnd Id X Mouse@{ub} X = Position.. Return the mouse-position relative to the window.. @endnode @node "_wnd Id Inner X Mouse" @toc "WIND" X=@{b}_wnd Id Inner X Mouse@{ub} X = Position.. Return the mouse-position releative to the INNER part of the window, which would be the same as the outer position minus the size of the border.. @endnode @node "_wnd Id Y Mouse" @toc "WIND" Y=@{b}_wnd Id Y Mouse@{ub} Y = Position.. Return the mouse-position relative to the window.. @endnode @node "_wnd Id Inner Y Mouse" @toc "WIND" Y=@{b}_wnd Id Inner Y Mouse@{ub} Y = Position.. Return the mouse-position releative to the INNER part of the window, which would be the same as the outer position minus the size of the border.. @endnode @node "_wnd Id Xgr" @toc "WIND" X=@{b}_wnd Id Xgr@{ub} X = Position.. Return the current cordinate of the graphics-cursor.. @endnode @node "_wnd Id Ygr" @toc "WIND" Y=@{b}_wnd Id Ygr@{ub} Y = Position.. Return the current cordinate of the graphics-cursor.. @endnode @node "_wnd Id X" @toc "WIND" X=@{b}_wnd Id X@{ub} X = Position.. Return the current location of the window on the screen, normaly only interesting if you have a moveable window.. @endnode @node "_wnd Id Y" @toc "WIND" Y=@{b}_wnd Id Y@{ub} Y = Position.. Return the current location of the window on the screen, normaly only interesting if you have a moveable window.. @endnode @node "_wnd Id Width" @toc "WIND" W=@{b}_wnd Id Width@{ub} W = Size Return the width of the window, this is only interesting for resize-able windows.. @endnode @node "_wnd Id Height" @toc "WIND" H=@{b}_wnd Id Height@{ub} H = Size Return the height of the window, this is only interesting for resize-able windows.. @endnode @node "_wnd Id Inner Width" @toc "WIND" W=@{b}_wnd Id Inner Width@{ub} W = Size Return the inner width of the window, the inner size can also be calculated by the total width minus the size of the borders.. @endnode @node "_wnd Id Inner Height" @toc "WIND" H=@{b}_wnd Id Inner Height@{ub} H = Size Return the inner height of the window, the inner size can also be calculated by the total width minus the size of the borders.. @endnode @node "_wnd Id Top Bdr" @toc "WIND" H=@{b}_wnd Id Top Bdr@{ub} H=Size Return the size of the top/title border of the window.. @endnode @node "_wnd Id Bottom Bdr" @toc "WIND" H=@{b}_wnd Id Bottom Bdr@{ub} H=Size Return the size of the bottom border of the window.. @endnode @node "_wnd Id Left Bdr" @toc "WIND" W=@{b}_wnd Id Left Bdr@{ub} W=Size Return the size of the left border of the window.. @endnode @node "_wnd Id Right Bdr" @toc "WIND" W=@{b}_wnd Id Right Bdr@{ub} W=Size Return the size of the right border of the window.. @endnode @node "_wnd Id Plot" @toc "WIND" @{b}_wnd Id Plot@{ub} X,Y X,Y = Position.. Plot a point.. @endnode @node "_wnd Id Rect" @toc "WIND" @{b}_wnd Id Rect@{ub} X1,Y1 To X2,Y2 X1,Y1 = Cords of Top-left corner.. X2,Y2 = Cords of Bottom-Right corner.. Draws a rectangular shape.. @endnode @node "_wnd Id Line To" @toc "WIND" @{b}_wnd Id Line To@{ub} X,Y X,Y = Cords.. Draws a line from the graphic cursor position to the new cords.. @endnode @node "_wnd Id Line" @toc "WIND" @{b}_wnd Id Line@{ub} X1,Y1 To X2,Y2 X1,Y1 = Starting point.. X2,Y2 = Ending point.. Draw a line between the two points.. @endnode @node "_wnd Id Ellipse" @toc "WIND" @{b}_wnd Id Ellipse@{ub} XC,YC,XR,YR XC,YC = Center.. XR = First Radius.. YR = Second radius.. Draw an ellipse, you can draw a circle if you set XR=YR.. @endnode @node "_wnd Id Cls" @toc "WIND" @{b}_wnd Id Cls@{ub} C C = Colour Clears the window with colour 'C' @endnode @node "_wnd Id Ink" @toc "WIND" @{b}_wnd Id Ink@{ub} APEN,BPEN,OPEN APEN = Foreground pen.. BPEN = Background pen.. OPEN = Outline pen.. Define colours to use for drawing operations.. @endnode @node "_wnd Id Gr Writing" @toc "WIND" @{b}_wnd Id Gr Writing@{ub} DMODE DMODE = Drawmode (bitmap).. Define drawmode.. DrawModes: - Bit 0 = 0, only draw graphics using front-pen.. - Bit 0 = 1, replace all graphics.. - Bit 1 = 1, change overlapping graphics with 'XOR'.. - Bit 2 = 1, reverse ink and background colours (Inverse Video).. @endnode @node "_wnd Id Text" @toc "WIND" @{b}_wnd Id Text@{ub} X,Y,TXT$ X,Y = Position.. TXT$ = Text to draw.. Draws a text on the window.. @endnode @node "_wnd Id Bar" @toc "WIND" @{b}_wnd Id Bar@{ub} X1,Y1 To X2,Y2 X1,Y1 = Cords of Top-left corner.. X2,Y2 = Cords of Bottom-Right corner.. Draws a filled rectangle @endnode @node "_wnd Id Gr Locate" @toc "WIND" @{b}_wnd Id Gr Locate@{ub} X,Y X,Y = Position.. Move the graphics cursor.. @endnode @node "_wnd Id Paint" @toc "WIND" @{b}_wnd Id Paint@{ub} X,Y,PMODE X,Y = Location.. PMODE = Type of paint.. Fill an area with a colour/pattern. X,Y must lie within the area.. @endnode @node "_wnd Id Fill Ellipse" @toc "WIND" @{b}_wnd Id Fill Ellipse@{ub} XC,YC,XR,YR XC,YC = Center.. XR = First Radius.. YR = Second radius.. Draw a filled ellipse, you can draw a circle if you set XR=YR.. @endnode @node "_wnd Id Set Paint" @toc "WIND" @{b}_wnd Id Set Paint@{ub} NBMODE NBMODE = Mode to use.. Set the mode used by filling operations.. @endnode @node "_wnd Id Pattern On" @toc "WIND" @{b}_wnd Id Pattern On@{ub} Activate the user-defined pattern.. @endnode @node "_wnd Id Pattern Off" @toc "WIND" @{b}_wnd Id Pattern Off@{ub} Ignore pattern when filling shapes.. @endnode @node "_wnd Id Set Low Pattern" @toc "WIND" @{b}_wnd Id Set Low Pattern@{ub} L0,L1,L2,L3,L4,L5,L6,L7 L0,L1,L2,L3,L4,L5,L6,L7 = 16bit pattern-values.. Set the lower section of the pattern.. @endnode @node "_wnd Id Set High Pattern" @toc "WIND" @{b}_wnd Id Set High Pattern@{ub} L8,L9,LA,LB,LC,LD,LE,LF L8,L9,LA,LB,LC,LD,LE,LF = 16bit pattern-values.. Set the higher section of the pattern.. @endnode @node "_wnd Id Point" @toc "WIND" C=@{b}_wnd Id Point@{ub} (X,Y) X,Y = Position C = Colour Return the colour of a point.. @endnode @node "_wnd Id Set Line" @toc "WIND" @{b}_wnd Id Set Line@{ub} LMASK LMASK = Linemode (16 bit pattern) Set the 'look' of a line. Example: A dotted line could be: %1010101010101010 Defaults to: %1111111111111111 @endnode @node "_wnd Id Scroll" @toc "WIND" @{b}_wnd Id Scroll@{ub} X1,Y1 To X2,Y2,DX,DY X1,Y1 = Cords of Top-left corner.. X2,Y2 = Cords of Bottom-Right corner.. DX = Movement in X-direction.. DY = Movement in Y-direction.. Scrolls a section of the window.. @endnode @node "_wnd Id Put Bob" @toc "WIND" @{b}_wnd Id Put Bob@{ub} BOBNB,X,Y BOBNB = A Bob in the bob-bank.. X,Y = Position.. Paste an AMOS-bob onto a window.. @endnode @node SCRE "OS_DevKit, intuition.library-screens support" @toc "MAIN" ___________ ___________ / /\ / /\ OS-DevKit Extension / ___ / // _______/ / Additional power for AMOS Pro V2.00+ / /\_/ / // /\_____ \/ / / // / // /\ Written by: / / // / //______ / / Fromentin BRICE / /_// / /_\_____/ / / / / // / / /__________/ //__________/ / This section of the guides by: \__________\/ \__________\/ Jens Vang Petersen @{b}@{u}Easy2use support of 'intuition.library'@{uu}@{ub} @{b}@{u}Screens@{uu}@{ub} @{u}General Screen Handeling@{uu} @{" _scr Id Open " link "_scr Id Open"} Open a screen.. @{" _scr Id Tag Open " link "_scr Id Tag Open"} Open a screen from Tag-list.. @{" _scr Id Close " link "_scr Id Close"} Close a screen.. @{" _scr Id Use " link "_scr Id Use"} Select screen for operations.. @{" _scr Id In Use " link "_scr Id In Use"} Return current screen.. @{" _scr Id Show " link "_scr Id Show"} Screen to Front.. @{" _scr Id Hide " link "_scr Id Hide"} Screen to back.. @{" _scr Id From Wb " link "_scr Id From Wb"} Use Workbench screen.. @{" _scr Id From Pub " link "_scr Id From Pub"} Use a public screen.. @{" _scr Id From Pointer " link "_scr Id From Pointer"} Use any screen.. @{" _scr Id Beep " link "_scr Id Beep"} Warn the user.. @{" _scr Id Move " link "_scr Id Move"} Move the screen.. @{" _scr Id Offset " link "_scr Id Offset"} @{" _scr Id Buffer " link "_scr Id Buffer"} @{u}Get To Know The Screen@{uu} @{" _scr Id Vport " link "_scr Id Vport"} Return ViewPort of screen.. @{" _scr Id Rport " link "_scr Id Rport"} Return RastPort of screen.. @{" _scr Id Base " link "_scr Id Base"} Return Base of screen.. @{" _scr Id Height " link "_scr Id Height"} Return Screen height.. @{" _scr Id Width " link "_scr Id Width"} Return screen width.. @{" _scr Id Depth " link "_scr Id Depth"} Return number of planes.. @{" _scr Id Mode " link "_scr Id Mode"} Return viewmode.. @{u}A Colourfull Life@{uu} @{" _scr Id Def Dri Pens V1 " link "_scr Id Def Dri Pens V1"} Set pens used by gadgets.. @{" _scr Id Def Dri Pens V2 " link "_scr Id Def Dri Pens V2"} More pens.. @{" _scr Id Fix Dri Pens " link "_scr Id Fix Dri Pens"} Activate pens.. @{" _scr Id Get Pal " link "_scr Id Get Pal"} Get a colour-value.. @{" _scr Id Set Pal " link "_scr Id Set Pal"} Set a colour-value.. @{" _scr Id Get Aga Pal " link "_scr Id Get Aga Pal"} Get an AGA-colour-value.. @{" _scr Id Set Aga Pal " link "_scr Id Set Aga Pal"} Set an AGA-colour-value.. @{" _scr Id Colour " link "_scr Id Colour"} Reserved variable for colours.. @{" _scr Id Aga Colour " link "_scr Id Aga Colour"} Reserved variable for AGA-colours.. @{u}Mouse Handeling@{uu} @{" _scr Id Set Mouse Pos " link "_scr Id Set Mouse Pos"} Move the mouse.. @{" _scr Id X Mouse " link "_scr Id X Mouse"} Get mouse location.. @{" _scr Id Y Mouse " link "_scr Id Y Mouse"} Get mouse location.. @{u}Drawing Graphics On Screen@{uu} (Similar to plain AMOS ones..) @{" _scr Id Clip " link "_scr Id Clip"} @{" _scr Id Ink " link "_scr Id Ink"} @{" _scr Id Gr Writing " link "_scr Id Gr Writing"} @{" _scr Id Cls " link "_scr Id Cls"} @{" _scr Id Plot " link "_scr Id Plot"} @{" _scr Id Set Line " link "_scr Id Set Line"} @{" _scr Id Rect " link "_scr Id Rect"} @{" _scr Id Line To " link "_scr Id Line To"} @{" _scr Id Line " link "_scr Id Line"} @{" _scr Id Ellipse " link "_scr Id Ellipse"} @{" _scr Id Gr Locate " link "_scr Id Gr Locate"} @{" _scr Id Set Paint " link "_scr Id Set Paint"} @{" _scr Id Pattern On " link "_scr Id Pattern On"} @{" _scr Id Pattern Off " link "_scr Id Pattern Off"} @{" _scr Id Set Low Pattern " link "_scr Id Set Low Pattern"} @{" _scr Id Set High Pattern " link "_scr Id Set High Pattern"} @{" _scr Id Paint " link "_scr Id Paint"} @{" _scr Id Bar " link "_scr Id Bar"} @{" _scr Id Fill Ellipse " link "_scr Id Fill Ellipse"} @{" _scr Id Text " link "_scr Id Text"} @{" _scr Id Point " link "_scr Id Point"} @{" _scr Id Scroll " link "_scr Id Scroll"} @{" _scr Id Put Bob " link "_scr Id Put Bob"} @endnode @node "_scr Id Open" @toc "SCRE" @{b}_scr Id Open@{ub} SCRNB,X,Y,W,H,D,VMODE,BMAP,TITRE$ SCRNB = Number of screen to open X,Y = Position of screen in ViewPort W,H = Size of screen D = Depth of screen (No of colours=2^D) VMODE = @{"Viewmode" link "os_refs.guide/scrVMODE"} (Defaults to 'Lowres') BMAP = Address of a bitmap to use (0 if the screen should handle this) TITRE$ = Title to show in titlebar of screen NOTES: - If you specify a BMAP then you must handle the memory seperatly.. @endnode @node "_scr Id Tag Open" @toc "SCRE" @{b}_scr Id Tag Open@{ub} SCRNB,TAGS SCRNB = Screen to open TAGS = Pointer of @{"Screen-TAG-list" link "os_refs.guide/scrTAGS"} NOTES: - You're on your own when using tags, especialy when it comes to pointing gadgets, screens and windows. With TAGS you MUST specify the actual pointer and not just a screen-number. All strings must specified with a pointer, and they must be terminated with 'Chr$(0)'.. @endnode @node "_scr Id Close" @toc "SCRE" @{b}_scr Id Close@{ub} SCRNB SCRNB = Screen to close @endnode @node "_scr Id Def Dri Pens V1" @toc "SCRE" @{b}_scr Id Def Dri Pens V1@{ub} DETAILPEN,BLOCKPEN,TEXTPEN,SHINEPEN,SHADOWPEN,FILLPEN,FILLTEXTPEN,BACKGROUNDPEN,HIGHLIGHTTEXTPEN @endnode @node "_scr Id Def Dri Pens V2" @toc "SCRE" @{b}_scr Id Def Dri Pens V2@{ub} BARDETAILPEN,BARBLOCKPEN,BARTRIMPEN @endnode @node "_scr Id Fix Dri Pens" @toc "SCRE" @{b}_scr Id Fix Dri Pens@{ub} VAL VAL = Pointer to a @{"pen-array" link "os_refs.guide/screenpen_str"} (0 for default system, -1 to use the ones you define) @endnode @node "_scr Id Use" @toc "SCRE" @{b}_scr Id Use@{ub} SCRNB SCRNB = Screen to use for graphic operations.. @endnode @node "_scr Id In Use" @toc "SCRE" SCRNB=@{b}_scr Id In Use@{ub} SCRNB = Screen used for graphic operations.. @endnode @node "_scr Id Vport" @toc "SCRE" VPORT=@{b}_scr Id Vport@{ub}(SCRNB) SCRNB = Screen Number VPORT = Pointer of Viewport @endnode @node "_scr Id Rport" @toc "SCRE" RPORT=@{b}_scr Id Rport@{ub}(SCRNB) SCRNB = Screen Number RPORT = Pointer of Rastport @endnode @node "_scr Id Base" @toc "SCRE" SCRPTR=@{b}_scr Id Base@{ub}(SCRNB) SCRNB = Screen Number SCRPTR = Pointer of Screen Base @endnode @node "_scr Id Show" @toc "SCRE" @{b}_scr Id Show@{ub} SCRNB SCRNB = Screen Number Send screen to front.. @endnode @node "_scr Id Hide" @toc "SCRE" @{b}_scr Id Hide@{ub} SCRNB SCRNB = Screen Number Send screen to back.. @endnode @node "_scr Id From Wb" @toc "SCRE" @{b}_scr Id From Wb@{ub} SCRNB SCRNB = Screen Number Grab workbench screen for usage.. @endnode @node "_scr Id From Pub" @toc "SCRE" @{b}_scr Id From Pub@{ub} SCRNB,TITRE$ SCRNB = Screen Number TITLE$ = Public screenname Grab a public screen for usage.. @endnode @node "_scr Id From Pointer" @toc "SCRE" @{b}_scr Id From Pointer@{ub} SCRNB,SCRPTR SCRNB = Screen Number SCRPTR = Pointer to a screen-structure Use a screen you only have to pointer off, can be used to bridge with the advanced commands of this extension.. @endnode @node "_scr Id X Mouse" @toc "SCRE" XM=@{b}_scr Id X Mouse@{ub} (SCRNB) SCRNB = Screen Number XM = Mouse Position @endnode @node "_scr Id Y Mouse" @toc "SCRE" YM=@{b}_scr Id Y Mouse@{ub} (SCRNB) SCRNB = Screen Number YM = Mouse Position @endnode @node "_scr Id Beep" @toc "SCRE" @{b}_scr Id Beep@{ub} SCRNB SCRNB = Screen Number Beep/Flash a screen, used to call for the users attention.. @endnode @node "_scr Id Move" @toc "SCRE" @{b}_scr Id Move@{ub} SCRNB,DX,DY SCRNB = Screen Number DX = X-Movement DY = Y-Movement Move a screen in the viewport.. @endnode @node "_scr Id Offset" @toc "SCRE" @{b}_scr Id Offset@{ub} SCRNB,X,Y SCRNB = Screen Number X = Position Y = Position Position a screen in the viewport.. @endnode @node "_scr Id Buffer" @toc "SCRE" @{b}_scr Id Buffer@{ub} SCRNB,BMAP,X,Y SCRNB = Screen Number BMAP = X = Y = @endnode @node "_scr Id Height" @toc "SCRE" H=@{b}_scr Id Height@{ub}(SCRNB) SCRNB = Screen Number H = Height Of Screen @endnode @node "_scr Id Width" @toc "SCRE" W=@{b}_scr Id Width@{ub}(SCRNB) SCRNB = Screen Number W = Width Of Screen @endnode @node "_scr Id Depth" @toc "SCRE" D=@{b}_scr Id Depth@{ub}(SCRNB) SCRNB = Screen Number D = Depth Of the screen. (Colours=2^D) @endnode @node "_scr Id Mode" @toc "SCRE" VM=@{b}_scr Id Mode@{ub}(SCRNB) SCRNB = Screen Number VM = Viewmode of screen @endnode @node "_scr Id Get Pal" @toc "SCRE" C=@{b}_scr Id Get Pal@{ub}(INDEX) INDEX = Colour-number C = Colour value in 4bit notification ($RGB) @endnode @node "_scr Id Set Pal" @toc "SCRE" @{b}_scr id Set Pal@{ub} INDEX,C INDEX = Colour-number C = Colour value in 4bit notification ($RGB) @endnode @node "_scr Id Get Aga Pal" @toc "SCRE" C=@{b}_scr Id Get Aga Pal@{ub}(INDEX) INDEX = Colour-number C = Colour value in 8bit notification $RRGGBB @endnode @node "_scr Id Set Aga Pal" @toc "SCRE" @{b}_scr Id Set Aga Pal@{ub} INDEX,C INDEX = Colour-number C = Colour value in 8bit notification $RRGGBB @endnode @node "_scr Id Colour" @toc "SCRE" C=@{b}_scr Id Colour@{ub}(INDEX)=C INDEX = Colour-number C = Colour value in 4bit notification ($RGB) @endnode @node "_scr Id Aga Colour" @toc "SCRE" C=@{b}_scr Id Aga Colour@{ub}(INDEX)=C INDEX = Colour-number C = Colour value in 8bit notification $RRGGBB @endnode @node "_scr Id Set Mouse Pos" @toc "SCRE" @{b}_scr Id Set Mouse Pos@{ub} SCRNB,X,Y SCRNB = Screen Number X,Y = Position Move the mouse.. @endnode @node "_scr Id Clip" @toc "SCRE" @{b}_scr Id Clip@{ub} XMIN,YMIN To XMAX,YMAX XMIN,YMIN = Top-left corner.. XMAX,YMAX = Bottom-right corner.. Limmit drawing operations inside the area on screen @endnode @node "_scr Id Ink" @toc "SCRE" @{b}_scr Id Ink@{ub} APEN,BPEN,OPEN APEN = Foreground Pen BPEN = Background Pen OPEN = Outline Pen Define the pens used for drawing operations.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Gr Writing" @toc "SCRE" @{b}_scr Id Gr Writing@{ub} DMODE DMODE = Drawmode (bitmap).. Define drawmode.. DrawModes: - Bit 0 = 0, only draw graphics using front-pen.. - Bit 0 = 1, replace all graphics.. - Bit 1 = 1, change overlapping graphics with 'XOR'.. - Bit 2 = 1, reverse ink and background colours (Inverse Video).. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Cls" @toc "SCRE" @{b}_scr Id Cls@{ub} C C = Pen Clear the screen.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Plot" @toc "SCRE" @{b}_scr Id Plot@{ub} X,Y X,Y = Position.. Plot a point on screen.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Set Line" @toc "SCRE" @{b}_scr Id Set Line@{ub} LMASK LMASK = A 16bit pattern.. Set the 'look' of lines to be drawn.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Rect" @toc "SCRE" @{b}_scr Id Rect@{ub} X1,Y1 To X2,Y2 X1,Y1 = Starting point.. X2,Y2 = Ending point.. Draw a rectangle.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Line To" @toc "SCRE" @{b}_scr Id Line To@{ub} X,Y X,Y = Destination point.. Draw a line from the graphics cursor-position to the point.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Line" @toc "SCRE" @{b}_scr Id Line@{ub} X1,Y1 To X2,Y2 X1,Y1 = Starting point.. X2,Y2 = Ending point.. Draw a line.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Ellipse" @toc "SCRE" @{b}_scr Id Ellipse@{ub} XC,YC,XR,YR XC,YC = Center.. XR = X-radius.. YR = Y-radius.. Draws an ellipse on screen, to make a circle simply keep YR=XR.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Gr Locate" @toc "SCRE" @{b}_scr Id Gr Locate@{ub} X,Y X,Y = Position Move the graphics cursor.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Set Paint" @toc "SCRE" @{b}_scr Id Set Paint@{ub} NBMODE NBMODE = Mode to use.. Set the mode used by filling operations.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Pattern On" @toc "SCRE" @{b}_scr Id Pattern On@{ub} Activate pattern for filling operations NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Pattern Off" @toc "SCRE" @{b}_scr Id Pattern Off@{ub} Ignore pattern for filling operations making them solid.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Set Low Pattern" @toc "SCRE" @{b}_scr Id Set Low Pattern@{ub} L0,L1,L2,L3,L4,L5,L6,L7 L0,L1,L2,L3,L4,L5,L6,L7 = 16bit pattern-values.. Set the lower section of the pattern.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Set High Pattern" @toc "SCRE" @{b}_scr Id Set High Pattern@{ub} L8,L9,LA,LB,LC,LD,LE,LF L0,L1,L2,L3,L4,L5,L6,L7 = 16bit pattern-values.. Set the higher section of the pattern.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Paint" @toc "SCRE" @{b}_scr Id Paint@{ub} X,Y,PMODE X,Y = Location.. PMODE = Type of paint.. Fill an area with a colour/pattern. X,Y must lie within the area.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Bar" @toc "SCRE" @{b}_scr Id Bar@{ub} X1,Y1 To X2,Y2 X1,Y1 = Starting point.. X2,Y2 = Ending point.. Draw a filled bar/rectangle.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Fill Ellipse" @toc "SCRE" @{b}_scr Id Fill Ellipse@{ub} XC,YC,XR,YR XC,YC = Center.. XR = X-radius.. YR = Y-radius.. Draws a filled ellipse on screen, to make a circle simply keep YR=XR.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Text" @toc "SCRE" @{b}_scr Id Text@{ub} X,Y,TXT$ X,Y = Position.. TXT$ = Text.. Put a text on screen.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Point" @toc "SCRE" C=@{b}_scr Id Point@{ub} (X,Y) X,Y = Position.. C = Colour.. Return the colour of a point on screen.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Scroll" @toc "SCRE" @{b}_scr Id Scroll@{ub} X1,Y1 To X2,Y2,DX,DY X1,Y1 = Starting point.. X2,Y2 = Ending point.. DX = X Movement.. DY = Y Movement.. Moves the content of a screen NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode @node "_scr Id Put Bob" @toc "SCRE" @{b}_scr Id Put Bob@{ub} BOBNB,X,Y BOBNB = Number of bob.. X,Y = Position.. Put an AMOS-bob on a screen.. NOTES: - You're advised to never make drawing operations directly on screens, it's much better to open a window on the screen and draw there.. @endnode