home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Painting / XiPaint3.2-Aminet11.lzx / XiPaint / Developer / OutputLib / libraries / xiwin.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-15  |  4.0 KB  |  89 lines

  1. /* Last Change: Herbert / 14. August 1995  10:07:17 */
  2.  
  3. /****  Header für XiWindows-Library  ****/
  4.  
  5. struct WinSet {
  6.         short SystemFontHeight;                 /* Größe des System-Fonts */
  7.         SHORT TicksPerSec;                      /* 0 = keine Ticks, sonst Anzahl Ticks / Sekunde */
  8.         SHORT MouseKeep;                        /* jedes x-te Mouse-Move behalten */
  9.         BOOL NoActKlick;                        /* wenn = TRUE wird der Aktiv-Klick einer Paint-Box geschluckt */
  10.         BOOL ClickToFront;                      /* wenn = TRUE, kommt Fenster mit Doppelklick nach vorne */
  11.         LONG opaque_pixel;                      /* Grenzwert, ab dem Brush nur mehr als Rubber */
  12.         WORD pox,poy;                           /* Pointer-Offset in x/y */
  13.  
  14.         struct MsgPort *RexxPort;               /* Exec-Struktur von Rexx-Port */
  15.         struct MsgPort *UserPort;               /* Port für Messages von außen und von Prozessen */
  16.         struct brush *brush;                    /* Brush zum Zeichnen, Font oder ausgeschnitten */
  17.         ULONG *Clut24;                          /* Palette für 24-Bit */
  18.  
  19.         struct XoutBase *XoutBase;              /* unsere Out-Library */
  20.         struct XigfxBase *XigfxBase;            /* unsere Grafik-Routinen */
  21.  
  22.         char *SystemFontName;                   /* Name des System-Fonts */
  23.      };
  24.  
  25.  
  26. /****  Strukturen für Events  ****/
  27.  
  28. struct Event {
  29.         struct Message ExecMess;        /* Exec-Message-Struktur */
  30.         UWORD Event;                    /* Art des eingetretenen Events */
  31.         UWORD KeyCode;                  /* ASCII-Code bei EV_VANILLA od. RAWKEY / Area-Nummer von Drop-Area */
  32.         UWORD Qualifier;                /* Qualifier-Taste bei EV_RAWKEY od. bei Maus-Buttons */
  33.         SHORT EvX, EvY;                 /* Koordinaten eines Events (Mausklick...) */
  34.         struct Box *EvBox;              /* Zeiger auf Box, in der Event war (bei manchen Events) */
  35.         LONG EvID;                      /* Nummer des Input-Elements (Gadget, etc. oder 0) */
  36.         LONG EvID2;                     /* Hilfs-ID-Feld für manche Events (Drag & Drop) */
  37.         void *EvAddress;                /* Zeiger auf Input-Objekt (Button, Menü, etc.) */
  38.         void *EvAddress2;               /* Hilfs-Zeiger für manche Events (Drag & Drop) */
  39.         SHORT ButtonPressed;            /* MouseButton gedrückt == TRUE */
  40.         SHORT EvPressure;               /* Druck bei Grafiktablett */
  41.         ULONG UserCode;                 /* ev. ID-Code für die User-Message */
  42.         void *UserMessage;              /* Zeiger auf Message vom User-Port */
  43.  };
  44.  
  45.  
  46. #define  EV_NOBUTTON      1             /* Events */
  47. #define  EV_LBUTTONDOWN   2
  48. #define  EV_LBUTTONUP     3
  49. #define  EV_RBUTTONDOWN   4
  50. #define  EV_RBUTTONUP     5
  51. #define  EV_VANILLAKEY    6
  52. #define  EV_RAWKEY        7
  53. #define  EV_GADGET        8
  54. #define  EV_GADGET_R      9
  55. #define  EV_GADGET_DBL   10
  56. #define  EV_MENUPICK     11
  57. #define  EV_CLOSEWIN     12
  58. #define  EV_ACTIVEWIN    13
  59. #define  EV_INACTIVEWIN  14
  60. #define  EV_REXXCALL     15
  61. #define  EV_DOACTION     16
  62. #define  EV_HELP         19
  63. #define  EV_USER         20
  64. #define  EV_INTUI        21
  65. #define  EV_DRAGDROP     22
  66.  
  67. #define  DO_ACT_BUTTON   50             /* Kommandos an den Event-Prozess */
  68.  
  69. #define  ASK_GADGET   1<<0              /* gewünschte Events bei der Abfrage */
  70. #define  ASK_MOUSE    1<<1
  71. #define  ASK_KEYS     1<<2
  72. #define  ASK_WINDOW   1<<3
  73. #define  ASK_REXX     1<<4
  74. #define  ASK_MENU     1<<5
  75. #define  ASK_HELP     1<<7
  76. #define  ASK_USER     1<<8
  77. #define  ASK_DRAGDROP 1<<9
  78. #define  ASK_INTUI    1<<11
  79.  
  80. #define  ASK_NOWAIT   1<<10
  81.  
  82.  
  83. /****  Defines für Tag von XW_SetReg()-Funktion   ****/
  84.  
  85. #define  XW_SR_SETSYSFONTH        1     /* Größe des Systemfonts nachträglich setzen */
  86. #define  XW_SR_GETUPDLOCK         2     /* Zeiger auf die Semaphore für den Update-Lock */
  87. #define  XW_SR_BEGINUPDATE        3     /* ev. störende Maus vor Zeichenoperation entfernen, Data zeigt auf SHORT-Array mit X, Y, Width, Height */
  88. #define  XW_SR_ENDUPDATE          4     /* Ende der Zeichenoperation, Wiederherstellen der Maus */
  89.