home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / disk / misc / dcmp / source / source.lha / data.c < prev    next >
C/C++ Source or Header  |  1993-01-17  |  18KB  |  512 lines

  1. /* $Id: data.c,v 1.18 92/12/10 04:21:23 tf Exp $ © Tobias Ferber */
  2.  
  3. #include <intuition/intuition.h>
  4. #include <workbench/workbench.h>
  5.  
  6. #include "info.c"
  7.  
  8. /*
  9.  * We need this since we can't be sure that we will open on
  10.  * a screen that uses a fitting font for our digests
  11.  */
  12.  
  13. struct TextAttr TextAttr =
  14. { (STRPTR) "topaz.font",  /* ta_Name  */
  15.   8,                      /* ta_YSize */
  16.   FS_NORMAL,              /* ta_Style */
  17.   FPF_ROMFONT,            /* ta_Flags */
  18. };
  19.  
  20. #include "menus.c"
  21.  
  22. /*
  23.  * These texts are not multilingual (yet) because they are dependant on
  24.  * length and position of the underlined character.  Possible translations
  25.  * for future revisions:
  26.  *
  27.  * +-----------------+-----------------+-----------------+-----------------+
  28.  * | English         | Deutsch         | Français        | Italiano        |
  29.  * +-----------------+-----------------+-----------------+-----------------+
  30.  * | Verify Tracks   | Tracks prüfen   | Verifiér TRKs   |                 |
  31.  * | Logfile         | LogFile         | Logfile         |                 |
  32.  * | Begin Operation | DCMP starten    |                 |                 |
  33.  * | Stop !          | Stop !          | Stop !          |                 |
  34.  * | Equal:  Yes  No |                 |                 |                 |
  35.  * | Start/End:      |                 |                 |                 |
  36.  * | Att/Err:        |                 |                 |                 |
  37.  * +-----------------+-----------------+-----------------+-----------------+
  38.  *
  39.  */
  40.  
  41. struct IntuiText gadget_text[]= {
  42.   { 1, 0, JAM1, 36,  2, &TextAttr, "Verify Tracks",   &gadget_text[ 8] }, /* 0 */
  43.   { 1, 0, JAM2, 12,  4, &TextAttr, "_      ",         &gadget_text[ 9] }, /* 1 */
  44.   { 1, 0, JAM1, 20,  3, &TextAttr, "Logfile",         &gadget_text[10] }, /* 2 */
  45.   { 1, 0, JAM1,  7,  3, &TextAttr, "DF0:",            &gadget_text[11] }, /* 3 */
  46.   { 1, 0, JAM1,  7,  3, &TextAttr, "DF1:",            &gadget_text[11] }, /* 4 */
  47.   { 1, 0, JAM1,  7,  3, &TextAttr, "DF2:",            &gadget_text[11] }, /* 5 */
  48.   { 1, 0, JAM1,  7,  3, &TextAttr, "DF3:",            &gadget_text[11] }, /* 6 */
  49.   { 1, 0, JAM2, 12,  4, &TextAttr, "      _",         &gadget_text[12] }, /* 7 */
  50.   { 1, 0, JAM1, 36,  3, &TextAttr, "_",               NULL }, /*  8 */
  51.   { 1, 0, JAM2, 12,  3, &TextAttr, "Begin Operation", NULL }, /*  9 */
  52.   { 1, 0, JAM1, 20,  4, &TextAttr, "   _",            NULL }, /* 10 */
  53.   { 1, 0, JAM1,  7,  4, &TextAttr, "  _",             NULL }, /* 11 */
  54.   { 1, 0, JAM2, 12,  3, &TextAttr, "     Stop !    ", NULL }, /* 12 */
  55. };
  56.  
  57. struct IntuiText info_text[] = {
  58.   { 1, 0, JAM1,  0,-10, &TextAttr, "Equal:   Yes    No",&info_text[1] }, /* 0 */
  59.   { 1, 0, JAM1, 10,  5, &TextAttr, "Start/End: 00/79",  &info_text[2] }, /* 1 */
  60.   { 1, 0, JAM1, 10,  6, &TextAttr, "_     _",           &info_text[3] }, /* 2 */
  61.   { 1, 0, JAM1, 10, 16, &TextAttr, "Att/Err..:  00/i",  &info_text[4] }, /* 3 */
  62.   { 1, 0, JAM1, 10, 17, &TextAttr, "_    _",            &info_text[5] }, /* 4 */
  63.   { 1, 0, JAM1, 10, 27, &TextAttr, "Track....:   000",  NULL          }, /* 5 */
  64. };
  65.  
  66. #define HOOK_ID    0L
  67. #define BEGIN_ID   1L
  68. #define LOGFILE_ID 2L
  69. #define DRIVE0_ID  3L
  70. #define DRIVE1_ID  4L
  71. #define DRIVE2_ID  5L
  72. #define DRIVE3_ID  6L
  73. #define OVERLAY_ID 7L
  74. #define STRING_ID  8L
  75.  
  76. char logfile_name[256], undo_buffer[256];
  77.  
  78. struct StringInfo string_info =
  79. { logfile_name,     /* Buffer (NULL is *NOT* allowed!) */
  80.   undo_buffer,      /* UndoBuffer */
  81.   0,                /* BufferPos */
  82.   255,              /* MaxChars */
  83.   0                 /* DispPos */
  84. };
  85.  
  86. struct Gadget string_gadget =
  87. { NULL,             /* NextGadget */
  88.   117-4,            /* LeftEdge */
  89.   103-11,           /* TopEdge */
  90.   198,              /* Width */
  91.   10,               /* Height */
  92.   GADGHCOMP,        /* Flags */
  93.   GADGIMMEDIATE|    /* Activation */
  94.   RELVERIFY,
  95.   STRGADGET,        /* GadgetType */
  96.   NULL,             /* GadgetRender */
  97.   NULL,             /* SelectRender */
  98.   NULL,             /* GadgetText */
  99.   NULL,             /* MutualExclude */
  100.   &string_info,     /* SpecialInfo */
  101.   STRING_ID,        /* GadgetID */
  102.   NULL              /* UserData */
  103. };
  104.  
  105. struct Gadget overlay_gadget =
  106. { NULL,             /* NextGadget */
  107.   117-4,            /* LeftEdge */
  108.   103-11,           /* TopEdge */
  109.   198,              /* Width */
  110.   10,               /* Height */
  111.   GADGHNONE,        /* Flags */
  112.   GADGIMMEDIATE,    /* Activation */
  113.   BOOLGADGET,       /* GadgetType */
  114.   NULL,             /* GadgetRender */
  115.   NULL,             /* SelectRender */
  116.   NULL,             /* GadgetText */
  117.   NULL,             /* MutualExclude */
  118.   NULL,             /* SpecialInfo */
  119.   OVERLAY_ID,       /* GadgetID */
  120.   NULL              /* UserData */
  121. };
  122.  
  123. struct Gadget drive_gadget[4] =
  124. {
  125.   { &drive_gadget[1], /* NextGadget */
  126.     323-4,          /* LeftEdge */
  127.     100-11,         /* TopEdge */
  128.     44,             /* Width */
  129.     14,             /* Height */
  130.     GADGHCOMP,      /* Flags */
  131.     RELVERIFY|      /* Activation */
  132.     GADGIMMEDIATE|
  133.     TOGGLESELECT,
  134.     BOOLGADGET,     /* GadgetType */
  135.     NULL,           /* GadgetRender */
  136.     NULL,           /* SelectRender */
  137.     &gadget_text[3],/* GadgetText */
  138.     NULL,           /* MutualExclude */
  139.     NULL,           /* SpecialInfo */
  140.     DRIVE0_ID,      /* GadgetID */
  141.     NULL            /* UserData */
  142.   },
  143.  
  144.   { &drive_gadget[2], /* NextGadget */
  145.     323+48-4,       /* LeftEdge */
  146.     100-11,         /* TopEdge */
  147.     44,             /* Width */
  148.     14,             /* Height */
  149.     GADGHCOMP,      /* Flags */
  150.     RELVERIFY|      /* Activation */
  151.     GADGIMMEDIATE|
  152.     TOGGLESELECT,
  153.     BOOLGADGET,     /* GadgetType */
  154.     NULL,           /* GadgetRender */
  155.     NULL,           /* SelectRender */
  156.     &gadget_text[4],/* GadgetText */
  157.     NULL,           /* MutualExclude */
  158.     NULL,           /* SpecialInfo */
  159.     DRIVE1_ID,      /* GadgetID */
  160.     NULL            /* UserData */
  161.   },
  162.  
  163.   { &drive_gadget[3], /* NextGadget */
  164.     323+2*48-4,     /* LeftEdge */
  165.     100-11,         /* TopEdge */
  166.     44,             /* Width */
  167.     14,             /* Height */
  168.     GADGHCOMP,      /* Flags */
  169.     RELVERIFY|      /* Activation */
  170.     GADGIMMEDIATE|
  171.     TOGGLESELECT,
  172.     BOOLGADGET,     /* GadgetType */
  173.     NULL,           /* GadgetRender */
  174.     NULL,           /* SelectRender */
  175.     &gadget_text[5],/* GadgetText */
  176.     NULL,           /* MutualExclude */
  177.     NULL,           /* SpecialInfo */
  178.     DRIVE2_ID,      /* GadgetID */
  179.     NULL            /* UserData */
  180.   },
  181.  
  182.   { &string_gadget, /* NextGadget */
  183.     323+3*48-4,     /* LeftEdge */
  184.     100-11,         /* TopEdge */
  185.     44,             /* Width */
  186.     14,             /* Height */
  187.     GADGHCOMP,      /* Flags */
  188.     RELVERIFY|      /* Activation */
  189.     GADGIMMEDIATE|
  190.     TOGGLESELECT,
  191.     BOOLGADGET,     /* GadgetType */
  192.     NULL,           /* GadgetRender */
  193.     NULL,           /* SelectRender */
  194.     &gadget_text[6],/* GadgetText */
  195.     NULL,           /* MutualExclude */
  196.     NULL,           /* SpecialInfo */
  197.     DRIVE3_ID,      /* GadgetID */
  198.     NULL            /* UserData */
  199.   }
  200.  
  201. };
  202.  
  203. struct Gadget logfile_gadget =
  204. { &drive_gadget[0], /* NextGadget */
  205.   7-4,              /* LeftEdge */            /* TFRAME0_X ??? */
  206.   100-11,           /* TopEdge */
  207.   100,              /* Width */
  208.   14,               /* Height */
  209.   GADGHCOMP,        /* Flags */
  210.   GADGIMMEDIATE|    /* Activation */
  211.   RELVERIFY,
  212.   BOOLGADGET,       /* GadgetType */
  213.   NULL,             /* GadgetRender */
  214.   NULL,             /* SelectRender */
  215.   &gadget_text[2],  /* GadgetText */
  216.   NULL,             /* MutualExclude */
  217.   NULL,             /* SpecialInfo */
  218.   LOGFILE_ID,       /* GadgetID */
  219.   NULL              /* UserData */
  220. };
  221.  
  222. struct Gadget begin_gadget =
  223. { &logfile_gadget,  /* NextGadget */
  224.   366-4,            /* LeftEdge */            /* INFOBOX_X */
  225.   82-11,            /* TopEdge */
  226.   145,              /* Width */               /* INFOBOX_W */
  227.   14,               /* Height */
  228.   GADGHCOMP,        /* Flags */
  229.   GADGIMMEDIATE|    /* Activation */
  230.   RELVERIFY,
  231.   BOOLGADGET,       /* GadgetType */
  232.   NULL,             /* GadgetRender */
  233.   NULL,             /* SelectRender */
  234.   &gadget_text[1],  /* GadgetText */
  235.   NULL,             /* MutualExclude */
  236.   NULL,             /* SpecialInfo */
  237.   BEGIN_ID,         /* GadgetID */
  238.   NULL              /* UserData */
  239. };
  240.  
  241. SHORT hook_pairs[] =
  242. { 7,5,    /*.......................*/
  243.   10,8,   /*................***....*/
  244.   12,8,   /*...............**......*/
  245.   18,2,   /*..............**.......*/
  246.   19,2,   /*......***....**........*/
  247.   17,2,   /*.......***..**.........*/
  248.   11,8,   /*........*****..........*/
  249.   8,5,    /*.........***...........*/
  250.   9,5,    /*.......................*/
  251.   11,7    /*.......................*/
  252. };
  253.  
  254. struct Border hook_on_border =
  255. { 0,0,              /* LeftEdge, TopEdge */
  256.   1,                /* FrontPen */
  257.   0,                /* BackPen */
  258.   JAM1,             /* DrawMode */
  259.   10,               /* Count */
  260.   hook_pairs,       /* XY */
  261.   NULL              /* NextBorder */
  262. };
  263.  
  264. struct Border hook_off_border =
  265. { 0,0,              /* LeftEdge, TopEdge */
  266.   0,                /* FrontPen */
  267.   0,                /* BackPen */
  268.   JAM2,             /* DrawMode */
  269.   10,               /* Count */
  270.   hook_pairs,       /* XY */
  271.   NULL              /* NextBorder */
  272. };
  273.  
  274. struct Gadget hook_gadget =
  275. { &begin_gadget,    /* NextGadget */
  276.   366-4,            /* LeftEdge */      /* INFOBOX_X */
  277.   68-11,            /* TopEdge */
  278.   26,               /* Width */
  279.   11,               /* Height */
  280.   GADGHIMAGE,       /* Flags */
  281.   GADGIMMEDIATE|    /* Activation */
  282.   RELVERIFY|
  283.   TOGGLESELECT,
  284.   BOOLGADGET,       /* GadgetType */
  285.   &hook_off_border, /* GadgetRender */
  286.   &hook_on_border,  /* SelectRender */
  287.   &gadget_text[0],  /* GadgetText */
  288.   NULL,             /* MutualExclude */
  289.   NULL,             /* SpecialInfo */
  290.   HOOK_ID,          /* GadgetID */
  291.   NULL              /* UserData */
  292. };
  293.  
  294. extern static char rcs_id[];
  295.  
  296. /*
  297.  * The NewWindow stucture's Width and Height are suitable for our graphics
  298.  * under versions of Kickstart 1.3 with  BorderLeft   = 4
  299.  *                                       BorderRight  = 4
  300.  *                                       BorderTop    = 11  (topaz.font,8)
  301.  *                                       BorderBottom = 2
  302.  * If we find differences to these values after OpenWindow() we'll re-size
  303.  * our Window accordingly. (I don't know how to find it out else...)
  304.  *
  305.  * See also: open_window_stuff() in dcmp.c !
  306.  */
  307.  
  308. struct NewWindow NewWindow =
  309. { 50,50,            /* LeftEdge, TopEdge */
  310.   520,119,          /* Width, Height */
  311.   0,1,              /* DetailPen, BlockPen */
  312.   CLOSEWINDOW|      /* IDCMPFlags */
  313.   GADGETDOWN|
  314.   GADGETUP|
  315.   MOUSEBUTTONS|
  316.   RAWKEY|
  317.   MENUPICK|
  318.   NEWSIZE,
  319.   WINDOWCLOSE|      /* Flags */
  320.   WINDOWDEPTH|
  321.   WINDOWDRAG|
  322.   RMBTRAP|          /* => No menu selection possible when coming up ! */
  323.   NOCAREREFRESH|    /* ??? */
  324.   GIMMEZEROZERO|    /* added on Thu Dec 10 02:42:36 1992 */
  325.   ACTIVATE,
  326.   &hook_gadget,     /* FirstGadget */
  327.   NULL,             /* CheckMark */
  328.   (UBYTE *)NULL,    /* Title - will be added in open_window_stuff() */
  329.   NULL,NULL,        /* Screen, BitMap */
  330.   0,0,0,0,          /* MinWidth, MinHeight, MaxWidth, MaxHeight */
  331.   WBENCHSCREEN      /* Type */
  332. };
  333.  
  334. /* the logfile icon */
  335.  
  336. USHORT Image1Data[] = {
  337. /* plane 0 */  0x0000, 0x0000, 0x0000, 0x0000,
  338.                0x0000, 0x0000, 0x0000, 0x1000,
  339.                0x0000, 0x0000, 0x0000, 0x1000,
  340.                0x0000, 0x0000, 0x0000, 0x1000,
  341.                0x0000, 0xA801, 0x0000, 0x1000,
  342.                0x0001, 0x5401, 0x0000, 0x1000,
  343.                0x0000, 0x0001, 0x0000, 0x1000,
  344.                0x0000, 0x0001, 0xFE80, 0x1000,
  345.                0x0001, 0x5554, 0x0080, 0x1000,
  346.                0x0000, 0x0000, 0x0080, 0x1000,
  347.                0x0001, 0x5555, 0x5080, 0x1000,
  348.                0x0000, 0x0000, 0x0080, 0x1000,
  349.                0x0001, 0x5555, 0x4080, 0x1000,
  350.                0x0000, 0x0000, 0x0080, 0x1000,
  351.                0x0001, 0x5554, 0x0080, 0x1000,
  352.                0x0000, 0x0000, 0x0080, 0x1000,
  353.                0x0000, 0x0000, 0x0080, 0x1000,
  354.                0x0000, 0x0000, 0x0080, 0x1000,
  355.                0x0001, 0xFFFF, 0xFF80, 0x1000,
  356.                0x0000, 0x0000, 0x0000, 0x1000,
  357.                0x0000, 0x0000, 0x0000, 0x1000,
  358.                0x7FFF, 0xFFFF, 0xFFFF, 0xF000,
  359.  
  360. /* plane 1 */  0xFFFF, 0xFFFF, 0xFFFF, 0xF000,
  361.                0x9249, 0x2492, 0x4924, 0x8000,
  362.                0xA492, 0x4924, 0x9249, 0x2000,
  363.                0xC927, 0xFFFF, 0x2492, 0x4000,
  364.                0x924F, 0x57FE, 0xC924, 0x8000,
  365.                0xA496, 0xABFE, 0xFA49, 0x2000,
  366.                0xC927, 0xFFFE, 0xFE92, 0x4000,
  367.                0x924F, 0xFFFE, 0x0124, 0x8000,
  368.                0xA496, 0xAAAB, 0x8149, 0x2000,
  369.                0xC927, 0xFFFF, 0xFF12, 0x4000,
  370.                0x924E, 0xAAAA, 0xAF24, 0x8000,
  371.                0xA497, 0xFFFF, 0xFF49, 0x2000,
  372.                0xC926, 0xAAAA, 0xBF12, 0x4000,
  373.                0x924F, 0xFFFF, 0xFF24, 0x8000,
  374.                0xA496, 0xAAAB, 0xFF49, 0x2000,
  375.                0xC927, 0xFFFF, 0xFF12, 0x4000,
  376.                0x924F, 0xFFFF, 0xFF24, 0x8000,
  377.                0xA497, 0xFFFF, 0xFF49, 0x2000,
  378.                0xC924, 0x0000, 0x0012, 0x4000,
  379.                0x9249, 0x2492, 0x4924, 0x8000,
  380.                0xA492, 0x4924, 0x9249, 0x2000,
  381.                0x8000, 0x0000, 0x0000, 0x0000
  382. };
  383.  
  384. struct Image Image1 = {
  385.   0,                 /* LeftEdge */
  386.   0,                 /* TopEdge */
  387.   52,                /* Width */
  388.   22,                /* Height */
  389.   2,                 /* Depth */
  390.   &Image1Data[0],    /* ImageData */
  391.   3,                 /* PlanePick */
  392.   0,                 /* PlaneOnOff */
  393.   NULL               /* NextImage */
  394. };
  395.  
  396. /* image when activated */
  397.  
  398. USHORT Image2Data[] = {
  399. /* plane 0 */  0xFFFF, 0xFFFF, 0xFFFF, 0xF000,
  400.                0x8000, 0x0000, 0x0000, 0x0000,
  401.                0x8000, 0x0000, 0x0000, 0x0000,
  402.                0x8000, 0x0000, 0x0080, 0x0000,
  403.                0x8000, 0xA800, 0x0080, 0x0000,
  404.                0x8001, 0x5400, 0x0080, 0x0000,
  405.                0x8000, 0x0000, 0x0080, 0x0000,
  406.                0x8000, 0x0000, 0x0080, 0x0000,
  407.                0x8001, 0x5555, 0x4080, 0x0000,
  408.                0x8000, 0x0000, 0x0080, 0x0000,
  409.                0x8001, 0x5555, 0x5080, 0x0000,
  410.                0x8000, 0x0000, 0x0080, 0x0000,
  411.                0x8001, 0x5555, 0x4080, 0x0000,
  412.                0x8000, 0x0000, 0x0080, 0x0000,
  413.                0x8001, 0x5554, 0x0080, 0x0000,
  414.                0x8000, 0x0000, 0x0080, 0x0000,
  415.                0x8000, 0x0000, 0x0080, 0x0000,
  416.                0x8000, 0x0000, 0x0080, 0x0000,
  417.                0x8001, 0xFFFF, 0xFF80, 0x0000,
  418.                0x8000, 0x0000, 0x0000, 0x0000,
  419.                0x8000, 0x0000, 0x0000, 0x0000,
  420.                0x8000, 0x0000, 0x0000, 0x0000,
  421.  
  422. /* plane 1 */  0x0000, 0x0000, 0x0000, 0x0000,
  423.                0x1249, 0x2492, 0x4924, 0x9000,
  424.                0x2492, 0x4924, 0x9249, 0x3000,
  425.                0x4927, 0xFFFF, 0xFF12, 0x5000,
  426.                0x124F, 0x57FF, 0xFF24, 0x9000,
  427.                0x2496, 0xABFF, 0xFF49, 0x3000,
  428.                0x4927, 0xFFFF, 0xFF12, 0x5000,
  429.                0x124F, 0xFFFF, 0xFF24, 0x9000,
  430.                0x2496, 0xAAAA, 0xBF49, 0x3000,
  431.                0x4927, 0xFFFF, 0xFF12, 0x5000,
  432.                0x124E, 0xAAAA, 0xAF24, 0x9000,
  433.                0x2497, 0xFFFF, 0xFF49, 0x3000,
  434.                0x4926, 0xAAAA, 0xBF12, 0x5000,
  435.                0x124F, 0xFFFF, 0xFF24, 0x9000,
  436.                0x2496, 0xAAAB, 0xFF49, 0x3000,
  437.                0x4927, 0xFFFF, 0xFF12, 0x5000,
  438.                0x124F, 0xFFFF, 0xFF24, 0x9000,
  439.                0x2497, 0xFFFF, 0xFF49, 0x3000,
  440.                0x4924, 0x0000, 0x0012, 0x5000,
  441.                0x1249, 0x2492, 0x4924, 0x9000,
  442.                0x2492, 0x4924, 0x9249, 0x3000,
  443.                0x7FFF, 0xFFFF, 0xFFFF, 0xF000,
  444. };
  445.  
  446. struct Image Image2 = {
  447.   0,                 /* LeftEdge */
  448.   0,                 /* TopEdge */
  449.   52,                /* Width */
  450.   22,                /* Height */
  451.   2,                 /* Depth */
  452.   &Image2Data[0],    /* ImageData */
  453.   3,                 /* PlanePick */
  454.   0,                 /* PlaneOnOff */
  455.   NULL               /* NextImage */
  456. };
  457.  
  458. char DefaultTool[256] = {
  459.   "c:MuchMore"
  460. };
  461.  
  462. /* char *ToolTypes[] = { NULL }; */
  463.  
  464. /* <workbench/workbench.h> */
  465.  
  466. struct DiskObject LogIcon = {
  467.   WB_DISKMAGIC,               /* do_Magic = 0xE310 */
  468.   WB_DISKVERSION,             /* do_Version = 1 */
  469.  
  470.   /* struct Gadget do_Gadget <intuition/intuition.h> */
  471.   (struct Gadget *)NULL,      /* NextGadget */
  472.   249,                        /* LeftEdge */
  473.   21,                         /* TopEdge */
  474.   52,                         /* Width */
  475.   23,                         /* Height */
  476.   GADGIMAGE | GADGHIMAGE,     /* Flags */
  477.   RELVERIFY | GADGIMMEDIATE,  /* Activation */
  478.   BOOLGADGET,                 /* GadgetType */
  479.   (APTR) &Image1,             /* GadgetRender */
  480.   (APTR) &Image2,             /* SelectRender */
  481.   (struct IntuiText *)NULL,   /* GadgetText */
  482.   NULL,                       /* MutualExclude */
  483.   NULL,                       /* SpecialInfo */
  484.   NULL,                       /* GadgetID */
  485.   NULL,                       /* UserData */
  486.  
  487.   WBPROJECT,                  /* do_Type */
  488.   (char *)&DefaultTool[0],    /* do_DefaultTool */
  489.   NULL,                       /* do_ToolTypes */
  490.   NO_ICON_POSITION,           /* do_CurrentX */
  491.   NO_ICON_POSITION,           /* do_CurrentY */
  492.   (struct DrawerData *)NULL,  /* do_DrawerData */
  493.   (char *)NULL,               /* do_ToolWindow */
  494.   (LONG)4096                  /* do_StackSize */
  495. };
  496.  
  497. /* dcmp logo */
  498.  
  499. extern unsigned short LogoData[];   /* see logo.S */
  500.  
  501. struct Image LogoImage = {
  502.   0,                 /* LeftEdge */
  503.   0,                 /* TopEdge */
  504.   158,               /* Width */
  505.   33,                /* Height */
  506.   2,                 /* Depth */
  507.   &LogoData[0],      /* ImageData */
  508.   0xFF,              /* PlanePick */
  509.   0x00,              /* PlaneOnOff */
  510.   NULL               /* NextImage */
  511. };
  512.