home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / printer / graphpaper / src / src.lha / pw.h < prev    next >
C/C++ Source or Header  |  1993-04-06  |  48KB  |  1,396 lines

  1. #include "graph.h"
  2.  
  3. UBYTE UNDOBUFFER[15];
  4.  
  5. UBYTE y_dpiSIBuff[15] =
  6.     "300";
  7. struct StringInfo y_dpiSInfo = {
  8.     y_dpiSIBuff,    /* buffer where text will be edited */
  9.     UNDOBUFFER,    /* optional undo buffer */
  10.     0,    /* character position in buffer */
  11.     15,    /* maximum number of characters to allow */
  12.     0,    /* first displayed character buffer position */
  13.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  14.     0,    /* Rastport of gadget */
  15.     0,    /* initial value for integer gadgets */
  16.     NULL    /* alternate keymap (fill in if you set the flag) */
  17. };
  18.  
  19. SHORT BorderVectors1[] = {
  20.     0,0,
  21.     41,0,
  22.     41,9,
  23.     0,9,
  24.     0,0
  25. };
  26. struct Border Border1 = {
  27.     -1,-1,    /* XY origin relative to container TopLeft */
  28.     3,0,JAM1,    /* front pen, back pen and drawmode */
  29.     5,    /* number of XY vectors */
  30.     BorderVectors1,    /* pointer to XY vectors */
  31.     NULL    /* next border in list */
  32. };
  33.  
  34. struct TextAttr TOPAZ80 = {
  35.     (STRPTR)"topaz.font",
  36.     TOPAZ_EIGHTY,0,0
  37. };
  38. struct IntuiText IText1 = {
  39.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  40.     -18,0,    /* XY origin relative to container TopLeft */
  41.     &TOPAZ80,    /* font pointer or NULL for default */
  42.     (UBYTE *)"Y:",    /* pointer to text */
  43.     NULL    /* next IntuiText structure */
  44. };
  45.  
  46. struct Gadget y_dpi = {
  47.     NULL,    /* next gadget */
  48.     293,171,    /* origin XY of hit box relative to window TopLeft */
  49.     40,8,    /* hit box width and height */
  50.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  51.     STRINGRIGHT+LONGINT,    /* activation flags */
  52.     STRGADGET,    /* gadget type flags */
  53.     (APTR)&Border1,    /* gadget border or image to be rendered */
  54.     NULL,    /* alternate imagery for selection */
  55.     &IText1,    /* first IntuiText structure */
  56.     0,    /* gadget mutual-exclude long word */
  57.     (APTR)&y_dpiSInfo,    /* SpecialInfo structure */
  58.     NULL,    /* user-definable data */
  59.     NULL    /* pointer to user-definable data */
  60. };
  61.  
  62. USHORT ImageData1[] = {
  63.     0xFFFF,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  64.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  65.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  66.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  67.     0xFFFF,0xFFFF,0xFFFF,0x8000,0x8000,0x8000,0x8000,0x8000,
  68.     0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
  69.     0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
  70.     0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,0x8000,
  71.     0x8000,0x8000,0xFFFF,0x8000
  72. };
  73.  
  74. struct Image Image1 = {
  75.     0,0,    /* XY origin relative to container TopLeft */
  76.     17,17,    /* Image width and height in pixels */
  77.     2,    /* number of bitplanes in Image */
  78.     ImageData1,    /* pointer to ImageData */
  79.     0x0003,0x0000,    /* PlanePick and PlaneOnOff */
  80.     NULL    /* next Image structure */
  81. };
  82.  
  83. USHORT ImageData2[] = {
  84.     0xFFFF,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  85.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  86.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  87.     0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,0x8000,0xFFFF,
  88.     0xFFFF,0xFFFF
  89. };
  90.  
  91. struct Image Image2 = {
  92.     0,0,    /* XY origin relative to container TopLeft */
  93.     17,17,    /* Image width and height in pixels */
  94.     2,    /* number of bitplanes in Image */
  95.     ImageData2,    /* pointer to ImageData */
  96.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  97.     NULL    /* next Image structure */
  98. };
  99.  
  100. struct Gadget None = {
  101.     &y_dpi,    /* next gadget */
  102.     367,29,    /* origin XY of hit box relative to window TopLeft */
  103.     17,17,    /* hit box width and height */
  104.     GADGHIMAGE+GADGIMAGE,    /* gadget flags */
  105.     RELVERIFY+TOGGLESELECT,    /* activation flags */
  106.     BOOLGADGET,    /* gadget type flags */
  107.     (APTR)&Image1,    /* gadget border or image to be rendered */
  108.     (APTR)&Image2,    /* alternate imagery for selection */
  109.     NULL,    /* first IntuiText structure */
  110.     0,    /* gadget mutual-exclude long word */
  111.     NULL,    /* SpecialInfo structure */
  112.     NULL,    /* user-definable data */
  113.     NULL    /* pointer to user-definable data */
  114. };
  115.  
  116. USHORT ImageData3[] = {
  117.     0x7FFF,0xFFFF,0xFFFF,0xFFFF,0x4000,0x0000,0x0000,0x3FFF,
  118.     0x4000,0x0000,0x0000,0x3FFF,0x4000,0x0000,0x0000,0x3FFF,
  119.     0x4000,0x0000,0x0000,0x3FFF,0x4000,0x0000,0x0000,0x3FFF,
  120.     0x4000,0x0000,0x0000,0x3FFF,0x4079,0x99F8,0x7B18,0x3FFF,
  121.     0x40C1,0x9980,0xC330,0x3FFF,0x4181,0x9981,0x8360,0x3FFF,
  122.     0x4181,0xF9E1,0x83C0,0x3FFF,0x4181,0x9981,0x8360,0x3FFF,
  123.     0x40C1,0x9980,0xC330,0x3FFF,0x4079,0x99F8,0x7B18,0x3FFF,
  124.     0x4000,0x0000,0x0000,0x3FFF,0x4000,0x0000,0x0000,0x3FFF,
  125.     0x4000,0x0000,0x0000,0x3FFF,0x4000,0x0000,0x0000,0x3FFF,
  126.     0x4000,0x0000,0x0000,0x3FFF,0x4000,0x0000,0x0000,0x3FFF,
  127.     0x7FFF,0xFFFF,0xFFFF,0xFFFF
  128. };
  129.  
  130. struct Image Image3 = {
  131.     0,0,    /* XY origin relative to container TopLeft */
  132.     51,21,    /* Image width and height in pixels */
  133.     2,    /* number of bitplanes in Image */
  134.     ImageData3,    /* pointer to ImageData */
  135.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  136.     NULL    /* next Image structure */
  137. };
  138.  
  139. struct Gadget check = {
  140.     &None,    /* next gadget */
  141.     287,109,    /* origin XY of hit box relative to window TopLeft */
  142.     51,21,    /* hit box width and height */
  143.     GADGIMAGE,    /* gadget flags */
  144.     RELVERIFY,    /* activation flags */
  145.     BOOLGADGET,    /* gadget type flags */
  146.     (APTR)&Image3,    /* gadget border or image to be rendered */
  147.     NULL,    /* alternate imagery for selection */
  148.     NULL,    /* first IntuiText structure */
  149.     0,    /* gadget mutual-exclude long word */
  150.     NULL,    /* SpecialInfo structure */
  151.     NULL,    /* user-definable data */
  152.     NULL    /* pointer to user-definable data */
  153. };
  154.  
  155. UBYTE minor_xSIBuff[15] =
  156.     "10";
  157. struct StringInfo minor_xSInfo = {
  158.     minor_xSIBuff,    /* buffer where text will be edited */
  159.     UNDOBUFFER,    /* optional undo buffer */
  160.     0,    /* character position in buffer */
  161.     15,    /* maximum number of characters to allow */
  162.     0,    /* first displayed character buffer position */
  163.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  164.     0,    /* Rastport of gadget */
  165.     0,    /* initial value for integer gadgets */
  166.     NULL    /* alternate keymap (fill in if you set the flag) */
  167. };
  168.  
  169. SHORT BorderVectors2[] = {
  170.     0,0,
  171.     41,0,
  172.     41,9,
  173.     0,9,
  174.     0,0
  175. };
  176. struct Border Border2 = {
  177.     -1,-1,    /* XY origin relative to container TopLeft */
  178.     3,0,JAM1,    /* front pen, back pen and drawmode */
  179.     5,    /* number of XY vectors */
  180.     BorderVectors2,    /* pointer to XY vectors */
  181.     NULL    /* next border in list */
  182. };
  183.  
  184. struct IntuiText IText2 = {
  185.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  186.     14,-10,    /* XY origin relative to container TopLeft */
  187.     &TOPAZ80,    /* font pointer or NULL for default */
  188.     (UBYTE *)"X",    /* pointer to text */
  189.     NULL    /* next IntuiText structure */
  190. };
  191.  
  192. struct Gadget minor_x = {
  193.     &check,    /* next gadget */
  194.     394,73,    /* origin XY of hit box relative to window TopLeft */
  195.     40,8,    /* hit box width and height */
  196.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  197.     RELVERIFY+STRINGRIGHT+LONGINT,    /* activation flags */
  198.     STRGADGET,    /* gadget type flags */
  199.     (APTR)&Border2,    /* gadget border or image to be rendered */
  200.     NULL,    /* alternate imagery for selection */
  201.     &IText2,    /* first IntuiText structure */
  202.     0,    /* gadget mutual-exclude long word */
  203.     (APTR)&minor_xSInfo,    /* SpecialInfo structure */
  204.     NULL,    /* user-definable data */
  205.     NULL    /* pointer to user-definable data */
  206. };
  207.  
  208. UBYTE minor_ySIBuff[15] =
  209.     "10";
  210. struct StringInfo minor_ySInfo = {
  211.     minor_ySIBuff,    /* buffer where text will be edited */
  212.     UNDOBUFFER,    /* optional undo buffer */
  213.     0,    /* character position in buffer */
  214.     15,    /* maximum number of characters to allow */
  215.     0,    /* first displayed character buffer position */
  216.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  217.     0,    /* Rastport of gadget */
  218.     0,    /* initial value for integer gadgets */
  219.     NULL    /* alternate keymap (fill in if you set the flag) */
  220. };
  221.  
  222. SHORT BorderVectors3[] = {
  223.     0,0,
  224.     41,0,
  225.     41,9,
  226.     0,9,
  227.     0,0
  228. };
  229. struct Border Border3 = {
  230.     -1,-1,    /* XY origin relative to container TopLeft */
  231.     3,0,JAM1,    /* front pen, back pen and drawmode */
  232.     5,    /* number of XY vectors */
  233.     BorderVectors3,    /* pointer to XY vectors */
  234.     NULL    /* next border in list */
  235. };
  236.  
  237. struct IntuiText IText3 = {
  238.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  239.     14,-11,    /* XY origin relative to container TopLeft */
  240.     &TOPAZ80,    /* font pointer or NULL for default */
  241.     (UBYTE *)"Y",    /* pointer to text */
  242.     NULL    /* next IntuiText structure */
  243. };
  244.  
  245. struct Gadget minor_y = {
  246.     &minor_x,    /* next gadget */
  247.     438,73,    /* origin XY of hit box relative to window TopLeft */
  248.     40,8,    /* hit box width and height */
  249.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  250.     RELVERIFY+STRINGRIGHT+LONGINT,    /* activation flags */
  251.     STRGADGET,    /* gadget type flags */
  252.     (APTR)&Border3,    /* gadget border or image to be rendered */
  253.     NULL,    /* alternate imagery for selection */
  254.     &IText3,    /* first IntuiText structure */
  255.     0,    /* gadget mutual-exclude long word */
  256.     (APTR)&minor_ySInfo,    /* SpecialInfo structure */
  257.     NULL,    /* user-definable data */
  258.     NULL    /* pointer to user-definable data */
  259. };
  260.  
  261. struct PropInfo minor_slider_rightSInfo = {
  262.     FREEVERT,    /* PropInfo flags */
  263.     0,-30132,    /* horizontal and vertical pot values */
  264.     -1,1310,    /* horizontal and vertical body values */
  265. };
  266.  
  267. USHORT ImageData4[] = {
  268.     0x87FF,0xC7FF,0xE7FF,0xF7FF,0xFFFF,0xF7FF,0xE7FF,0xC7FF,
  269.     0x87FF
  270. };
  271.  
  272. struct Image Image4 = {
  273.     0,47,    /* XY origin relative to container TopLeft */
  274.     5,9,    /* Image width and height in pixels */
  275.     2,    /* number of bitplanes in Image */
  276.     ImageData4,    /* pointer to ImageData */
  277.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  278.     NULL    /* next Image structure */
  279. };
  280.  
  281. struct Gadget minor_slider_right = {
  282.     &minor_y,    /* next gadget */
  283.     443,85,    /* origin XY of hit box relative to window TopLeft */
  284.     11,100,    /* hit box width and height */
  285.     GADGIMAGE,    /* gadget flags */
  286.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  287.     PROPGADGET,    /* gadget type flags */
  288.     (APTR)&Image4,    /* gadget border or image to be rendered */
  289.     NULL,    /* alternate imagery for selection */
  290.     NULL,    /* first IntuiText structure */
  291.     0,    /* gadget mutual-exclude long word */
  292.     (APTR)&minor_slider_rightSInfo,    /* SpecialInfo structure */
  293.     NULL,    /* user-definable data */
  294.     NULL    /* pointer to user-definable data */
  295. };
  296.  
  297. struct PropInfo minor_slider_middleSInfo = {
  298.     FREEVERT,    /* PropInfo flags */
  299.     0,19756,    /* horizontal and vertical pot values */
  300.     -1,1310,    /* horizontal and vertical body values */
  301. };
  302.  
  303. struct Image Image5 = {
  304.     0,26,    /* XY origin relative to container TopLeft */
  305.     9,9,    /* Image width and height in pixels */
  306.     2,    /* number of bitplanes in Image */
  307.     NULL,    /* pointer to ImageData */
  308.     0x0000,0x0001,    /* PlanePick and PlaneOnOff */
  309.     NULL    /* next Image structure */
  310. };
  311.  
  312. struct Gadget minor_slider_middle = {
  313.     &minor_slider_right,    /* next gadget */
  314.     430,85,    /* origin XY of hit box relative to window TopLeft */
  315.     15,100,    /* hit box width and height */
  316.     GADGIMAGE,    /* gadget flags */
  317.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  318.     PROPGADGET,    /* gadget type flags */
  319.     (APTR)&Image5,    /* gadget border or image to be rendered */
  320.     NULL,    /* alternate imagery for selection */
  321.     NULL,    /* first IntuiText structure */
  322.     0,    /* gadget mutual-exclude long word */
  323.     (APTR)&minor_slider_middleSInfo,    /* SpecialInfo structure */
  324.     NULL,    /* user-definable data */
  325.     NULL    /* pointer to user-definable data */
  326. };
  327.  
  328. struct PropInfo minor_slider_leftSInfo = {
  329.     FREEVERT,    /* PropInfo flags */
  330.     0,12635,    /* horizontal and vertical pot values */
  331.     -1,1310,    /* horizontal and vertical body values */
  332. };
  333.  
  334. USHORT ImageData6[] = {
  335.     0x0FFF,0x1FFF,0x3FFF,0x7FFF,0xFFFF,0x7FFF,0x3FFF,0x1FFF,
  336.     0x0FFF
  337. };
  338.  
  339. struct Image Image6 = {
  340.     0,16,    /* XY origin relative to container TopLeft */
  341.     5,9,    /* Image width and height in pixels */
  342.     2,    /* number of bitplanes in Image */
  343.     ImageData6,    /* pointer to ImageData */
  344.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  345.     NULL    /* next Image structure */
  346. };
  347.  
  348. struct Gadget minor_slider_left = {
  349.     &minor_slider_middle,    /* next gadget */
  350.     421,85,    /* origin XY of hit box relative to window TopLeft */
  351.     11,100,    /* hit box width and height */
  352.     GADGIMAGE,    /* gadget flags */
  353.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  354.     PROPGADGET,    /* gadget type flags */
  355.     (APTR)&Image6,    /* gadget border or image to be rendered */
  356.     NULL,    /* alternate imagery for selection */
  357.     NULL,    /* first IntuiText structure */
  358.     0,    /* gadget mutual-exclude long word */
  359.     (APTR)&minor_slider_leftSInfo,    /* SpecialInfo structure */
  360.     NULL,    /* user-definable data */
  361.     NULL    /* pointer to user-definable data */
  362. };
  363.  
  364. UBYTE x_grids_pageSIBuff[15] =
  365.     "10";
  366. struct StringInfo x_grids_pageSInfo = {
  367.     x_grids_pageSIBuff,    /* buffer where text will be edited */
  368.     UNDOBUFFER,    /* optional undo buffer */
  369.     0,    /* character position in buffer */
  370.     15,    /* maximum number of characters to allow */
  371.     0,    /* first displayed character buffer position */
  372.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  373.     0,    /* Rastport of gadget */
  374.     0,    /* initial value for integer gadgets */
  375.     NULL    /* alternate keymap (fill in if you set the flag) */
  376. };
  377.  
  378. SHORT BorderVectors4[] = {
  379.     0,0,
  380.     41,0,
  381.     41,9,
  382.     0,9,
  383.     0,0
  384. };
  385. struct Border Border4 = {
  386.     -1,-1,    /* XY origin relative to container TopLeft */
  387.     3,0,JAM1,    /* front pen, back pen and drawmode */
  388.     5,    /* number of XY vectors */
  389.     BorderVectors4,    /* pointer to XY vectors */
  390.     NULL    /* next border in list */
  391. };
  392.  
  393. struct IntuiText IText4 = {
  394.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  395.     14,-10,    /* XY origin relative to container TopLeft */
  396.     &TOPAZ80,    /* font pointer or NULL for default */
  397.     (UBYTE *)"X",    /* pointer to text */
  398.     NULL    /* next IntuiText structure */
  399. };
  400.  
  401. struct Gadget x_grids_page = {
  402.     &minor_slider_left,    /* next gadget */
  403.     163,73,    /* origin XY of hit box relative to window TopLeft */
  404.     40,8,    /* hit box width and height */
  405.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  406.     RELVERIFY+STRINGRIGHT+LONGINT,    /* activation flags */
  407.     STRGADGET,    /* gadget type flags */
  408.     (APTR)&Border4,    /* gadget border or image to be rendered */
  409.     NULL,    /* alternate imagery for selection */
  410.     &IText4,    /* first IntuiText structure */
  411.     0,    /* gadget mutual-exclude long word */
  412.     (APTR)&x_grids_pageSInfo,    /* SpecialInfo structure */
  413.     NULL,    /* user-definable data */
  414.     NULL    /* pointer to user-definable data */
  415. };
  416.  
  417. UBYTE y_grids_pageSIBuff[15] =
  418.     "6";
  419. struct StringInfo y_grids_pageSInfo = {
  420.     y_grids_pageSIBuff,    /* buffer where text will be edited */
  421.     UNDOBUFFER,    /* optional undo buffer */
  422.     0,    /* character position in buffer */
  423.     15,    /* maximum number of characters to allow */
  424.     0,    /* first displayed character buffer position */
  425.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  426.     0,    /* Rastport of gadget */
  427.     0,    /* initial value for integer gadgets */
  428.     NULL    /* alternate keymap (fill in if you set the flag) */
  429. };
  430.  
  431. SHORT BorderVectors5[] = {
  432.     0,0,
  433.     41,0,
  434.     41,9,
  435.     0,9,
  436.     0,0
  437. };
  438. struct Border Border5 = {
  439.     -1,-1,    /* XY origin relative to container TopLeft */
  440.     3,0,JAM1,    /* front pen, back pen and drawmode */
  441.     5,    /* number of XY vectors */
  442.     BorderVectors5,    /* pointer to XY vectors */
  443.     NULL    /* next border in list */
  444. };
  445.  
  446. struct IntuiText IText5 = {
  447.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  448.     14,-11,    /* XY origin relative to container TopLeft */
  449.     &TOPAZ80,    /* font pointer or NULL for default */
  450.     (UBYTE *)"Y",    /* pointer to text */
  451.     NULL    /* next IntuiText structure */
  452. };
  453.  
  454. struct Gadget y_grids_page = {
  455.     &x_grids_page,    /* next gadget */
  456.     207,73,    /* origin XY of hit box relative to window TopLeft */
  457.     40,8,    /* hit box width and height */
  458.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  459.     RELVERIFY+STRINGRIGHT+LONGINT,    /* activation flags */
  460.     STRGADGET,    /* gadget type flags */
  461.     (APTR)&Border5,    /* gadget border or image to be rendered */
  462.     NULL,    /* alternate imagery for selection */
  463.     &IText5,    /* first IntuiText structure */
  464.     0,    /* gadget mutual-exclude long word */
  465.     (APTR)&y_grids_pageSInfo,    /* SpecialInfo structure */
  466.     NULL,    /* user-definable data */
  467.     NULL    /* pointer to user-definable data */
  468. };
  469.  
  470. struct PropInfo grids_slider_leftSInfo = {
  471.     FREEVERT,    /* PropInfo flags */
  472.     0,27886,    /* horizontal and vertical pot values */
  473.     -1,1310,    /* horizontal and vertical body values */
  474. };
  475.  
  476. USHORT ImageData7[] = {
  477.     0x0FFF,0x1FFF,0x3FFF,0x7FFF,0xFFFF,0x7FFF,0x3FFF,0x1FFF,
  478.     0x0FFF
  479. };
  480.  
  481. struct Image Image7 = {
  482.     0,37,    /* XY origin relative to container TopLeft */
  483.     5,9,    /* Image width and height in pixels */
  484.     2,    /* number of bitplanes in Image */
  485.     ImageData7,    /* pointer to ImageData */
  486.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  487.     NULL    /* next Image structure */
  488. };
  489.  
  490. struct Gadget grids_slider_left = {
  491.     &y_grids_page,    /* next gadget */
  492.     188,85,    /* origin XY of hit box relative to window TopLeft */
  493.     11,100,    /* hit box width and height */
  494.     GADGIMAGE,    /* gadget flags */
  495.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  496.     PROPGADGET,    /* gadget type flags */
  497.     (APTR)&Image7,    /* gadget border or image to be rendered */
  498.     NULL,    /* alternate imagery for selection */
  499.     NULL,    /* first IntuiText structure */
  500.     0,    /* gadget mutual-exclude long word */
  501.     (APTR)&grids_slider_leftSInfo,    /* SpecialInfo structure */
  502.     NULL,    /* user-definable data */
  503.     NULL    /* pointer to user-definable data */
  504. };
  505.  
  506. struct PropInfo grids_slider_middleSInfo = {
  507.     FREEVERT,    /* PropInfo flags */
  508.     0,25242,    /* horizontal and vertical pot values */
  509.     -1,1310,    /* horizontal and vertical body values */
  510. };
  511.  
  512. struct Image Image8 = {
  513.     0,33,    /* XY origin relative to container TopLeft */
  514.     9,9,    /* Image width and height in pixels */
  515.     2,    /* number of bitplanes in Image */
  516.     NULL,    /* pointer to ImageData */
  517.     0x0000,0x0001,    /* PlanePick and PlaneOnOff */
  518.     NULL    /* next Image structure */
  519. };
  520.  
  521. struct Gadget grids_slider_middle = {
  522.     &grids_slider_left,    /* next gadget */
  523.     197,85,    /* origin XY of hit box relative to window TopLeft */
  524.     15,100,    /* hit box width and height */
  525.     GADGIMAGE,    /* gadget flags */
  526.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  527.     PROPGADGET,    /* gadget type flags */
  528.     (APTR)&Image8,    /* gadget border or image to be rendered */
  529.     NULL,    /* alternate imagery for selection */
  530.     NULL,    /* first IntuiText structure */
  531.     0,    /* gadget mutual-exclude long word */
  532.     (APTR)&grids_slider_middleSInfo,    /* SpecialInfo structure */
  533.     NULL,    /* user-definable data */
  534.     NULL    /* pointer to user-definable data */
  535. };
  536.  
  537. struct PropInfo grids_slider_rightSInfo = {
  538.     FREEVERT,    /* PropInfo flags */
  539.     0,20338,    /* horizontal and vertical pot values */
  540.     -1,1310,    /* horizontal and vertical body values */
  541. };
  542.  
  543. USHORT ImageData9[] = {
  544.     0x87FF,0xC7FF,0xE7FF,0xF7FF,0xFFFF,0xF7FF,0xE7FF,0xC7FF,
  545.     0x87FF
  546. };
  547.  
  548. struct Image Image9 = {
  549.     0,27,    /* XY origin relative to container TopLeft */
  550.     5,9,    /* Image width and height in pixels */
  551.     2,    /* number of bitplanes in Image */
  552.     ImageData9,    /* pointer to ImageData */
  553.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  554.     NULL    /* next Image structure */
  555. };
  556.  
  557. struct Gadget grids_slider_right = {
  558.     &grids_slider_middle,    /* next gadget */
  559.     210,85,    /* origin XY of hit box relative to window TopLeft */
  560.     11,100,    /* hit box width and height */
  561.     GADGIMAGE,    /* gadget flags */
  562.     RELVERIFY+FOLLOWMOUSE,    /* activation flags */
  563.     PROPGADGET,    /* gadget type flags */
  564.     (APTR)&Image9,    /* gadget border or image to be rendered */
  565.     NULL,    /* alternate imagery for selection */
  566.     NULL,    /* first IntuiText structure */
  567.     0,    /* gadget mutual-exclude long word */
  568.     (APTR)&grids_slider_rightSInfo,    /* SpecialInfo structure */
  569.     NULL,    /* user-definable data */
  570.     NULL    /* pointer to user-definable data */
  571. };
  572.  
  573. UBYTE x_sizeSIBuff[15] =
  574.     "1.1";
  575. struct StringInfo x_sizeSInfo = {
  576.     x_sizeSIBuff,    /* buffer where text will be edited */
  577.     UNDOBUFFER,    /* optional undo buffer */
  578.     0,    /* character position in buffer */
  579.     15,    /* maximum number of characters to allow */
  580.     0,    /* first displayed character buffer position */
  581.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  582.     0,    /* Rastport of gadget */
  583.     0,    /* initial value for integer gadgets */
  584.     NULL    /* alternate keymap (fill in if you set the flag) */
  585. };
  586.  
  587. SHORT BorderVectors6[] = {
  588.     0,0,
  589.     41,0,
  590.     41,9,
  591.     0,9,
  592.     0,0
  593. };
  594. struct Border Border6 = {
  595.     -1,-1,    /* XY origin relative to container TopLeft */
  596.     3,0,JAM1,    /* front pen, back pen and drawmode */
  597.     5,    /* number of XY vectors */
  598.     BorderVectors6,    /* pointer to XY vectors */
  599.     NULL    /* next border in list */
  600. };
  601.  
  602. struct IntuiText IText6 = {
  603.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  604.     14,-10,    /* XY origin relative to container TopLeft */
  605.     &TOPAZ80,    /* font pointer or NULL for default */
  606.     (UBYTE *)"X",    /* pointer to text */
  607.     NULL    /* next IntuiText structure */
  608. };
  609.  
  610. struct Gadget x_size = {
  611.     &grids_slider_right,    /* next gadget */
  612.     37,73,    /* origin XY of hit box relative to window TopLeft */
  613.     40,8,    /* hit box width and height */
  614.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  615.     RELVERIFY+STRINGRIGHT,    /* activation flags */
  616.     STRGADGET,    /* gadget type flags */
  617.     (APTR)&Border6,    /* gadget border or image to be rendered */
  618.     NULL,    /* alternate imagery for selection */
  619.     &IText6,    /* first IntuiText structure */
  620.     0,    /* gadget mutual-exclude long word */
  621.     (APTR)&x_sizeSInfo,    /* SpecialInfo structure */
  622.     NULL,    /* user-definable data */
  623.     NULL    /* pointer to user-definable data */
  624. };
  625.  
  626. struct PropInfo size_slider_leftSInfo = {
  627.     FREEVERT,    /* PropInfo flags */
  628.     0,23177,    /* horizontal and vertical pot values */
  629.     -1,372,    /* horizontal and vertical body values */
  630. };
  631.  
  632. USHORT ImageData10[] = {
  633.     0x0FFF,0x1FFF,0x3FFF,0x7FFF,0xFFFF,0x7FFF,0x3FFF,0x1FFF,
  634.     0x0FFF
  635. };
  636.  
  637. struct Image Image10 = {
  638.     0,30,    /* XY origin relative to container TopLeft */
  639.     5,9,    /* Image width and height in pixels */
  640.     2,    /* number of bitplanes in Image */
  641.     ImageData10,    /* pointer to ImageData */
  642.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  643.     NULL    /* next Image structure */
  644. };
  645.  
  646. struct Gadget size_slider_left = {
  647.     &x_size,    /* next gadget */
  648.     61,85,    /* origin XY of hit box relative to window TopLeft */
  649.     11,100,    /* hit box width and height */
  650.     GADGIMAGE,    /* gadget flags */
  651.     RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  652.     PROPGADGET,    /* gadget type flags */
  653.     (APTR)&Image10,    /* gadget border or image to be rendered */
  654.     NULL,    /* alternate imagery for selection */
  655.     NULL,    /* first IntuiText structure */
  656.     0,    /* gadget mutual-exclude long word */
  657.     (APTR)&size_slider_leftSInfo,    /* SpecialInfo structure */
  658.     NULL,    /* user-definable data */
  659.     NULL    /* pointer to user-definable data */
  660. };
  661.  
  662. struct PropInfo size_slider_rightSInfo = {
  663.     FREEVERT,    /* PropInfo flags */
  664.     0,22827,    /* horizontal and vertical pot values */
  665.     -1,372,    /* horizontal and vertical body values */
  666. };
  667.  
  668. USHORT ImageData11[] = {
  669.     0x87FF,0xC7FF,0xE7FF,0xF7FF,0xFFFF,0xF7FF,0xE7FF,0xC7FF,
  670.     0x87FF
  671. };
  672.  
  673. struct Image Image11 = {
  674.     0,30,    /* XY origin relative to container TopLeft */
  675.     5,9,    /* Image width and height in pixels */
  676.     2,    /* number of bitplanes in Image */
  677.     ImageData11,    /* pointer to ImageData */
  678.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  679.     NULL    /* next Image structure */
  680. };
  681.  
  682. struct Gadget size_slider_right = {
  683.     &size_slider_left,    /* next gadget */
  684.     83,85,    /* origin XY of hit box relative to window TopLeft */
  685.     11,100,    /* hit box width and height */
  686.     GADGIMAGE,    /* gadget flags */
  687.     RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  688.     PROPGADGET,    /* gadget type flags */
  689.     (APTR)&Image11,    /* gadget border or image to be rendered */
  690.     NULL,    /* alternate imagery for selection */
  691.     NULL,    /* first IntuiText structure */
  692.     0,    /* gadget mutual-exclude long word */
  693.     (APTR)&size_slider_rightSInfo,    /* SpecialInfo structure */
  694.     NULL,    /* user-definable data */
  695.     NULL    /* pointer to user-definable data */
  696. };
  697.  
  698. struct PropInfo size_slider_middleSInfo = {
  699.     FREEVERT,    /* PropInfo flags */
  700.     0,19211,    /* horizontal and vertical pot values */
  701.     -1,372,    /* horizontal and vertical body values */
  702. };
  703.  
  704. struct Image Image12 = {
  705.     0,25,    /* XY origin relative to container TopLeft */
  706.     9,9,    /* Image width and height in pixels */
  707.     2,    /* number of bitplanes in Image */
  708.     NULL,    /* pointer to ImageData */
  709.     0x0000,0x0001,    /* PlanePick and PlaneOnOff */
  710.     NULL    /* next Image structure */
  711. };
  712.  
  713. struct Gadget size_slider_middle = {
  714.     &size_slider_right,    /* next gadget */
  715.     70,85,    /* origin XY of hit box relative to window TopLeft */
  716.     15,100,    /* hit box width and height */
  717.     GADGIMAGE,    /* gadget flags */
  718.     RELVERIFY+GADGIMMEDIATE+FOLLOWMOUSE,    /* activation flags */
  719.     PROPGADGET,    /* gadget type flags */
  720.     (APTR)&Image12,    /* gadget border or image to be rendered */
  721.     NULL,    /* alternate imagery for selection */
  722.     NULL,    /* first IntuiText structure */
  723.     0,    /* gadget mutual-exclude long word */
  724.     (APTR)&size_slider_middleSInfo,    /* SpecialInfo structure */
  725.     NULL,    /* user-definable data */
  726.     NULL    /* pointer to user-definable data */
  727. };
  728.  
  729. USHORT ImageData13[] = {
  730.     0xFFFF,0xFFFF,0x808A,0xFFFF,0xFFFF,0xFFFF,0x808A,0xFFFF,
  731.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  732.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  733.     0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  734.     0xFFFF,0xFFFF,0xFFFF,0x8000,0x808A,0x8000,0xFFFF,0x8000,
  735.     0x808A,0x8000,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  736.     0x808A,0x8000,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  737.     0x808A,0x8000,0x808A,0x8000,0x808A,0x8000,0x808A,0x8000,
  738.     0x808A,0x8000,0xFFFF,0x8000
  739. };
  740.  
  741. struct Image Image13 = {
  742.     0,0,    /* XY origin relative to container TopLeft */
  743.     17,17,    /* Image width and height in pixels */
  744.     2,    /* number of bitplanes in Image */
  745.     ImageData13,    /* pointer to ImageData */
  746.     0x0003,0x0000,    /* PlanePick and PlaneOnOff */
  747.     NULL    /* next Image structure */
  748. };
  749.  
  750. USHORT ImageData14[] = {
  751.     0xFFFF,0xFFFF,0x808A,0xFFFF,0xFFFF,0xFFFF,0x808A,0xFFFF,
  752.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  753.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  754.     0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  755.     0xFFFF,0xFFFF
  756. };
  757.  
  758. struct Image Image14 = {
  759.     0,0,    /* XY origin relative to container TopLeft */
  760.     17,17,    /* Image width and height in pixels */
  761.     2,    /* number of bitplanes in Image */
  762.     ImageData14,    /* pointer to ImageData */
  763.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  764.     NULL    /* next Image structure */
  765. };
  766.  
  767. struct Gadget LogLog = {
  768.     &size_slider_middle,    /* next gadget */
  769.     487,29,    /* origin XY of hit box relative to window TopLeft */
  770.     17,17,    /* hit box width and height */
  771.     GADGHIMAGE+GADGIMAGE,    /* gadget flags */
  772.     RELVERIFY+TOGGLESELECT,    /* activation flags */
  773.     BOOLGADGET,    /* gadget type flags */
  774.     (APTR)&Image13,    /* gadget border or image to be rendered */
  775.     (APTR)&Image14,    /* alternate imagery for selection */
  776.     NULL,    /* first IntuiText structure */
  777.     0,    /* gadget mutual-exclude long word */
  778.     NULL,    /* SpecialInfo structure */
  779.     NULL,    /* user-definable data */
  780.     NULL    /* pointer to user-definable data */
  781. };
  782.  
  783. USHORT ImageData15[] = {
  784.     0xFFFF,0xFFFF,0x8888,0xFFFF,0xFFFF,0xFFFF,0x8888,0xFFFF,
  785.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  786.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  787.     0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  788.     0xFFFF,0xFFFF,0xFFFF,0x8000,0x8888,0x8000,0xFFFF,0x8000,
  789.     0x8888,0x8000,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  790.     0x8888,0x8000,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  791.     0x8888,0x8000,0x8888,0x8000,0x8888,0x8000,0x8888,0x8000,
  792.     0x8888,0x8000,0xFFFF,0x8000
  793. };
  794.  
  795. struct Image Image15 = {
  796.     0,0,    /* XY origin relative to container TopLeft */
  797.     17,17,    /* Image width and height in pixels */
  798.     2,    /* number of bitplanes in Image */
  799.     ImageData15,    /* pointer to ImageData */
  800.     0x0003,0x0000,    /* PlanePick and PlaneOnOff */
  801.     NULL    /* next Image structure */
  802. };
  803.  
  804. USHORT ImageData16[] = {
  805.     0xFFFF,0xFFFF,0x8888,0xFFFF,0xFFFF,0xFFFF,0x8888,0xFFFF,
  806.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  807.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  808.     0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  809.     0xFFFF,0xFFFF
  810. };
  811.  
  812. struct Image Image16 = {
  813.     0,0,    /* XY origin relative to container TopLeft */
  814.     17,17,    /* Image width and height in pixels */
  815.     2,    /* number of bitplanes in Image */
  816.     ImageData16,    /* pointer to ImageData */
  817.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  818.     NULL    /* next Image structure */
  819. };
  820.  
  821. struct Gadget LogY = {
  822.     &LogLog,    /* next gadget */
  823.     457,29,    /* origin XY of hit box relative to window TopLeft */
  824.     17,17,    /* hit box width and height */
  825.     GADGHIMAGE+GADGIMAGE,    /* gadget flags */
  826.     RELVERIFY+TOGGLESELECT,    /* activation flags */
  827.     BOOLGADGET,    /* gadget type flags */
  828.     (APTR)&Image15,    /* gadget border or image to be rendered */
  829.     (APTR)&Image16,    /* alternate imagery for selection */
  830.     NULL,    /* first IntuiText structure */
  831.     0,    /* gadget mutual-exclude long word */
  832.     NULL,    /* SpecialInfo structure */
  833.     NULL,    /* user-definable data */
  834.     NULL    /* pointer to user-definable data */
  835. };
  836.  
  837. USHORT ImageData17[] = {
  838.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  839.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  840.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  841.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  842.     0xFFFF,0xFFFF,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  843.     0x808A,0x8000,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  844.     0x808A,0x8000,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  845.     0x808A,0x8000,0xFFFF,0x8000,0x808A,0x8000,0x808A,0x8000,
  846.     0x808A,0x8000,0xFFFF,0x8000
  847. };
  848.  
  849. struct Image Image17 = {
  850.     0,0,    /* XY origin relative to container TopLeft */
  851.     17,17,    /* Image width and height in pixels */
  852.     2,    /* number of bitplanes in Image */
  853.     ImageData17,    /* pointer to ImageData */
  854.     0x0003,0x0000,    /* PlanePick and PlaneOnOff */
  855.     NULL    /* next Image structure */
  856. };
  857.  
  858. USHORT ImageData18[] = {
  859.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  860.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  861.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  862.     0xFFFF,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,0x808A,0xFFFF,
  863.     0xFFFF,0xFFFF
  864. };
  865.  
  866. struct Image Image18 = {
  867.     0,0,    /* XY origin relative to container TopLeft */
  868.     17,17,    /* Image width and height in pixels */
  869.     2,    /* number of bitplanes in Image */
  870.     ImageData18,    /* pointer to ImageData */
  871.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  872.     NULL    /* next Image structure */
  873. };
  874.  
  875. struct Gadget LogX = {
  876.     &LogY,    /* next gadget */
  877.     427,29,    /* origin XY of hit box relative to window TopLeft */
  878.     17,17,    /* hit box width and height */
  879.     GADGHIMAGE+GADGIMAGE,    /* gadget flags */
  880.     RELVERIFY+TOGGLESELECT,    /* activation flags */
  881.     BOOLGADGET,    /* gadget type flags */
  882.     (APTR)&Image17,    /* gadget border or image to be rendered */
  883.     (APTR)&Image18,    /* alternate imagery for selection */
  884.     NULL,    /* first IntuiText structure */
  885.     0,    /* gadget mutual-exclude long word */
  886.     NULL,    /* SpecialInfo structure */
  887.     NULL,    /* user-definable data */
  888.     NULL    /* pointer to user-definable data */
  889. };
  890.  
  891. USHORT ImageData19[] = {
  892.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  893.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  894.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  895.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  896.     0xFFFF,0xFFFF,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  897.     0x8888,0x8000,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  898.     0x8888,0x8000,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  899.     0x8888,0x8000,0xFFFF,0x8000,0x8888,0x8000,0x8888,0x8000,
  900.     0x8888,0x8000,0xFFFF,0x8000
  901. };
  902.  
  903. struct Image Image19 = {
  904.     0,0,    /* XY origin relative to container TopLeft */
  905.     17,17,    /* Image width and height in pixels */
  906.     2,    /* number of bitplanes in Image */
  907.     ImageData19,    /* pointer to ImageData */
  908.     0x0003,0x0000,    /* PlanePick and PlaneOnOff */
  909.     NULL    /* next Image structure */
  910. };
  911.  
  912. USHORT ImageData20[] = {
  913.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  914.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  915.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  916.     0xFFFF,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,0x8888,0xFFFF,
  917.     0xFFFF,0xFFFF
  918. };
  919.  
  920. struct Image Image20 = {
  921.     0,0,    /* XY origin relative to container TopLeft */
  922.     17,17,    /* Image width and height in pixels */
  923.     2,    /* number of bitplanes in Image */
  924.     ImageData20,    /* pointer to ImageData */
  925.     0x0001,0x0000,    /* PlanePick and PlaneOnOff */
  926.     NULL    /* next Image structure */
  927. };
  928.  
  929. struct Gadget Linear = {
  930.     &LogX,    /* next gadget */
  931.     397,29,    /* origin XY of hit box relative to window TopLeft */
  932.     17,17,    /* hit box width and height */
  933.     GADGHIMAGE+GADGIMAGE,    /* gadget flags */
  934.     RELVERIFY+TOGGLESELECT,    /* activation flags */
  935.     BOOLGADGET,    /* gadget type flags */
  936.     (APTR)&Image19,    /* gadget border or image to be rendered */
  937.     (APTR)&Image20,    /* alternate imagery for selection */
  938.     NULL,    /* first IntuiText structure */
  939.     0,    /* gadget mutual-exclude long word */
  940.     NULL,    /* SpecialInfo structure */
  941.     NULL,    /* user-definable data */
  942.     NULL    /* pointer to user-definable data */
  943. };
  944.  
  945. SHORT BorderVectors7[] = {
  946.     0,0,
  947.     49,0,
  948.     49,20,
  949.     0,20,
  950.     0,0
  951. };
  952. struct Border Border7 = {
  953.     -1,-1,    /* XY origin relative to container TopLeft */
  954.     1,0,JAM2,    /* front pen, back pen and drawmode */
  955.     5,    /* number of XY vectors */
  956.     BorderVectors7,    /* pointer to XY vectors */
  957.     NULL    /* next border in list */
  958. };
  959.  
  960. struct IntuiText IText7 = {
  961.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  962.     5,6,    /* XY origin relative to container TopLeft */
  963.     &TOPAZ80,    /* font pointer or NULL for default */
  964.     (UBYTE *)"PRINT",    /* pointer to text */
  965.     NULL    /* next IntuiText structure */
  966. };
  967.  
  968. struct Gadget go = {
  969.     &Linear,    /* next gadget */
  970.     289,84,    /* origin XY of hit box relative to window TopLeft */
  971.     48,19,    /* hit box width and height */
  972.     NULL,    /* gadget flags */
  973.     RELVERIFY,    /* activation flags */
  974.     BOOLGADGET,    /* gadget type flags */
  975.     (APTR)&Border7,    /* gadget border or image to be rendered */
  976.     NULL,    /* alternate imagery for selection */
  977.     &IText7,    /* first IntuiText structure */
  978.     0,    /* gadget mutual-exclude long word */
  979.     NULL,    /* SpecialInfo structure */
  980.     NULL,    /* user-definable data */
  981.     NULL    /* pointer to user-definable data */
  982. };
  983.  
  984. UBYTE y_sizeSIBuff[15] =
  985.     "1.1";
  986. struct StringInfo y_sizeSInfo = {
  987.     y_sizeSIBuff,    /* buffer where text will be edited */
  988.     UNDOBUFFER,    /* optional undo buffer */
  989.     0,    /* character position in buffer */
  990.     15,    /* maximum number of characters to allow */
  991.     0,    /* first displayed character buffer position */
  992.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  993.     0,    /* Rastport of gadget */
  994.     0,    /* initial value for integer gadgets */
  995.     NULL    /* alternate keymap (fill in if you set the flag) */
  996. };
  997.  
  998. SHORT BorderVectors8[] = {
  999.     0,0,
  1000.     41,0,
  1001.     41,9,
  1002.     0,9,
  1003.     0,0
  1004. };
  1005. struct Border Border8 = {
  1006.     -1,-1,    /* XY origin relative to container TopLeft */
  1007.     3,0,JAM1,    /* front pen, back pen and drawmode */
  1008.     5,    /* number of XY vectors */
  1009.     BorderVectors8,    /* pointer to XY vectors */
  1010.     NULL    /* next border in list */
  1011. };
  1012.  
  1013. struct IntuiText IText8 = {
  1014.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1015.     14,-11,    /* XY origin relative to container TopLeft */
  1016.     &TOPAZ80,    /* font pointer or NULL for default */
  1017.     (UBYTE *)"Y",    /* pointer to text */
  1018.     NULL    /* next IntuiText structure */
  1019. };
  1020.  
  1021. struct Gadget y_size = {
  1022.     &go,    /* next gadget */
  1023.     81,73,    /* origin XY of hit box relative to window TopLeft */
  1024.     40,8,    /* hit box width and height */
  1025.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  1026.     RELVERIFY+STRINGRIGHT,    /* activation flags */
  1027.     STRGADGET,    /* gadget type flags */
  1028.     (APTR)&Border8,    /* gadget border or image to be rendered */
  1029.     NULL,    /* alternate imagery for selection */
  1030.     &IText8,    /* first IntuiText structure */
  1031.     0,    /* gadget mutual-exclude long word */
  1032.     (APTR)&y_sizeSInfo,    /* SpecialInfo structure */
  1033.     NULL,    /* user-definable data */
  1034.     NULL    /* pointer to user-definable data */
  1035. };
  1036.  
  1037. UBYTE Major_ThicknessSIBuff[15] =
  1038.     "4";
  1039. struct StringInfo Major_ThicknessSInfo = {
  1040.     Major_ThicknessSIBuff,    /* buffer where text will be edited */
  1041.     UNDOBUFFER,    /* optional undo buffer */
  1042.     0,    /* character position in buffer */
  1043.     15,    /* maximum number of characters to allow */
  1044.     0,    /* first displayed character buffer position */
  1045.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  1046.     0,    /* Rastport of gadget */
  1047.     0,    /* initial value for integer gadgets */
  1048.     NULL    /* alternate keymap (fill in if you set the flag) */
  1049. };
  1050.  
  1051. SHORT BorderVectors9[] = {
  1052.     0,0,
  1053.     41,0,
  1054.     41,9,
  1055.     0,9,
  1056.     0,0
  1057. };
  1058. struct Border Border9 = {
  1059.     -1,-1,    /* XY origin relative to container TopLeft */
  1060.     3,0,JAM1,    /* front pen, back pen and drawmode */
  1061.     5,    /* number of XY vectors */
  1062.     BorderVectors9,    /* pointer to XY vectors */
  1063.     NULL    /* next border in list */
  1064. };
  1065.  
  1066. struct IntuiText IText9 = {
  1067.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1068.     -141,0,    /* XY origin relative to container TopLeft */
  1069.     &TOPAZ80,    /* font pointer or NULL for default */
  1070.     (UBYTE *)"Thickness, pixels",    /* pointer to text */
  1071.     NULL    /* next IntuiText structure */
  1072. };
  1073.  
  1074. struct Gadget Major_Thickness = {
  1075.     &y_size,    /* next gadget */
  1076.     188,188,    /* origin XY of hit box relative to window TopLeft */
  1077.     40,8,    /* hit box width and height */
  1078.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  1079.     STRINGRIGHT+LONGINT,    /* activation flags */
  1080.     STRGADGET,    /* gadget type flags */
  1081.     (APTR)&Border9,    /* gadget border or image to be rendered */
  1082.     NULL,    /* alternate imagery for selection */
  1083.     &IText9,    /* first IntuiText structure */
  1084.     0,    /* gadget mutual-exclude long word */
  1085.     (APTR)&Major_ThicknessSInfo,    /* SpecialInfo structure */
  1086.     NULL,    /* user-definable data */
  1087.     NULL    /* pointer to user-definable data */
  1088. };
  1089.  
  1090. UBYTE Minor_ThicknessSIBuff[15] =
  1091.     "1";
  1092. struct StringInfo Minor_ThicknessSInfo = {
  1093.     Minor_ThicknessSIBuff,    /* buffer where text will be edited */
  1094.     UNDOBUFFER,    /* optional undo buffer */
  1095.     0,    /* character position in buffer */
  1096.     15,    /* maximum number of characters to allow */
  1097.     0,    /* first displayed character buffer position */
  1098.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  1099.     0,    /* Rastport of gadget */
  1100.     0,    /* initial value for integer gadgets */
  1101.     NULL    /* alternate keymap (fill in if you set the flag) */
  1102. };
  1103.  
  1104. SHORT BorderVectors10[] = {
  1105.     0,0,
  1106.     41,0,
  1107.     41,9,
  1108.     0,9,
  1109.     0,0
  1110. };
  1111. struct Border Border10 = {
  1112.     -1,-1,    /* XY origin relative to container TopLeft */
  1113.     3,0,JAM1,    /* front pen, back pen and drawmode */
  1114.     5,    /* number of XY vectors */
  1115.     BorderVectors10,    /* pointer to XY vectors */
  1116.     NULL    /* next border in list */
  1117. };
  1118.  
  1119. struct IntuiText IText10 = {
  1120.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1121.     -142,0,    /* XY origin relative to container TopLeft */
  1122.     &TOPAZ80,    /* font pointer or NULL for default */
  1123.     (UBYTE *)"Thickness, pixels",    /* pointer to text */
  1124.     NULL    /* next IntuiText structure */
  1125. };
  1126.  
  1127. struct Gadget Minor_Thickness = {
  1128.     &Major_Thickness,    /* next gadget */
  1129.     485,188,    /* origin XY of hit box relative to window TopLeft */
  1130.     40,8,    /* hit box width and height */
  1131.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  1132.     STRINGRIGHT+LONGINT,    /* activation flags */
  1133.     STRGADGET,    /* gadget type flags */
  1134.     (APTR)&Border10,    /* gadget border or image to be rendered */
  1135.     NULL,    /* alternate imagery for selection */
  1136.     &IText10,    /* first IntuiText structure */
  1137.     0,    /* gadget mutual-exclude long word */
  1138.     (APTR)&Minor_ThicknessSInfo,    /* SpecialInfo structure */
  1139.     NULL,    /* user-definable data */
  1140.     NULL    /* pointer to user-definable data */
  1141. };
  1142.  
  1143. UBYTE x_dpiSIBuff[15] =
  1144.     "300";
  1145. struct StringInfo x_dpiSInfo = {
  1146.     x_dpiSIBuff,    /* buffer where text will be edited */
  1147.     UNDOBUFFER,    /* optional undo buffer */
  1148.     0,    /* character position in buffer */
  1149.     15,    /* maximum number of characters to allow */
  1150.     0,    /* first displayed character buffer position */
  1151.     0,0,0,0,0,    /* Intuition initialized and maintained variables */
  1152.     0,    /* Rastport of gadget */
  1153.     0,    /* initial value for integer gadgets */
  1154.     NULL    /* alternate keymap (fill in if you set the flag) */
  1155. };
  1156.  
  1157. SHORT BorderVectors11[] = {
  1158.     0,0,
  1159.     41,0,
  1160.     41,9,
  1161.     0,9,
  1162.     0,0
  1163. };
  1164. struct Border Border11 = {
  1165.     -1,-1,    /* XY origin relative to container TopLeft */
  1166.     3,0,JAM1,    /* front pen, back pen and drawmode */
  1167.     5,    /* number of XY vectors */
  1168.     BorderVectors11,    /* pointer to XY vectors */
  1169.     NULL    /* next border in list */
  1170. };
  1171.  
  1172. struct IntuiText IText11 = {
  1173.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1174.     -18,0,    /* XY origin relative to container TopLeft */
  1175.     &TOPAZ80,    /* font pointer or NULL for default */
  1176.     (UBYTE *)"X:",    /* pointer to text */
  1177.     NULL    /* next IntuiText structure */
  1178. };
  1179.  
  1180. struct Gadget x_dpi = {
  1181.     &Minor_Thickness,    /* next gadget */
  1182.     293,160,    /* origin XY of hit box relative to window TopLeft */
  1183.     40,8,    /* hit box width and height */
  1184.     GADGHBOX+GADGHIMAGE,    /* gadget flags */
  1185.     STRINGRIGHT+LONGINT,    /* activation flags */
  1186.     STRGADGET,    /* gadget type flags */
  1187.     (APTR)&Border11,    /* gadget border or image to be rendered */
  1188.     NULL,    /* alternate imagery for selection */
  1189.     &IText11,    /* first IntuiText structure */
  1190.     0,    /* gadget mutual-exclude long word */
  1191.     (APTR)&x_dpiSInfo,    /* SpecialInfo structure */
  1192.     NULL,    /* user-definable data */
  1193.     NULL    /* pointer to user-definable data */
  1194. };
  1195.  
  1196. #define GadgetList1 x_dpi
  1197.  
  1198. struct IntuiText IText12 = {
  1199.     3,1,COMPLEMENT,    /* front and back text pens, drawmode and fill byte */
  1200.     0,0,    /* XY origin relative to container TopLeft */
  1201.     NULL,    /* font pointer or NULL for default */
  1202.     (UBYTE *)"Quit",    /* pointer to text */
  1203.     NULL    /* next IntuiText structure */
  1204. };
  1205.  
  1206. struct MenuItem MenuItem4 = {
  1207.     NULL,    /* next MenuItem structure */
  1208.     0,24,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
  1209.     144,8,    /* hit box width and height */
  1210.     ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,    /* Item flags */
  1211.     0,    /* each bit mutually-excludes a same-level Item */
  1212.     (APTR)&IText12,    /* Item render  (IntuiText or Image or NULL) */
  1213.     NULL,    /* Select render */
  1214.     'Q',    /* alternate command-key */
  1215.     NULL,    /* SubItem list */
  1216.     MENUNULL    /* filled in by Intuition for drag selections */
  1217. };
  1218.  
  1219. struct IntuiText IText13 = {
  1220.     3,1,COMPLEMENT,    /* front and back text pens, drawmode and fill byte */
  1221.     0,0,    /* XY origin relative to container TopLeft */
  1222.     NULL,    /* font pointer or NULL for default */
  1223.     (UBYTE *)"",    /* pointer to text */
  1224.     NULL    /* next IntuiText structure */
  1225. };
  1226.  
  1227. struct MenuItem MenuItem3 = {
  1228.     &MenuItem4,    /* next MenuItem structure */
  1229.     0,16,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
  1230.     144,8,    /* hit box width and height */
  1231.     ITEMTEXT+HIGHCOMP+HIGHBOX,    /* Item flags */
  1232.     0,    /* each bit mutually-excludes a same-level Item */
  1233.     (APTR)&IText13,    /* Item render  (IntuiText or Image or NULL) */
  1234.     NULL,    /* Select render */
  1235.     0,    /* alternate command-key */
  1236.     NULL,    /* SubItem list */
  1237.     MENUNULL    /* filled in by Intuition for drag selections */
  1238. };
  1239.  
  1240. struct IntuiText IText14 = {
  1241.     3,1,COMPLEMENT,    /* front and back text pens, drawmode and fill byte */
  1242.     0,0,    /* XY origin relative to container TopLeft */
  1243.     NULL,    /* font pointer or NULL for default */
  1244.     (UBYTE *)"Save Settings",    /* pointer to text */
  1245.     NULL    /* next IntuiText structure */
  1246. };
  1247.  
  1248. struct MenuItem MenuItem2 = {
  1249.     &MenuItem3,    /* next MenuItem structure */
  1250.     0,8,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
  1251.     144,8,    /* hit box width and height */
  1252.     ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,    /* Item flags */
  1253.     0,    /* each bit mutually-excludes a same-level Item */
  1254.     (APTR)&IText14,    /* Item render  (IntuiText or Image or NULL) */
  1255.     NULL,    /* Select render */
  1256.     'S',    /* alternate command-key */
  1257.     NULL,    /* SubItem list */
  1258.     MENUNULL    /* filled in by Intuition for drag selections */
  1259. };
  1260.  
  1261. struct IntuiText IText15 = {
  1262.     3,1,COMPLEMENT,    /* front and back text pens, drawmode and fill byte */
  1263.     0,0,    /* XY origin relative to container TopLeft */
  1264.     NULL,    /* font pointer or NULL for default */
  1265.     (UBYTE *)"Load Settings",    /* pointer to text */
  1266.     NULL    /* next IntuiText structure */
  1267. };
  1268.  
  1269. struct MenuItem MenuItem1 = {
  1270.     &MenuItem2,    /* next MenuItem structure */
  1271.     0,0,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
  1272.     144,8,    /* hit box width and height */
  1273.     ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,    /* Item flags */
  1274.     0,    /* each bit mutually-excludes a same-level Item */
  1275.     (APTR)&IText15,    /* Item render  (IntuiText or Image or NULL) */
  1276.     NULL,    /* Select render */
  1277.     'L',    /* alternate command-key */
  1278.     NULL,    /* SubItem list */
  1279.     MENUNULL    /* filled in by Intuition for drag selections */
  1280. };
  1281.  
  1282. struct Menu Menu1 = {
  1283.     NULL,    /* next Menu structure */
  1284.     0,0,    /* XY origin of Menu hit box relative to screen TopLeft */
  1285.     63,0,    /* Menu hit box width and height */
  1286.     MENUENABLED,    /* Menu flags */
  1287.     "Project",    /* text of Menu name */
  1288.     &MenuItem1    /* MenuItem linked list pointer */
  1289. };
  1290.  
  1291. #define MenuList1 Menu1
  1292.  
  1293. struct IntuiText IText21 = {
  1294.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1295.     266,149,    /* XY origin relative to container TopLeft */
  1296.     &TOPAZ80,    /* font pointer or NULL for default */
  1297.     (UBYTE *)"Printer DPI",    /* pointer to text */
  1298.     NULL    /* next IntuiText structure */
  1299. };
  1300.  
  1301. struct IntuiText IText20 = {
  1302.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1303.     355,50,    /* XY origin relative to container TopLeft */
  1304.     &TOPAZ80,    /* font pointer or NULL for default */
  1305.     (UBYTE *)"Grids per Major Grid",    /* pointer to text */
  1306.     &IText21    /* next IntuiText structure */
  1307. };
  1308.  
  1309. struct IntuiText IText19 = {
  1310.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1311.     165,50,    /* XY origin relative to container TopLeft */
  1312.     &TOPAZ80,    /* font pointer or NULL for default */
  1313.     (UBYTE *)"Grids/page",    /* pointer to text */
  1314.     &IText20    /* next IntuiText structure */
  1315. };
  1316.  
  1317. struct IntuiText IText18 = {
  1318.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1319.     28,50,    /* XY origin relative to container TopLeft */
  1320.     &TOPAZ80,    /* font pointer or NULL for default */
  1321.     (UBYTE *)"Size(inches)",    /* pointer to text */
  1322.     &IText19    /* next IntuiText structure */
  1323. };
  1324.  
  1325. struct TextAttr TOPAZ60 = {
  1326.     (STRPTR)"topaz.font",
  1327.     TOPAZ_SIXTY,0,0
  1328. };
  1329. struct IntuiText IText17 = {
  1330.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1331.     388,15,    /* XY origin relative to container TopLeft */
  1332.     &TOPAZ60,    /* font pointer or NULL for default */
  1333.     (UBYTE *)"MINOR GRID",    /* pointer to text */
  1334.     &IText18    /* next IntuiText structure */
  1335. };
  1336.  
  1337. struct IntuiText IText16 = {
  1338.     1,0,JAM2,    /* front and back text pens, drawmode and fill byte */
  1339.     82,15,    /* XY origin relative to container TopLeft */
  1340.     &TOPAZ60,    /* font pointer or NULL for default */
  1341.     (UBYTE *)"MAJOR GRID",    /* pointer to text */
  1342.     &IText17    /* next IntuiText structure */
  1343. };
  1344.  
  1345. #define IntuiTextList1 IText16
  1346.  
  1347. struct NewWindow NewWindowStructure1 = {
  1348.     0,0,    /* window XY origin relative to TopLeft of screen */
  1349.     558,200,    /* window width and height */
  1350.     0,1,    /* detail and block pens */
  1351.     GADGETDOWN+GADGETUP+MENUPICK+CLOSEWINDOW,    /* IDCMP flags */
  1352.     WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+REPORTMOUSE+ACTIVATE+NOCAREREFRESH,    /* other window flags */
  1353.     &x_dpi,    /* first gadget in gadget list */
  1354.     NULL,    /* custom CHECKMARK imagery */
  1355.     (UBYTE *)"GraphPaper v?",    /* window title */
  1356.     NULL,    /* custom screen pointer */
  1357.     NULL,    /* custom bitmap */
  1358.     100,50,    /* minimum width and height */
  1359.     -1,-1,    /* maximum width and height */
  1360.     WBENCHSCREEN    /* destination screen type */
  1361. };
  1362.  
  1363.  
  1364. void HandleEvent(object)
  1365. APTR object;
  1366. {
  1367.   if (object == (APTR)&MenuItem1) { Project_Load(object); return; }
  1368.   if (object == (APTR)&MenuItem2) { Project_Save(object); return; }
  1369.   if (object == (APTR)&MenuItem4) { Project_Quit(object); return; }
  1370.   if (object == (APTR)&y_size) { y_size_func(object); return; }
  1371.   if (object == (APTR)&go) { go_func(object); return; }
  1372.   if (object == (APTR)&Linear) { MG_Linear(object); return; }
  1373.   if (object == (APTR)&LogX) { MG_LogX(object); return; }
  1374.   if (object == (APTR)&LogY) { MG_LogY(object); return; }
  1375.   if (object == (APTR)&LogLog) { MG_LogLog(object); return; }
  1376.   if (object == (APTR)&size_slider_middle) { size_slider_middle_func(object); return; }
  1377.   if (object == (APTR)&size_slider_right) { size_slider_right_func(object); return; }
  1378.   if (object == (APTR)&size_slider_left) { size_slider_left_func(object); return; }
  1379.   if (object == (APTR)&x_size) { x_size_func(object); return; }
  1380.   if (object == (APTR)&grids_slider_right) { grids_slider_right_func(object); return; }
  1381.   if (object == (APTR)&grids_slider_middle) { grids_slider_middle_func(object); return; }
  1382.   if (object == (APTR)&grids_slider_left) { grids_slider_left_func(object); return; }
  1383.   if (object == (APTR)&y_grids_page) { y_grids_func(object); return; }
  1384.   if (object == (APTR)&x_grids_page) { x_grids_func(object); return; }
  1385.   if (object == (APTR)&minor_slider_left) { minor_slider_left_func(object); return; }
  1386.   if (object == (APTR)&minor_slider_middle) { minor_slider_middle_func(object); return; }
  1387.   if (object == (APTR)&minor_slider_right) { minor_slider_right_func(object); return; }
  1388.   if (object == (APTR)&minor_y) { minor_y_func(object); return; }
  1389.   if (object == (APTR)&minor_x) { minor_x_func(object); return; }
  1390.   if (object == (APTR)&check) { check_func(object); return; }
  1391.   if (object == (APTR)&None) { MG_None(object); return; }
  1392. }
  1393. #define HANDLEEVENT HandleEvent
  1394.  
  1395. /* end of PowerWindows source generation */
  1396.