home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 580a.lha / HDFView_v3.01 / source.LZH / source / src / mainGadgets.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-03  |  8.9 KB  |  301 lines

  1. #include <exec/types.h>
  2. #include <intuition/intuition.h>
  3. #include <proto/exec.h>
  4. #include <proto/intuition.h>
  5. #include <proto/graphics.h>
  6.  
  7. extern struct TextAttr textAttr;
  8.  
  9. USHORT chip gImageData[2][48] = {
  10.   {0x0000, 0x0000, 0x0000, 0x0001,
  11.    0x0000, 0x0000, 0x0000, 0x0003,
  12.    0x0000, 0x0000, 0x0000, 0x0003,
  13.    0x0000, 0x0000, 0x0000, 0x0003,
  14.    0x0000, 0x0000, 0x0000, 0x0003,
  15.    0x0000, 0x0000, 0x0000, 0x0003,
  16.    0x0000, 0x0000, 0x0000, 0x0003,
  17.    0x0000, 0x0000, 0x0000, 0x0003,
  18.    0x0000, 0x0000, 0x0000, 0x0003,
  19.    0x0000, 0x0000, 0x0000, 0x0003,
  20.    0x0000, 0x0000, 0x0000, 0x0003,
  21.    0x7fff, 0xffff, 0xffff, 0xffff},
  22.    
  23.   {0xffff, 0xffff, 0xffff, 0xfffe,
  24.    0xc000, 0x0000, 0x0000, 0x0000,
  25.    0xc000, 0x0000, 0x0000, 0x0000,
  26.    0xc000, 0x0000, 0x0000, 0x0000,
  27.    0xc000, 0x0000, 0x0000, 0x0000,
  28.    0xc000, 0x0000, 0x0000, 0x0000,
  29.    0xc000, 0x0000, 0x0000, 0x0000,
  30.    0xc000, 0x0000, 0x0000, 0x0000,
  31.    0xc000, 0x0000, 0x0000, 0x0000,
  32.    0xc000, 0x0000, 0x0000, 0x0000,
  33.    0xc000, 0x0000, 0x0000, 0x0000,
  34.    0x8000, 0x0000, 0x0000, 0x0000}
  35. };
  36.  
  37. struct Image gImage = {
  38.    0,0, 64, 12, 2,
  39.    (USHORT *)gImageData,0x0003,0x00000,NULL
  40. };
  41.  
  42. struct IntuiText exitText = {
  43.    1,0, JAM2, 15,2, &textAttr, "Quit", NULL
  44. };
  45. struct IntuiText infoText = {
  46.    1,0, JAM2, 15,2, &textAttr, "Info", NULL
  47. };
  48. struct IntuiText fileText = {
  49.    1,0, JAM2, 15,2, &textAttr, "File", NULL
  50. };
  51. struct IntuiText paletteText = {
  52.    1,0, JAM2, 5,2, &textAttr, "Palette",NULL
  53. };
  54. struct IntuiText screenText = {
  55.    1,0, JAM2, 9,2, &textAttr, "Screen", NULL
  56. };
  57.  
  58. struct Gadget screenGadget = {NULL, 306,6, 64,12, GADGHCOMP|GADGIMAGE|GADGDISABLED,
  59.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &screenText, NULL, NULL,
  60.    50, NULL
  61. };
  62. struct Gadget paletteGadget = {&screenGadget, 232,6, 64,12, GADGHCOMP|GADGIMAGE|GADGDISABLED,
  63.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &paletteText, NULL, NULL,
  64.    40, NULL
  65. };
  66. struct Gadget fileGadget = {&paletteGadget, 158,6, 64,12, GADGHCOMP|GADGIMAGE,
  67.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &fileText, NULL, NULL,
  68.    30, (APTR)1
  69. };
  70. struct Gadget infoGadget = { &fileGadget, 84,6, 64,12, GADGHCOMP|GADGIMAGE,
  71.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &infoText, NULL, NULL,
  72.    20, (APTR)1
  73. };   
  74. struct Gadget exitGadget = { &infoGadget, 10,6, 64,12, GADGHCOMP|GADGIMAGE,
  75.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &exitText, NULL, NULL,
  76.    10, (APTR)1
  77. };
  78.  
  79. struct IntuiText openText = {
  80.    1,0, JAM2, 15,2, &textAttr, "Open", NULL
  81. };
  82. struct IntuiText nextText = {
  83.    1,0, JAM2, 15,2, &textAttr, "Next", NULL
  84. };
  85. struct IntuiText psText = {
  86.    1,0, JAM2, 7,2, &textAttr, "SavePS", NULL
  87. };
  88. struct IntuiText iffText = {
  89.    1,0, JAM2, 3,2, &textAttr, "SaveIFF", NULL
  90. };
  91. struct IntuiText mainText = {
  92.    1,0, JAM2, 15,2, &textAttr, "Main", NULL
  93. };
  94.  
  95. struct Gadget mainGadget = {NULL,     560,6,  64,12, GADGHCOMP|GADGIMAGE,
  96.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &mainText, NULL, NULL,
  97.    35, (APTR)1
  98. };
  99. struct Gadget psGadget = {&mainGadget, 232,6, 64,12, GADGHCOMP|GADGIMAGE|GADGDISABLED,
  100.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &psText, NULL, NULL,
  101.    34, NULL
  102. };
  103. struct Gadget iffGadget = {&psGadget, 158,6, 64,12, GADGHCOMP|GADGIMAGE|GADGDISABLED,
  104.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &iffText, NULL, NULL,
  105.    33, NULL
  106. };
  107. struct Gadget nextGadget = { &iffGadget, 84,6, 64,12, GADGHCOMP|GADGIMAGE|GADGDISABLED,
  108.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &nextText, NULL, NULL,
  109.    32, NULL
  110. };   
  111. struct Gadget openGadget = { &nextGadget, 10,6, 64,12, GADGHCOMP|GADGIMAGE,
  112.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &openText, NULL, NULL,
  113.    31, (APTR)1
  114. };
  115.  
  116. struct IntuiText loresText = {
  117.    1,0, JAM2, 5,2, &textAttr, "LORES", NULL
  118. };
  119. struct IntuiText laceText = {
  120.    1,0, JAM2, 5,2, &textAttr, "LACE", NULL
  121. };
  122. struct IntuiText hiresText = {
  123.    1,0, JAM2, 5,2, &textAttr, "HIRES", NULL
  124. };
  125. struct IntuiText hilaceText = {
  126.    1,0, JAM2, 5,2, &textAttr, "HILACE", NULL
  127. };
  128. struct IntuiText HEText = {
  129.    1,0, JAM2, 9,2, &textAttr, "Ham-E", NULL
  130. };
  131. struct IntuiText HElaceText = {
  132.    1,0, JAM2, 3,2, &textAttr, "HE Lace", NULL
  133. };
  134.  
  135. struct Gadget main2Gadget = {NULL,     560,6,  64,12, GADGHCOMP|GADGIMAGE,
  136.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &mainText, NULL, NULL,
  137.    57, (APTR)1
  138. };
  139. struct Gadget HElaceGadget = {&main2Gadget, 380,6, 64,12, GADGHCOMP|GADGIMAGE,
  140.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &HElaceText, NULL, NULL,
  141.    56, (APTR)1
  142. };
  143. struct Gadget HEGadget = {&HElaceGadget, 306,6, 64,12,GADGHCOMP|GADGIMAGE,
  144.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &HEText, NULL, NULL,
  145.    55, (APTR)1
  146. };
  147. struct Gadget hilaceGadget = {&HEGadget, 232,6, 64,12,GADGHCOMP|GADGIMAGE,
  148.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &hilaceText, NULL, NULL,
  149.    54, (APTR)1
  150. };
  151. struct Gadget hiresGadget = {&hilaceGadget, 158,6, 64,12, GADGHCOMP|GADGIMAGE,
  152.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &hiresText, NULL, NULL,
  153.    53, (APTR)1
  154. };
  155. struct Gadget laceGadget = { &hiresGadget, 84,6, 64,12, GADGHCOMP|GADGIMAGE,
  156.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &laceText, NULL, NULL,
  157.    52, (APTR)1
  158. };   
  159. struct Gadget loresGadget = { &laceGadget, 10,6, 64,12, GADGHCOMP|GADGIMAGE,
  160.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &loresText, NULL, NULL,
  161.    51, (APTR)1
  162. };
  163.  
  164. struct IntuiText showText = {
  165.    1,0, JAM2, 15,2, &textAttr, "Show", NULL
  166. };
  167. struct IntuiText saveText = {
  168.    1,0, JAM2, 13,2, &textAttr, "Save", NULL
  169. };
  170. struct IntuiText loadText = {
  171.    1,0, JAM2, 15,2, &textAttr, "Load", NULL
  172. };
  173. UBYTE redbuf[4] = {' ',' ','0','\0'};
  174. UBYTE greenbuf[4] = {' ',' ','0','\0'};
  175. UBYTE bluebuf[4] = {' ',' ','0','\0'};
  176. struct IntuiText rvText = {
  177.    3,0, JAM2, 276,0, &textAttr, redbuf,NULL
  178. };
  179. struct IntuiText gvText = {
  180.    3,0, JAM2, 276,0,&textAttr, greenbuf,NULL
  181. };
  182. struct IntuiText bvText = {
  183.    3,0, JAM2, 276,0, &textAttr, bluebuf,NULL
  184. };
  185. struct IntuiText redText = {
  186.    3,0, JAM2, -8, 0, &textAttr, "R", &rvText
  187. };
  188. struct IntuiText greenText = {
  189.    3,0, JAM2, -8, 0, &textAttr, "G", &gvText
  190. };
  191. struct IntuiText blueText = {
  192.    3,0, JAM2, -8, 0, &textAttr, "B", &bvText
  193. };
  194. struct PropInfo bpi = {
  195.    AUTOKNOB|FREEHORIZ, 0x0000, 0x0000, MAXBODY/16, MAXBODY,
  196.    0, 0, 0, 0, 0, 0 
  197. };
  198. struct PropInfo gpi = {
  199.    AUTOKNOB|FREEHORIZ, 0x0000, 0x0000, MAXBODY/16, MAXBODY,
  200.    0, 0, 0, 0, 0, 0 
  201. };
  202. struct PropInfo rpi = {
  203.    AUTOKNOB|FREEHORIZ, 0x0000, 0x0000, MAXBODY/16, MAXBODY,
  204.    0, 0, 0, 0, 0, 0 
  205. };
  206. struct Image GImage,RImage,BImage;
  207.    
  208. struct Gadget main3Gadget = {NULL,     560,6,  64,12, GADGHCOMP|GADGIMAGE,
  209.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &mainText, NULL, NULL,
  210.    44, (APTR)1
  211. };
  212. struct Gadget bpropGadget = {&main3Gadget, 242,27, 272,7,
  213.    GADGHCOMP|GADGIMAGE, GADGIMMEDIATE|RELVERIFY, PROPGADGET, (APTR)&BImage, NULL,
  214.    &blueText, NULL, (APTR)&bpi, 92, (APTR)1
  215. };
  216. struct Gadget gpropGadget = {&bpropGadget, 242,19, 272,7,
  217.    GADGHCOMP|GADGIMAGE, GADGIMMEDIATE|RELVERIFY, PROPGADGET, (APTR)&GImage, NULL,
  218.    &greenText, NULL, (APTR)&gpi, 91, (APTR)1
  219. };
  220. struct Gadget rpropGadget = {&gpropGadget, 242,11, 272,7,
  221.    GADGHCOMP|GADGIMAGE, GADGIMMEDIATE|RELVERIFY, PROPGADGET, (APTR)&RImage, NULL,
  222.    &redText, NULL, (APTR)&rpi, 90, (APTR)NULL
  223. };
  224.  
  225. struct Gadget saveGadget = {&rpropGadget, 158,6, 64,12, GADGHCOMP|GADGIMAGE,
  226.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &saveText, NULL, NULL,
  227.    43, (APTR)1
  228. };
  229. struct Gadget loadGadget = { &saveGadget, 84,6, 64,12, GADGHCOMP|GADGIMAGE,
  230.    RELVERIFY, BOOLGADGET, (APTR)&gImage, NULL, &loadText, NULL, NULL,
  231.    42, (APTR)1
  232. };   
  233. struct Gadget showGadget = { &loadGadget, 10,6, 64,12, GADGHCOMP|GADGIMAGE,
  234.    RELVERIFY|TOGGLESELECT, BOOLGADGET, (APTR)&gImage, NULL, &showText, NULL, NULL,
  235.    41, (APTR)1
  236. };
  237.     
  238. extern struct Window *gWindow;
  239.  
  240. VOID
  241. mainGadgets(VOID)
  242. {
  243.    SetRast(gWindow->RPort, 0);
  244.    AddGList(gWindow, &exitGadget, 0, -1, NULL);
  245.    RefreshGList(&exitGadget, gWindow, NULL, -1);
  246. }
  247.  
  248. VOID
  249. fileGadgets(VOID)
  250. {
  251.    SetRast(gWindow->RPort, 0);
  252.    RemoveGList(gWindow,&exitGadget, -1);
  253.    AddGList(gWindow, &openGadget, 0, -1, NULL);
  254.    RefreshGList(&openGadget, gWindow, NULL, -1);
  255. }
  256. VOID removeFileGadgets(VOID)
  257. {
  258.    RemoveGList(gWindow,&openGadget, -1);
  259. }
  260. VOID
  261. screenGadgets(VOID)
  262. {
  263.    SetRast(gWindow->RPort, 0);
  264.    RemoveGList(gWindow,&exitGadget, -1);
  265.    AddGList(gWindow, &loresGadget, 0, -1, NULL);
  266.    RefreshGList(&loresGadget, gWindow, NULL, -1);
  267. }
  268. VOID removeScreenGadgets(VOID)
  269. {
  270.    RemoveGList(gWindow,&loresGadget, -1);
  271. }
  272.  
  273. VOID
  274. paletteGadgets(VOID)
  275. {
  276.    SetRast(gWindow->RPort, 0);
  277.    RemoveGList(gWindow,&exitGadget, -1);
  278.    AddGList(gWindow, &showGadget, 0, -1, NULL);
  279.    RefreshGList(&showGadget, gWindow, NULL, -1);
  280. }
  281. VOID removePaletteGadgets(VOID)
  282. {
  283.    RemoveGList(gWindow,&showGadget, -1);
  284. }
  285.  
  286. VOID
  287. turnOnGadgets(VOID)
  288. {
  289.    OnGadget(&paletteGadget,gWindow,NULL);
  290.    paletteGadget.UserData = (APTR)1;
  291.    OnGadget(&screenGadget,gWindow,NULL);
  292.    screenGadget.UserData = (APTR)1;
  293.    OnGadget(&psGadget,gWindow,NULL);
  294.    psGadget.UserData = (APTR)1;
  295.    OnGadget(&iffGadget,gWindow,NULL);
  296.    iffGadget.UserData = (APTR)1;
  297.    OnGadget(&nextGadget,gWindow,NULL);
  298.    nextGadget.UserData = (APTR)1;
  299.    SetRast(gWindow->RPort,0);
  300.    RefreshGList(&openGadget, gWindow, NULL, -1);
  301. }