home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / visualarts-1.0.lha / VisualArts-1.0 / Demo / Source / CustomScr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-09  |  7.0 KB  |  328 lines

  1. /* C code generated by:                            */
  2. /* Visual Arts Version 1.0                        */
  3. /* Copyright 1994 Danny Y. Wong  All rights reserved            */
  4. /* Calgary, Alberta (CANADA)                                    */
  5.  
  6.  
  7. struct VAobject {
  8.   struct Window *va_Window;
  9.   struct Gadget *va_Gadget;
  10.   struct IntuiMessage *va_IntuiMsg;
  11.   ULONG va_Flags;
  12.   APTR va_UserData;
  13. };
  14.  
  15. #define GetString(gad)    (((struct StringInfo *)gad->SpecialInfo)->Buffer)
  16. #define GetUndoString(gad)    (((struct StringInfo *)gad->SpecialInfo)->UndoBuffer)
  17. #define GetNumber(gad)    (((struct StringInfo *)gad->SpecialInfo)->LongInt)
  18.  
  19. extern int GetFileName(BOOL save, struct Window *window, char *title, char *path, char *dir, char *file);
  20. extern void CustomDrawRects(struct Window *Wind);
  21. extern void DrawBox(struct Window *Wind, int Left, int Top, int Wid, int Hi, UBYTE APen, short Pattern );
  22. extern void DrawFBox(struct Window *Wind, int Left, int Top, int Wid, int Hi, UBYTE APen, short Pattern, UBYTE Outline, short Fill );
  23. extern void DrawLine(struct Window *Wind, int Left, int Top, int Wid, int Hi, UBYTE APen, short Pattern );
  24. extern void CustomDrawLine(struct Window *Wind);
  25. extern void SetRPortFill(struct Window *Wind, short Type);
  26. extern void ButtonSelected(struct Window *wind, struct Gadget *gad);
  27. extern struct Window  *CustomWnd;
  28. extern APTR   VisualInfo;
  29. extern struct Screen *Scr;
  30. extern struct Gadget *CustomGadgets[2];
  31.  
  32. ULONG LinePatterns[6] = { 0xffff, 0x0cccc, 0xaaaa, 0x8888, 0x3333, 0xffff};
  33.  
  34. void CustomDrawRects(struct Window *Wind)
  35. {
  36.   UWORD offsetx = Scr->WBorLeft;
  37.   UWORD offsety = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  38.  
  39.   DrawFBox(Wind, 1, 0, 406, 163, 2, 0, 0, 9 );
  40.   DrawFBox(Wind, 19, 14, 370, 115, 0, 0, 0, 8 );
  41.   DrawBevelBox(Wind->RPort, 18+offsetx, 13+offsety, 372, 117, 
  42.     (GT_VisualInfo), VisualInfo, (GTBB_Recessed), TRUE, TAG_DONE);
  43.   SetDrPt(Wind->RPort, 0xFFFF);
  44.   SetOPen(Wind->RPort, 0);
  45.   SetAfPt(Wind->RPort, NULL, 0);
  46. }
  47.  
  48. void CustomDrawLine(struct Window *Wind)
  49. {
  50.   DrawLine(Wind, 27, 64, 375, 64, 3, 4 );
  51. }
  52.  
  53. UWORD AreaPattern1[] =
  54. {
  55.   0x1111, 0x2222,
  56.   0x4444, 0x8888,
  57.   0x1111, 0x2222,
  58.   0x4444, 0x8888,
  59.   0x1111, 0x2222,
  60.   0x4444, 0x8888,
  61.   0x1111, 0x2222,
  62.   0x4444, 0x8888
  63. };
  64.  
  65. UWORD AreaPattern2[] =
  66. {
  67.   0x8080, 0x8080,
  68.   0x8080, 0x8080
  69. };
  70.  
  71. UWORD AreaPattern3[] =
  72. {
  73.   0x3333, 0x3333,
  74.   0x3333, 0xffff,
  75.   0x3333, 0x3333,
  76.   0x3333, 0xffff,
  77.   0x3333, 0x3333,
  78.   0x3333, 0xffff,
  79.   0x3333, 0x3333,
  80.   0x3333, 0xffff
  81. };
  82.  
  83. UWORD AreaPattern4[] =
  84. {
  85.   0x8888, 0x8888,
  86.   0x8888, 0x8888,
  87.   0x8888, 0x8888,
  88.   0x8888, 0x8888,
  89.   0x8888, 0x8888,
  90.   0x8888, 0x8888,
  91.   0x8888, 0x8888,
  92.   0x8888, 0x8888
  93. };
  94.  
  95. UWORD AreaPattern5[] =
  96. {
  97.   0xffff, 0x0060,
  98.   0x0060, 0x0060,
  99.   0xffff, 0x6000,
  100.   0x6000, 0x6000,
  101.   0xffff, 0x0060,
  102.   0x0060, 0x0060,
  103.   0xffff, 0x6000,
  104.   0x6000, 0x6000
  105. };
  106.  
  107. UWORD AreaPattern6[] =
  108. {
  109.   0x0000, 0x0000,
  110.   0x0000, 0xffff,
  111.   0x0000, 0x0000,
  112.   0x0000, 0xffff,
  113.   0x0000, 0x0000,
  114.   0x0000, 0xffff,
  115.   0x0000, 0x0000,
  116.   0x0000, 0xffff
  117. };
  118.  
  119. UWORD AreaPattern7[] =
  120. {
  121.   0x4040, 0x0000,
  122.   0x1010, 0x0000
  123. };
  124.  
  125. UWORD AreaPattern8[] =
  126. {
  127.   0xffff, 0xffff
  128. };
  129.  
  130. UWORD AreaPattern9[] =
  131. {
  132.   0xaaaa, 0x5555
  133. };
  134.  
  135.  
  136. void SetRPortFill(struct Window *Wind, short Type)
  137. {
  138.   switch(Type)
  139.   {
  140.      case 1:
  141.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern1, 4);
  142.         break;
  143.      case 2:
  144.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern2, 2);
  145.         break;
  146.      case 3:
  147.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern3, 4);
  148.         break;
  149.      case 4:
  150.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern4, 4);
  151.         break;
  152.      case 5:
  153.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern5, 4);
  154.         break;
  155.      case 6:
  156.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern6, 4);
  157.         break;
  158.      case 7:
  159.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern7, 2);
  160.         break;
  161.      case 8:
  162.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern8, 1);
  163.         break;
  164.      case 9:
  165.         SetAfPt(Wind->RPort, (UWORD *)&AreaPattern9, 1);
  166.         break;
  167.      default:
  168.         break;
  169.   }
  170. }
  171.  
  172. void DrawFBox(struct Window *Wind, int Left, int Top, int Wid, int Hi, UBYTE APen, short Pattern, UBYTE Outline, short Fill )
  173. {
  174.   UWORD offsetx = Scr->WBorLeft;
  175.   UWORD offsety = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  176.  
  177.     SetAPen(Wind->RPort, APen);
  178.     SetOPen(Wind->RPort, Outline);
  179.     SetDrPt(Wind->RPort, LinePatterns[Pattern]);
  180.     SetRPortFill(Wind, Fill);
  181.     RectFill(Wind->RPort, Left+offsetx, Top+offsety, Left+offsetx + Wid, Top+offsety + Hi);
  182. }
  183.  
  184. void DrawLine(struct Window *Wind, int Left, int Top, int Wid, int Hi, UBYTE APen, short Pattern )
  185. {
  186.   UWORD offsetx = Scr->WBorLeft;
  187.   UWORD offsety = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  188.  
  189.     SetAPen(Wind->RPort, APen);
  190.     SetDrPt(Wind->RPort, LinePatterns[Pattern]);
  191.     Move(Wind->RPort, Left+offsetx, Top+offsety);
  192.     Draw(Wind->RPort, Wid+offsetx, Hi+offsety);
  193. }
  194.  
  195. void ButtonSelected(struct Window *wind, struct Gadget *gad)
  196. {
  197.   gad->Flags ^= GFLG_SELECTED;
  198.   RefreshGList(gad, wind, NULL, 1);
  199.   Delay(4);
  200.   gad->Flags ^= GFLG_SELECTED;
  201.   RefreshGList(gad, wind, NULL, 1);
  202. }
  203.  
  204.  
  205.              /* gadget functions */
  206.  
  207. int okObj(struct VAobject VAObject)
  208. {
  209.   return(-1L);
  210. }
  211. /*    Button  OK         */ 
  212.  
  213. int ok11Obj(struct VAobject VAObject)
  214. {
  215.   return(-1L);
  216. }
  217. /*    Button  Cancel         */ 
  218.  
  219. int AboutMenuObj(struct VAobject VAObject);
  220. int Visual_Arts_V1MenuObj(struct VAobject VAObject);
  221. int Copyright_1994_Danny_Y_WongMenuObj(struct VAobject VAObject);
  222. int All_Rights_ReservedMenuObj(struct VAobject VAObject);
  223. int OpenMenuObj(struct VAobject VAObject);
  224. int SaveMenuObj(struct VAobject VAObject);
  225. int PrintMenuObj(struct VAobject VAObject);
  226. int PrinterMenuObj(struct VAobject VAObject);
  227. int FileMenuObj(struct VAobject VAObject);
  228. int PlotterMenuObj(struct VAobject VAObject);
  229. int PostscriptMenuObj(struct VAobject VAObject);
  230. int QuitMenuObj(struct VAobject VAObject);
  231. int UndoMenuObj(struct VAobject VAObject);
  232. int CopyMenuObj(struct VAobject VAObject);
  233. int PasteMenuObj(struct VAobject VAObject);
  234. int CutMenuObj(struct VAobject VAObject);
  235. int FontMenuObj(struct VAobject VAObject);
  236. int PrefsMenuObj(struct VAobject VAObject);
  237.  
  238.  
  239. int AboutMenuObj(struct VAobject VAObject)
  240. {
  241.   return(1);
  242. }
  243.  
  244. int Visual_Arts_V1MenuObj(struct VAobject VAObject)
  245. {
  246.   return(1);
  247. }
  248.  
  249. int Copyright_1994_Danny_Y_WongMenuObj(struct VAobject VAObject)
  250. {
  251.   return(1);
  252. }
  253.  
  254. int All_Rights_ReservedMenuObj(struct VAobject VAObject)
  255. {
  256.   return(1);
  257. }
  258.  
  259. int OpenMenuObj(struct VAobject VAObject)
  260. {
  261.   return(1);
  262. }
  263.  
  264. int SaveMenuObj(struct VAobject VAObject)
  265. {
  266.   return(1);
  267. }
  268.  
  269. int PrintMenuObj(struct VAobject VAObject)
  270. {
  271.   return(1);
  272. }
  273.  
  274. int PrinterMenuObj(struct VAobject VAObject)
  275. {
  276.   return(1);
  277. }
  278.  
  279. int FileMenuObj(struct VAobject VAObject)
  280. {
  281.   return(1);
  282. }
  283.  
  284. int PlotterMenuObj(struct VAobject VAObject)
  285. {
  286.   return(1);
  287. }
  288.  
  289. int PostscriptMenuObj(struct VAobject VAObject)
  290. {
  291.   return(1);
  292. }
  293.  
  294. int QuitMenuObj(struct VAobject VAObject)
  295. {
  296.   return(1);
  297. }
  298.  
  299. int UndoMenuObj(struct VAobject VAObject)
  300. {
  301.   return(1);
  302. }
  303.  
  304. int CopyMenuObj(struct VAobject VAObject)
  305. {
  306.   return(1);
  307. }
  308.  
  309. int PasteMenuObj(struct VAobject VAObject)
  310. {
  311.   return(1);
  312. }
  313.  
  314. int CutMenuObj(struct VAobject VAObject)
  315. {
  316.   return(1);
  317. }
  318.  
  319. int FontMenuObj(struct VAobject VAObject)
  320. {
  321.   return(1);
  322. }
  323.  
  324. int PrefsMenuObj(struct VAobject VAObject)
  325. {
  326.   return(1);
  327. }
  328.