home *** CD-ROM | disk | FTP | other *** search
/ AMIGA-CD 2 / Amiga-CD - Volume 2.iso / ungepackte_daten / 1992 / 09 / 2 / window-machine / wm_source.ampk / MyStructs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-01  |  9.1 KB  |  308 lines

  1. #define ItemOn ITEMTEXT|HIGHCOMP|ITEMENABLED
  2. #define ItemOnC ITEMTEXT|COMMSEQ|HIGHCOMP|ITEMENABLED
  3. #define ItemOff ITEMTEXT|HIGHCOMP
  4. #define ItemOffC ITEMTEXT|COMMSEQ|HIGHCOMP
  5. #define ga GADGHCOMP,RELVERIFY,BOOLGADGET
  6. #define wt "Window-Titel"
  7.  
  8. struct MyImage {
  9.     SHORT LeftEdge;
  10.     SHORT TopEdge;
  11.     SHORT Width;
  12.     SHORT Height;
  13.     SHORT Depth;
  14.     USHORT *ImageData;
  15.     UBYTE PlanePick;
  16.     UBYTE PlaneOnOff;
  17.     ULONG Size;
  18.     struct Image Image;
  19. };
  20.  
  21. struct MyText {
  22.     struct MyText *NextText;
  23.     struct MyText *Parent;
  24.     SHORT LeftEdge;
  25.     SHORT TopEdge;
  26.     UBYTE DrawMode;
  27.     BYTE FrontPen;
  28.     BYTE BackPen;
  29.     UBYTE Font;
  30.     UBYTE Style;
  31.     UBYTE IText[90];
  32.     struct IntuiText Text;
  33. };
  34.  
  35. struct MyBorder {
  36.     struct MyBorder *NextBorder;
  37.     struct MyBorder *Parent;
  38.     SHORT LeftEdge;
  39.     SHORT TopEdge;
  40.     SHORT Width;
  41.     SHORT Height;
  42.     BYTE FrontPen;
  43.     BYTE BackPen;
  44.     UBYTE DrawMode;
  45.     BYTE Count;
  46.     SHORT Vectors[20];
  47.     struct Border Border;
  48. };
  49.  
  50. struct MyGadget {
  51.     struct MyGadget *NextGadget;
  52.     struct MyGadget *Parent;
  53.     struct MyBorder *GadgetBorder;
  54.     struct MyBorder *SelectBorder;
  55.     struct MyImage *GadgetImage;
  56.     struct MyImage *SelectImage;
  57.     struct MyText *FirstText;
  58.     struct MyImage *PropImage;
  59.     struct MyImage *PSImage;
  60.     USHORT PFlags;
  61.     USHORT HorizBody;
  62.     USHORT VertBody;
  63.     SHORT LeftEdge;
  64.     SHORT TopEdge;
  65.     SHORT Width;
  66.     SHORT Height;
  67.     USHORT Flags;
  68.     USHORT Activation;
  69.     USHORT GadgetType;
  70.     UBYTE Image;
  71.     UBYTE Border;
  72.     UBYTE Undo;
  73.     SHORT MaxChars;
  74.     UBYTE *Buffer;
  75.     USHORT MyId;
  76.     UBYTE Name[30];
  77.     UBYTE Exclude[10];
  78.     UBYTE Bool[10];
  79.     UBYTE User[30];
  80.     struct PropInfo PrInfo;
  81.     struct Gadget Gadget;
  82.     struct StringInfo StrInfo;
  83. };
  84.  
  85. struct MyItem {
  86.     struct MyItem *Next;
  87.     struct MyItem *Parent;
  88.     struct MyItem *Sub;
  89.     UBYTE ItemName[70];
  90.     SHORT LeftEdge;
  91.     SHORT TopEdge;
  92.     SHORT Width;
  93.     SHORT IstWidth;
  94.     SHORT Height;
  95.     USHORT Flags;
  96.     UBYTE Auto;
  97.     BYTE Command;
  98.     LONG Exclude;
  99.     LONG Bit;
  100.     USHORT NextSelect;
  101.     struct MyText *ItemText;
  102.     struct MyText *SelectText;
  103.     struct MyImage *ItemImage;
  104.     struct MyImage *SelectImage;
  105.     struct MenuItem Item;
  106. };
  107.  
  108. struct MyMenu {
  109.     struct MyMenu *Next;
  110.     struct MyMenu *Parent;
  111.     SHORT LeftEdge;
  112.     SHORT TopEdge;
  113.     SHORT Width;
  114.     SHORT Height;
  115.     USHORT Flags;
  116.     UBYTE Auto;
  117.     UBYTE MName[70];
  118.     struct MyItem *FirstItem;
  119.     struct Menu Menu;
  120. };
  121.  
  122. struct MyScreen
  123. {
  124.     struct MyScreen *NextScreen;    /* Zeiger auf nächsten Screen */
  125.     struct MyScreen *Parent;    /* Zeiger auf vorherigen Screen */
  126.     struct MyWindow *FirstWindow;    /* Zeiger auf erstes Window */
  127.     struct Screen *sc;    /* Zeiger auf Screen-Struktur */
  128.     SHORT LeftEdge;        /* linker Rand */
  129.     SHORT TopEdge;        /* oberer Rand */
  130.     SHORT Width;        /* Breite */
  131.     SHORT Height;        /* Höhe */
  132.     SHORT Depth;        /* Tiefe */
  133.     BYTE DetailPen;        /* Zeichen-Farbe */
  134.     BYTE BlockPen;        /* Hintergrund-Farbe */
  135.     USHORT ViewModes;    /* Screen-Flags */
  136.     USHORT Type;        /* Screen-Type */
  137.     USHORT Font;        /* Screen-Font */
  138.     USHORT Colors;            /* Anzahl Farben */
  139.     USHORT ColorMap[32];        /* Farb-Tabelle */
  140.     UBYTE Title[90];        /* Screen-Titel */
  141.     UBYTE Gadgets[30];        /* Name des ersten ScreenGadgets */
  142.     UBYTE BitMap[30];        /* Name der CustomBitmap */
  143.     UBYTE Name[30];
  144. };
  145.  
  146. struct MyRequest {
  147.     struct MyBorder *ReqBorder;
  148.     struct MyImage *ReqImage;
  149.     SHORT RelTop;
  150.     SHORT RelLeft;
  151.     ULONG PFlags;
  152.     ULONG NFlags;
  153.     UBYTE Type;
  154.     UBYTE BackFill;
  155. };
  156.  
  157. struct MyWindow {
  158.     struct MyWindow *NextWindow;
  159.     struct MyWindow *Parent;
  160.     struct Window *win;
  161.     struct MyScreen *Wsc;
  162.     SHORT LeftEdge;
  163.     SHORT TopEdge;
  164.     SHORT Width;
  165.     SHORT Height;
  166.     BYTE DetailPen;
  167.     BYTE BlockPen;
  168.     ULONG IDCMPFlags;
  169.     ULONG Flags;
  170.     struct MyGadget *FirstGadget;
  171.     struct MyImage *CheckMark;
  172.     UBYTE Title[90];
  173.     struct Screen *Screen;
  174.     SHORT MinWidth;
  175.     SHORT MinHeight;
  176.     SHORT MaxWidth;
  177.     SHORT MaxHeight;
  178.     USHORT Type;
  179.     struct MyMenu *MenuStrip;
  180.     struct MyRequest *FirstRequest;
  181.     struct MyText *FirstText;
  182.     UBYTE Name[30];
  183. };
  184.  
  185. struct direntry {
  186.     struct direntry *Next;
  187.     struct direntry *Parent;
  188.     UBYTE Color;
  189.     UBYTE Name[30];
  190. };
  191. struct MyScreen *asc=NULL,*helpS,*firstS=NULL,*lastS=NULL,*nosc=NULL;
  192. struct MyWindow *awin=NULL,*helpW,*firstW=NULL,*lastW=NULL,*noscW=NULL,*FW;
  193. struct MyRequest *areq=NULL,*helpR;
  194. struct MyText *aText=NULL,*firstT=NULL,*lastT=NULL,*helpT,*T1;
  195. struct MyGadget *agad=NULL,*firstG=NULL,*lastG=NULL,*helpG,*MyG,*Sgad;
  196. struct MyBorder *abor=NULL,*firstGB=NULL,*lastGB=NULL,*helpB;
  197. struct MyBorder *firstSB=NULL,*lastSB=NULL;
  198. struct MyImage *helpI;
  199. struct MyMenu *amenu=NULL,*firstM=NULL,*lastM=NULL,*helpM=NULL,*actM,*OldMenu=NULL;
  200. struct MyItem *aitem=NULL,*firstI=NULL,*lastI=NULL,*helpJ=NULL,*actI,*OldItem=NULL;
  201. struct MyItem *asub=NULL,*Sfirst=NULL,*Slast=NULL,*Shelp=NULL,*actS;
  202. struct direntry *firstF=NULL,*helpF,*firstD=NULL,*Dact;
  203.  
  204. ULONG SFLAGS[] = { WBENCHSCREEN,CUSTOMSCREEN,CUSTOMBITMAP,SCREENBEHIND,
  205.     SCREENQUIET };
  206. ULONG SVIEWS[] = { HIRES,LACE,HAM,EXTRA_HALFBRITE,GENLOCK_VIDEO,
  207.     SPRITES,DUALPF };
  208. UBYTE SFLAGS1[][13] = { "WBENCHSCREEN","CUSTOMSCREEN","CUSTOMBITMAP",
  209.     "SCREENBEHIND","SCREENQUIET" };
  210. UBYTE SVIEWS1[][16] = { "HIRES","LACE","HAM","EXTRA_HALFBRITE",
  211.     "GENLOCK_VIDEO","SPRITES","DUALPF" };
  212.     
  213. ULONG WFLAGS[] = {
  214.     SMART_REFRESH,SIMPLE_REFRESH,SUPER_BITMAP,WINDOWSIZING,
  215.     WINDOWDRAG,WINDOWDEPTH,WINDOWCLOSE,SIZEBRIGHT,
  216.     SIZEBBOTTOM,BACKDROP,REPORTMOUSE,GIMMEZEROZERO,
  217.     BORDERLESS,ACTIVATE,RMBTRAP,NOCAREREFRESH };
  218. UBYTE WFLAGS1[][15] = {
  219.     "SMART_REFRESH","SIMPLE_REFRESH","SUPER_BITMAP","WINDOWSIZING",
  220.     "WINDOWDRAG","WINDOWDEPTH","WINDOWCLOSE","SIZEBRIGHT",
  221.     "SIZEBBOTTOM","BACKDROP","REPORTMOUSE","GIMMEZEROZERO",
  222.     "BORDERLESS","ACTIVATE","RMBTRAP","NOCAREREFRESH" };
  223. ULONG WIDCMP[] = {
  224.     SIZEVERIFY,NEWSIZE,REFRESHWINDOW,MOUSEBUTTONS,MOUSEMOVE,
  225.     GADGETDOWN,GADGETUP,REQSET,MENUPICK,CLOSEWINDOW,RAWKEY,
  226.     REQVERIFY,REQCLEAR,MENUVERIFY,NEWPREFS,DISKINSERTED,
  227.     DISKREMOVED,WBENCHMESSAGE,ACTIVEWINDOW,INACTIVEWINDOW,
  228.     DELTAMOVE,VANILLAKEY,INTUITICKS };
  229. UBYTE WIDCMP1[][15] = {
  230.     "SIZEVERIFY","NEWSIZE","REFRESHWINDOW","MOUSEBUTTONS","MOUSEMOVE",
  231.     "GADGETDOWN","GADGETUP","REQSET","MENUPICK","CLOSEWINDOW","RAWKEY",
  232.     "REQVERIFY","REQCLEAR","MENUVERIFY","NEWPREFS","DISKINSERTED",
  233.     "DISKREMOVED","WBENCHMESSAGE","ACTIVEWINDOW","INACTIVEWINDOW",
  234.     "DELTAMOVE","VANILLAKEY","INTUITICKS" };
  235.  
  236. UBYTE TStyle[][11] = { "  NORMAL  ","UNDERLINED","   BOLD   ","  ITALIC  ",
  237.     " EXTENDED " };
  238. UBYTE TDMode[][11] = { "   JAM1   ","   JAM2   ","COMPLEMENT","INVERSVID " };
  239. UBYTE DMode[] = { JAM1,JAM2,COMPLEMENT,INVERSVID };
  240. UBYTE FStyle[] = { FS_NORMAL,FSF_UNDERLINED,FSF_BOLD,FSF_ITALIC,
  241.     FSF_EXTENDED };
  242. UBYTE FStyle1[][15] = { "FS_NORMAL","FSF_UNDERLINED","FSF_BOLD","FSF_ITALIC",
  243.     "FSF_EXTENDED" };
  244. UBYTE FONT[][13] = { "  DEFAULT   ","TOPAZ_EIGHTY","TOPAZ_SIXTY " };
  245. UBYTE DRAW[][11] = { "JAM1","JAM2","COMPLEMENT","INVERSVID" };
  246.  
  247. USHORT PROPFLAGS[] = { FREEHORIZ,FREEVERT,PROPBORDERLESS };
  248. USHORT GTYPE[] = { 0x8000,0x4000,0x2000,SIZING,WDRAGGING,
  249.     SDRAGGING,WUPFRONT,SUPFRONT,WDOWNBACK,SDOWNBACK,CLOSE,GADGET0002,
  250.     PROPGADGET,STRGADGET,BOOLGADGET };
  251. USHORT GACTIV[] = { RELVERIFY,GADGIMMEDIATE,ENDGADGET,FOLLOWMOUSE,
  252.     RIGHTBORDER,LEFTBORDER,TOPBORDER,BOTTOMBORDER,TOGGLESELECT,
  253.     STRINGCENTER,STRINGRIGHT,LONGINT,ALTKEYMAP };
  254. USHORT GFLAGS[] = { GADGHCOMP,GADGHBOX,GADGHNONE,GRELBOTTOM,GRELRIGHT,
  255.     GRELWIDTH,GRELHEIGHT,SELECTED,GADGDISABLED };
  256.  
  257. UBYTE PROPFLAGS1[][15] = { "FREEHORIZ","FREEVERT","PROPBORDERLESS" };
  258. UBYTE GTYPE1[][11] = { "SYSGADGET","SCRGADGET","GZZGADGET","SIZING",
  259.     "WDRAGGING","SDRAGGING","WUPFRONT","SUPFRONT","WDOWNBACK",
  260.     "SDOWNBACK","CLOSE","GADGET0002","PROPGADGET","STRGADGET",
  261.     "BOOLGADGET" };
  262. UBYTE GACTIV1[][14] = { "RELVERIFY","GADGIMMEDIATE","ENDGADGET",
  263.     "FOLLOWMOUSE","RIGHTBORDER","LEFTBORDER","TOPBORDER",
  264.     "BOTTOMBORDER","TOGGLESELECT","STRINGCENTER","STRINGRIGHT",
  265.     "LONGINT","ALTKEYMAP","UNDOBUFFER" };
  266. UBYTE GFLAGS1[][13] = { "GADGHCOMP","GADGHBOX","GADGHNONE","GRELBOTTOM",
  267.     "GRELRIGHT","GRELWIDTH","GRELHEIGHT","SELECTED","GADGDISABLED" };
  268.  
  269. USHORT MFLAGS[] = { ITEMENABLED,CHECKED,CHECKIT,MENUTOGGLE,HIGHCOMP,
  270.     HIGHBOX,HIGHNONE };
  271. UBYTE MFLAGS1[][12] = { "ITEMENABLED","CHECKED","CHECKIT","MENUTOGGLE",
  272.     "HIGHCOMP","HIGHBOX","HIGHNONE" };
  273. struct TextAttr TOPAZ[] = {
  274.     { (STRPTR)&FontName,TOPAZ_EIGHTY,0,0 },
  275.     { (STRPTR)&FontName,TOPAZ_EIGHTY,1,0 },    
  276.     { (STRPTR)&FontName,TOPAZ_EIGHTY,2,0 },
  277.     { (STRPTR)&FontName,TOPAZ_EIGHTY,3,0 },
  278.     { (STRPTR)&FontName,TOPAZ_EIGHTY,4,0 },
  279.     { (STRPTR)&FontName,TOPAZ_EIGHTY,5,0 },    
  280.     { (STRPTR)&FontName,TOPAZ_EIGHTY,6,0 },
  281.     { (STRPTR)&FontName,TOPAZ_EIGHTY,7,0 },
  282.     { (STRPTR)&FontName,TOPAZ_EIGHTY,8,0 },
  283.     { (STRPTR)&FontName,TOPAZ_EIGHTY,9,0 },    
  284.     { (STRPTR)&FontName,TOPAZ_EIGHTY,10,0 },
  285.     { (STRPTR)&FontName,TOPAZ_EIGHTY,11,0 },
  286.     { (STRPTR)&FontName,TOPAZ_EIGHTY,12,0 },
  287.     { (STRPTR)&FontName,TOPAZ_EIGHTY,13,0 },    
  288.     { (STRPTR)&FontName,TOPAZ_EIGHTY,14,0 },
  289.     { (STRPTR)&FontName,TOPAZ_EIGHTY,15,0 },
  290.     
  291.     { (STRPTR)&FontName,TOPAZ_SIXTY,0,0 },
  292.     { (STRPTR)&FontName,TOPAZ_SIXTY,1,0 },    
  293.     { (STRPTR)&FontName,TOPAZ_SIXTY,2,0 },
  294.     { (STRPTR)&FontName,TOPAZ_SIXTY,3,0 },
  295.     { (STRPTR)&FontName,TOPAZ_SIXTY,4,0 },
  296.     { (STRPTR)&FontName,TOPAZ_SIXTY,5,0 },    
  297.     { (STRPTR)&FontName,TOPAZ_SIXTY,6,0 },
  298.     { (STRPTR)&FontName,TOPAZ_SIXTY,7,0 },
  299.     { (STRPTR)&FontName,TOPAZ_SIXTY,8,0 },
  300.     { (STRPTR)&FontName,TOPAZ_SIXTY,9,0 },    
  301.     { (STRPTR)&FontName,TOPAZ_SIXTY,10,0 },
  302.     { (STRPTR)&FontName,TOPAZ_SIXTY,11,0 },
  303.     { (STRPTR)&FontName,TOPAZ_SIXTY,12,0 },
  304.     { (STRPTR)&FontName,TOPAZ_SIXTY,13,0 },    
  305.     { (STRPTR)&FontName,TOPAZ_SIXTY,14,0 },
  306.     { (STRPTR)&FontName,TOPAZ_SIXTY,15,0 }
  307. };
  308.