•  Back 
  •  evnt_multi 
  •  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.7.6.1  Bindings für evnt_multi                                   TOS

 C:          int16_t evnt_multi ( int16_t ev_mflags, int16_t 
             ev_mbclicks, int16_t ev_mbmask, int16_t ev_mbstate, 
             int16_t ev_mm1flags, int16_t ev_mm1x, int16_t ev_mm1y, 
             int16_t ev_mm1width, int16_t ev_mm1height, int16_t 
             ev_mm2flags, int16_t ev_mm2x, int16_t ev_mm2y, int16_t 
             ev_mm2width, int16_t ev_mm2height, int16_t *ev_mmgpbuff, 
             int16_t ev_mtlocount, int16_t ev_mthicount, int16_t 
             *ev_mmox, int16_t *ev_mmoy, int16_t *ev_mmbutton, int16_t 
             *ev_mmokstate, int16_t *ev_mkreturn, int16_t *ev_mbreturn 
             );

 Umsetzung:

             int16_t evnt_multi (int16_t ev_mflags,  int16_t ev_mbclicks,
                                 int16_t ev_mbmask,  int16_t ev_mbstate,
                                 int16_t ev_mm1flags, int16_t ev_mm1x,
                                 int16_t ev_mm1y, int16_t ev_mm1width,
                                 int16_t ev_mm1height, int16_t ev_mm2flags,
                                 int16_t ev_mm2x, int16_t ev_mm2y,
                                 int16_t ev_mm2width, int16_t ev_mm2height,
                                 int16_t *ev_mmgpbuff, int16_t ev_mtlocount,
                                 int16_t ev_mthicount, int16_t *ev_mmox,
                                 int16_t *ev_mmoy, int16_t *ev_mmbutton,
                                 int16_t *ev_mmokstate, int16_t *ev_mkreturn,
                                 int16_t *ev_mbreturn)
             {
                int_in[0]  = ev_mflags;
                int_in[1]  = ev_mbclicks;
                int_in[2]  = ev_mbmask;
                int_in[3]  = ev_mbstate;
                int_in[4]  = ev_mm1flags;
                int_in[5]  = ev_mm1x;
                int_in[6]  = ev_mm1y;
                int_in[7]  = ev_mm1width;
                int_in[8]  = ev_mm1height;
                int_in[9]  = ev_mm2flags;
                int_in[10] = ev_mm2x;
                int_in[11] = ev_mm2y;
                int_in[12] = ev_mm2width;
                int_in[13] = ev_mm2height;
                int_in[14] = ev_mtlocount;
                int_in[15] = ev_mthicount;
                addr_in[0] = ev_mmgpbuff;
 
                crys_if (25);
 
                *ev_mmox      = int_out[1];
                *ev_mmoy      = int_out[2];
                *ev_mmbutton  = int_out[3];
                *ev_mmokstate = int_out[4];
                *ev_mkreturn  = int_out[5];
                *ev_mbreturn  = int_out[6];
 
                return (intout[0]);
             }

 GEM-Arrays:

              Adresse     Feldelement  Belegung 
              control     control[0]   25    # Opcode der Funktion 
              control+2   control[1]   16    # Einträge in int_in 
              control+4   control[2]   7     # Einträge in int_out 
              control+6   control[3]   1     # Einträge in addr_in 
              control+8   control[4]   0     # Einträge in addr_out 
              int_in      int_in[0]    ev_mflags 
              int_in+2    int_in[1]    ev_mbclicks 
              int_in+4    int_in[2]    ev_mbmask 
              int_in+6    int_in[3]    ev_mbstate 
              int_in+8    int_in[4]    ev_mm1flags 
              int_in+10   int_in[5]    ev_mm1x 
              int_in+12   int_in[6]    ev_mm1y 
              int_in+14   int_in[7]    ev_mm1width 
              int_in+16   int_in[8]    ev_mm1height 
              int_in+18   int_in[9]    ev_mm2flags 
              int_in+20   int_in[10]   ev_mm2x 
              int_in+22   int_in[11]   ev_mm2y 
              int_in+24   int_in[12]   ev_mm2width 
              int_in+26   int_in[13]   ev_mm2height 
              int_in+28   int_in[14]   ev_mtlocount 
              int_in+30   int_in[15]   ev_mthicount 
              int_out     int_out[0]   Return-Wert 
              int_out+2   int_out[1]   ev_mmox 
              int_out+4   int_out[2]   ev_mmoy 
              int_out+6   int_out[3]   ev_mmbutton 
              int_out+8   int_out[4]   ev_mmokstate 
              int_out+10  int_out[5]   ev_mkreturn 
              int_out+12  int_out[6]   ev_mbreturn 
              addr_in     addr_in[0]   ev_mmgpbuff