Topic : The GFA-Basic Compendium Author : GFA Systemtechnik GmbH Version : GFABasic.HYP v2.98 (12/31/2023) Subject : Documentation/Programming Nodes : 899 Index Size : 28056 HCP-Version : 3 Compiled on : Atari @charset : atarist @lang : @default : Document not found @help : Help @options : +g -i -s +z @width : 75 @hostname : STRNGSRV @hostname : CAB @hostname : HIGHWIRE @hostname : THING View Ref-FileDEFMOUSE symbol DEFMOUSE bitpattern$ symbol: iexp bitpattern$: sexp The first DEFMOUSE variant determines the current mouse pointer, selected from the eight pre-defined types. The value of 'symbol' defines the type of the pointer in the following way: 0 --> Arrow 1 --> Text cursor 2 --> Busy bee 3 --> Pointing hand 4 --> Open hand 5 --> Thin cross-hair 6 --> Thick cross-hair 7 --> Outlined cross-hair 8 --> Arrows all directions NAES 9 --> Arrows left and right NAES 10 --> Arrows up and down NAES The second variant of the DEFMOUSE command allows the user to define a mouse pointer. The action point, the mask color, the pointer color, the bit design pattern for the appearance of the mask, and the appearance of the mouse pointer are specified by means of a character string. The action point, is that point of the mouse pointer whose coordinates are defined as the mouse position. If the mouse position is interrogated, it is the coordinates of the action point which are returned. All these values must be entered as word size values and the command MKI$() can be used for this purpose. Thus, bitpattern$ is assembled as follows: bitpattern$ = MKI$(x-coordinate action point) + MKI$(y-coordinate action point) + MKI$(1) !1=bit-planes (required) + MKI$(mask color) !normally 0 + MKI$(cursor color) !normally 1 + mask$ !bit pattern of the mask + cursor$ !bit pattern of the cursor mask$ and cursor$ consist of 16 words each, each word being the bit pattern of a line. Example: DEFMOUSE 2 DELAY 1 m$=MKI$(0)+MKI$(0)+MKI$(1)+MKI$(0)+MKI$(1) FOR i%=1 TO 16 m$=m$+MKI$(65535) NEXT i% FOR i%=1 TO 16 m$=m$+MKI$(1) NEXT i% PBOX 200,150,400,250 DEFMOUSE m$ REPEAT UNTIL MOUSEK --> First, a bee appears as a mouse pointer. Then after one second, the mouse pointer turns into a line. When the mouse is placed on the black background at the center of the screen, the mouse changes to a rectangle, the mask having been defined as this rectangle. The final loop is then left by pressing a mouse button. Memo: Values larger than 7 for 'symbol' do not work. To use values over 7 one must call GRAF_MOUSE() instead. DEFMOUSE m -> AES call to GRAF_MOUSE() DEFMOUSE m$ -> VDI call to vsc_form() The string should be exactly 74 bytes. No error handling on the string length at all. graf_mouse()+, vsc_form()+