•  Back 
  •  Grafikfunktionen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.12.6  graf_mouse                                                 TOS

 Name:         »Graphics Mouse« - verändert die Darstellung des 
               Mauszeigers.

 AES-Nummer:   78

 Deklaration:  int16_t graf_mouse ( int16_t gr_monumber, MFORM 
               *gr_mofaddr );

 Beschreibung: Die Funktion erlaubt es, das Aussehen des Mauszeigers 
               zu verändern. Für den Parameter gr_monumber gilt:

                                   gr_monumber  Bedeutung 
                ARROW                        0  Pfeil 
                TEXT_CRSR                    1  Textcursor 
                HOURGLASS                    2  Sanduhr, Biene 
                BUSY_BEE                     2  siehe HOURGLASS 
                BUSYBEE                      2  siehe HOURGLASS 
                POINT_HAND                   3  zeigende Hand 
                FLAT_HAND                    4  flache Hand 
                THIN_CROSS                   5  feines Fadenkreuz 
                THICK_CROSS                  6  breites Fadenkreuz 
                OUTLN_CROSS                  7  umrissenes Fadenkreuz 
                                             8  Sizer (N.AES) 
                X_LFTRT                      8  left-right arrow (Geneva) 
                                             9  horizontal arrows (N.AES) 
                X_UPDOWN                     9  up-down arrow (Geneva) 
                                            10  vertical arrows (N.AES) 
                USER_DEF                   255  eigene Mausform 
                M_OFF                      256  Mauszeiger ausschalten 
                M_ON                       257  Mauszeiger einschalten 
                M_SAVE                     258  aktuelle Mausform sichern 
                M_LAST                     259  letzte Mausform herstellen 
                M_PREVIOUS                 259  siehe M_LAST 
                M_RESTORE                  260  vorherige Mausform herstellen 
                XACRS_BUBBLE_DISC          270  The Data Uncertain logo (XaAES) 
                XACRS_RESIZER              271  The 'resize window' cursors (XaAES) 
                XACRS_NE_SIZER             272  (XaAES) 
                XACRS_MOVER                273  The 'move window' cursor (XaAES) 
                XACRS_VERTSIZER            274  The 'resize vertically' cursor (XaAES) 
                XACRS_HORSIZER             275  The 'resize horizontally' cursor (XaAES) 
                XACRS_POINTSLIDE           276  The 'two-arrows pointing inwards' 
                                                cursor to pinpoint slider position(XaAES) 
                X_MRESET                  1000  (Geneva) 
                X_MGET                    1001  (Geneva) 
                X_SET_SHAPE               1100  (Geneva) 

               Im Fall gr_monumber = USER_DEF, ist gr_mofaddr ein 
               Zeiger auf die Struktur MFORM, die das Aussehen des 
               Mauszeigers festlegt.

               Hinweis: Man sollte darauf achten, daß außerhalb des 
               Arbeitsbereichs des eigenen Fensters, der Mauszeiger 
               nur die Form eines Pfeils oder einer Sanduhr besitzt.

               In the event that the application must change the mouse 
               form, set the highest bit ( Bit 15 ) of gr_monumber to 
               1 and OR in with the desired mouse form number. After 
               finishing the work, call the graf_mouse with value 0 to 
               set the mouse back to arrow.

               M_FORCE   0x8000

               Ob die Modi 258-260 zur Verfügung stehen, bzw. ob die 
               Mausform für jede Applikation lokal verwaltet wird, 
               kann per appl_getinfo (Opcode 8) abgefragt werden.

                X_MRESET (1000)

                    graf_mouse( X_MRESET, 0L );

                    Resets the mouse so that it is "on" just once, and 
                    also updates graf_mouse's idea of the hide count.

                X_MGET (1001)

                    hidecount = graf_mouse( X_MGET, MFORM *mouse );

                    In this mode, if "mouse" is non-zero, then the 
                    MFORM it points to is filled-in with the shape of 
                    the last mouse set with graf_mouse(). "hidecount" 
                    gets the number of times the mouse was hidden 
                    using graf_mouse(M_OFF...). If this number is 
                    greater than zero, the mouse is hidden that number 
                    of times. If it is zero, the mouse is shown once. 
                    If it is less than zero, the mouse is "shown" more 
                    than once.

                X_SET_SHAPE (1100)

                    graf_mouse( X_SET_SHAPE+index, ANI_MOUSE 
                    *mouse_form );

                    Change the shape of the mouse form whose number is 
                    "index". The ANI_MOUSE structure contains up to 32 
                    mouse shapes to be animated in a continuous loop 
                    while that particular mouse shape is being 
                    displayed.
                    If the "frames" portion of the ANI_MOUSE structure 
                    is one, then no animation is performed. Otherwise, 
                    it should be the number of frames contained in the 
                    mouse animation sequence. The "delay" value is the 
                    number of 50 Hz timer tics to pause between each 
                    frame in the animation. The "form" portion of the 
                    structure only needs to be initialized for the 
                    number of frames, so if there are only two frames, 
                    this means that only form[0] and form[1] are used. 
                    If a NULL pointer is passed, instead of a pointer 
                    to an ANI_MOUSE structure, then the mouse shape is 
                    restored to its default.
                    It does not matter if the application which sets a 
                    new shape terminates without resetting the mouse 
                    shape, as this call allocates memory internally to 
                    hold the new shape data.

 Ergebnis:     Ein Fehler ist nur dann aufgetreten, wenn als Ergebnis 
               0 zurückgegeben wird.

 Verfügbar:    In allen AES Versionen.

 Gruppe:       Grafikfunktionen

 Querverweis:  Binding   Mausklicks und Formen