home *** CD-ROM | disk | FTP | other *** search
Wrap
@DATABASE "Device/IEvent.h" @MASTER "Work2:AD/IInc/Device/IEvent.h" @REMARK This file was created by ADtoHT 2.0 on 11-Mär-97 13:33:43 @REMARK Do not edit @REMARK ADtoHT is © 1993-1995 Christian Stieber @NODE MAIN "Device/IEvent.h" @TOC "__pOS_Dev.guide/MAIN" @{"Device/IEvent.h" LINK File} @{b}Structures@{ub} @{"pOS_IEDragDrop" LINK "Device/IEvent.h/File" 210} @{"pOS_IENewTablet" LINK "Device/IEvent.h/File" 194} @{"pOS_IEPointerPixel" LINK "Device/IEvent.h/File" 174} @{"pOS_IEPointerTablet" LINK "Device/IEvent.h/File" 183} @{"pOS_InputEvent" LINK "Device/IEvent.h/File" 232} @{b}#defines@{ub} @{"ie_DeadKey" LINK "Device/IEvent.h/File" 263} @{"ie_EventAddress" LINK "Device/IEvent.h/File" 268} @{"ie_Prev1DownCode" LINK "Device/IEvent.h/File" 269} @{"ie_Prev1DownQual" LINK "Device/IEvent.h/File" 270} @{"ie_Prev2DownCode" LINK "Device/IEvent.h/File" 271} @{"ie_Prev2DownQual" LINK "Device/IEvent.h/File" 272} @{"ie_X" LINK "Device/IEvent.h/File" 266} @{"ie_Y" LINK "Device/IEvent.h/File" 267} @ENDNODE @NODE File "Device/IEvent.h" #ifndef __INC_POS_DEVICE_IEVENT_H #define __INC_POS_DEVICE_IEVENT_H /******************************************************************* Includes Release 24 (C) Copyright 1995-1997 proDAD All Rights Reserved $AUT Holger Burkarth $DAT >>IEvent.h<< 22 Jan 1997 14:34:02 - (C) ProDAD *******************************************************************/ #ifndef __INC_POS_PEXEC_LIST_H #include <@{"pExec/List.h" LINK "pExec/List.h/File"}> #endif #ifndef __INC_POS_DEVICE_TIMER_H #include <@{"Device/Timer.h" LINK "Device/Timer.h/File"}> #endif #ifndef __INC_POS_PLAYER_RECT_H #include <@{"pLayer/Rect.h" LINK "pLayer/Rect.h/File"}> #endif enum pOS_InputEventClass { IECLASS_NULL =0x00, /* A NOP input event */ IECLASS_RAWKEY =0x01, /* A raw keycode from the keyboard device */ IECLASS_RAWMOUSE =0x02, /* The raw mouse report from the game port device */ IECLASS_EVENT =0x03, /* A private console event */ IECLASS_POINTERPOS =0x04, /* A Pointer Position report */ IECLASS_TIMER =0x06, /* A timer event */ IECLASS_GADGETDOWN =0x07, /* select button pressed down over a Gadget (address in @{"ie_EventAddress" LINK File 268}) */ IECLASS_GADGETUP =0x08, /* select button released over the same Gadget (address in @{"ie_EventAddress" LINK File 268}) */ IECLASS_GADGETABORT =0x09, /* (address in @{"ie_EventAddress" LINK File 268}) */ IECLASS_MENULIST =0x0A, /* this is a Menu Number transmission (Menu number is in ie_Code) */ IECLASS_CLOSEWINDOW =0x0B, /* User has selected the active Window's Close Gadget */ IECLASS_SIZEWINDOW =0x0C, /* this Window has a new size */ IECLASS_REFRESHWINDOW =0x0D, /* the Window pointed to by @{"ie_EventAddress" LINK File 268} needs to be refreshed */ IECLASS_UPDATEGADGET =0x0E, /* Gadget wurde verändert (prop) (address in @{"ie_EventAddress" LINK File 268}) */ IECLASS_DISKREMOVED =0x0F, /* the disk has been removed */ IECLASS_DISKINSERTED =0x10, /* the disk has been inserted */ IECLASS_ACTIVEWINDOW =0x11, /* the window is about to be been made active */ IECLASS_INACTIVEWINDOW=0x12, /* the window is about to be made inactive */ IECLASS_HELP =0x14, /* Help */ IECLASS_CHANGEWINDOW =0x15, /* the Window has been modified with move, size, zoom, or change */ IECLASS_DRAGKEY =0x16, /* */ IECLASS_DROP =0x17, /* */ IECLASS_MAX =0x17, /* the last class */ }; enum pOS_InputEventSubClass { IESUBCLASS_COMPATIBLE=0x00, /* IECLASS_NEWPOINTERPOS */ IESUBCLASS_PIXEL =0x01, /* @{"ie_EventAddress" LINK File 268} points to struct IEPointerPixel */ IESUBCLASS_TABLET =0x02, /* @{"ie_EventAddress" LINK File 268} points to struct IEPointerTablet */ IESUBCLASS_NEWTABLET =0x03, /* @{"ie_EventAddress" LINK File 268} points to struct IENewTablet */ }; enum pOS_InputEventCode { /* IECLASS_RAWKEY */ IECODE_UP_PREFIX =0x80, IECODE_KEY_CODE_FIRST =0x00, IECODE_KEY_CODE_LAST =0x77, IECODE_COMM_CODE_FIRST =0x78, IECODE_COMM_CODE_LAST =0x7F, /* IECLASS_ANSI */ IECODE_C0_FIRST =0x00, IECODE_C0_LAST =0x1F, IECODE_ASCII_FIRST =0x20, IECODE_ASCII_LAST =0x7E, IECODE_ASCII_DEL =0x7F, IECODE_C1_FIRST =0x80, IECODE_C1_LAST =0x9F, IECODE_LATIN1_FIRST =0xA0, IECODE_LATIN1_LAST =0xFF, /* IECLASS_RAWMOUSE */ IECODE_LBUTTON =0x68, /* also uses IECODE_UP_PREFIX */ IECODE_RBUTTON =0x69, IECODE_MBUTTON =0x6A, IECODE_NOBUTTON =0xFF, /* IECLASS_SIZEWINDOW, IECLASS_CHANGEWINDOW */ IECODE_ADDWIDTH =0x0001, IECODE_SUBWIDTH =0x0002, IECODE_ADDHEIGHT =0x0004, IECODE_SUBHEIGHT =0x0008, IECODE_ADDLEFT =0x0010, IECODE_SUBLEFT =0x0020, IECODE_ADDTOP =0x0040, IECODE_SUBTOP =0x0080, /* IECODE_DROP */ IECODE_DROP_FIRST =0x00, /* Message für Drop erzeugen */ IECODE_DROP_WORK =0x01, /* Drop-Message bearbeiten */ IECODE_DROP_ABORT =0x02, /* Drop-Message wurde nicht bearbeitet */ IECODE_DROP_REPLYWORK =0x03, /* Message nach @{"pOS_ReplyMsg" LINK "pExecD/pOS_ReplyMsg"} bearbeiten */ }; enum pOS_InputEventGdUpCode /** GadgetUpdate, GadgetUp, GadgetDown, GadgetAbort */ { /* wird gefilter => + */ IEGUCODE_Mask=0xff, IEGUCODE_Unknown =0, /* 0 Unbekannt, kann nicht eingeteilt werden */ IEGUCODE_Start, /* 1 Prozeß, Vorgang, Ablauf,... wird gestartet */ IEGUCODE_Stop, /* Prozeß, Vorgang, Ablauf,... wurde gestoppt */ IEGUCODE_End, /* Prozeß, Vorgang, Ablauf,... wurde beendet */ IEGUCODE_Select, /* Der Selektzustand hat sich verändert */ IEGUCODE_Scroll, /*+ 5 Grafikinhalt wurde verschoben */ IEGUCODE_Ok, /* Bestätigung */ IEGUCODE_Cancel, /* Widerruft, Abbruch */ IEGUCODE_Error, /* Fehler */ IEGUCODE_Notify, /* Auslöser ist ICLMTH_Notify */ IEGUCODE_UpSelect, /*+ 10 Der Selektzustand hat sich verändert (Update auf IEGUCODE_Select) */ IEGUCODE_Alternate, /* Allegmeine Veränderung, (Eingabe in StrGad) */ IEGUCODE_Drop, /* Eingabe erfolgte per Drag&Drop */ IEGUCODE_Active, /* Gadget wurde aktiviert (Fokus auf Gadget) */ IEGUCODE_Inactive, /* Gadget gibt Fokus ab */ IEGUCODE_Drag, /* 15 */ IEGUCODE_MAX, }; enum pOS_InputEventQualifier { IEQUALIFIER_LSHIFT =0x0001, IEQUALIFIER_RSHIFT =0x0002, IEQUALIFIER_CAPSLOCK =0x0004, IEQUALIFIER_CONTROL =0x0008, IEQUALIFIER_LALT =0x0010, IEQUALIFIER_RALT =0x0020, IEQUALIFIER_LCOMMAND =0x0040, IEQUALIFIER_RCOMMAND =0x0080, IEQUALIFIER_NUMERICPAD =0x0100, IEQUALIFIER_REPEAT =0x0200, IEQUALIFIER_INTERRUPT =0x0400, IEQUALIFIER_MULTIBROADCAST =0x0800, IEQUALIFIER_MIDBUTTON =0x1000, IEQUALIFIER_RBUTTON =0x2000, IEQUALIFIER_LEFTBUTTON =0x4000, IEQUALIFIER_RELATIVEMOUSE =0x8000, IEQUALIFIERB_LSHIFT =0, IEQUALIFIERB_RSHIFT =1, IEQUALIFIERB_CAPSLOCK =2, IEQUALIFIERB_CONTROL =3, IEQUALIFIERB_LALT =4, IEQUALIFIERB_RALT =5, IEQUALIFIERB_LCOMMAND =6, IEQUALIFIERB_RCOMMAND =7, IEQUALIFIERB_NUMERICPAD =8, IEQUALIFIERB_REPEAT =9, IEQUALIFIERB_INTERRUPT =10, IEQUALIFIERB_MULTIBROADCAST =11, IEQUALIFIERB_MIDBUTTON =12, IEQUALIFIERB_RBUTTON =13, IEQUALIFIERB_LEFTBUTTON =14, IEQUALIFIERB_RELATIVEMOUSE =15, }; /*---------------------------------- -----------------------------------*/ struct pOS_IEPointerPixel { @{"struct pOS_Screen" LINK "pScreen/Screen.h/File" 22} *iepp_Screen; @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26} iepp_Position; }; /*---------------------------------- -----------------------------------*/ struct pOS_IEPointerTablet { @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26} iept_Range; @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26} iept_Value; @{"SWORD" LINK "pExec/Types.h/File" 92} iept_Pressure; /* -128 => 127 (unused, set to 0) */ }; /*---------------------------------- -----------------------------------*/ struct pOS_IENewTablet { @{"struct pOS_Callback" LINK "pExec/CallBack.h/File" 17} *ient_CallBack; @{"UWORD" LINK "pExec/Types.h/File" 93} ient_ScaledX, ient_ScaledY; @{"UWORD" LINK "pExec/Types.h/File" 93} ient_ScaledXFraction, ient_ScaledYFraction; @{"ULONG" LINK "pExec/Types.h/File" 91} ient_TabletX, ient_TabletY; @{"ULONG" LINK "pExec/Types.h/File" 91} ient_RangeX, ient_RangeY; const @{"struct pOS_TagItem" LINK "pUtil/TagItem.h/File" 19} *ient_TagList; }; /*---------------------------------- ie_Class==IECLASS_DROP (@{"struct pOS_IEDragDrop" LINK "Device/IEvent.h/File" 210}*)ie->@{"ie_EventAddress" LINK File 268} -----------------------------------*/ struct pOS_IEDragDrop { struct @{"struct pOS_Screen" LINK "pScreen/Screen.h/File" 22} *iedd_Screen; @{"struct pOS_Window" LINK "pScreen/Window.h/File" 18} *iedd_Window; @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18} *iedd_Gadget; @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26} iedd_Mouse; @{"struct pOS_TimeVal" LINK "Device/Timer.h/File" 36} iedd_Time; @{"UBYTE" LINK "pExec/Types.h/File" 95} iedd_Reserved1[8]; } iedd_Src, iedd_Dst; /* Source, Destination */ const struct pOS_DropAttribute *iedd_DropAtt; @{"struct pOS_DataType" LINK "pDtType/DtType.h/File" 18} *iedd_Object; @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26} iedd_Offset; }; /*---------------------------------- -----------------------------------*/ struct pOS_InputEvent { struct pOS_InputEvent *ie_NextEvent; /* the chronologically next event */ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_Class; /* the input event class */ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_SubClass; /* optional subclass of the class */ @{"ULONG" LINK "pExec/Types.h/File" 91} ie_Code; /* the input event code */ @{"UWORD" LINK "pExec/Types.h/File" 93} ie_Qualifier; /* qualifiers in effect for the event*/ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_Reserved1[8]; union @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_Reserved2[8]; struct @{"UWORD" LINK "pExec/Types.h/File" 93} ie_x; /* the pointer position for the event*/ @{"UWORD" LINK "pExec/Types.h/File" 93} ie_y; } ie_xy; @{"APTR" LINK "pExec/Types.h/File" 87} ie_addr; /* the event address */ @{"ULONG" LINK "pExec/Types.h/File" 91} ie_deadKey; /* DeadKey pack */ struct @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_prev1DownCode; /* previous down keys for dead */ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_prev1DownQual; /* key translation: the ie_Code */ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_prev2DownCode; /* & low byte of ie_Qualifier for */ @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_prev2DownQual; /* last & second last down keys */ } ie_dead; } ie_position; @{"struct pOS_TimeVal" LINK "Device/Timer.h/File" 36} ie_TimeStamp; /* the system tick at the event */ @{"ULONG" LINK "pExec/Types.h/File" 91} ie_Data; @{"UBYTE" LINK "pExec/Types.h/File" 95} ie_Reserved3[8]; }; #define ie_DeadKey ie_position.ie_deadKey #ifndef ie_X #define ie_X ie_position.ie_xy.ie_x #define ie_Y ie_position.ie_xy.ie_y #define ie_EventAddress ie_position.ie_addr #define ie_Prev1DownCode ie_position.ie_dead.ie_prev1DownCode #define ie_Prev1DownQual ie_position.ie_dead.ie_prev1DownQual #define ie_Prev2DownCode ie_position.ie_dead.ie_prev2DownCode #define ie_Prev2DownQual ie_position.ie_dead.ie_prev2DownQual #endif #endif @ENDNODE