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 / Basic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-09  |  4.6 KB  |  209 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 BasicDrawRects(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 SetRPortFill(struct Window *Wind, short Type);
  24. extern void ButtonSelected(struct Window *wind, struct Gadget *gad);
  25. extern struct Window  *BasicWnd;
  26. extern APTR   VisualInfo;
  27. extern struct Screen *Scr;
  28. extern struct Gadget *BasicGadgets[14];
  29. extern int AddNewNode(struct List *list, char name[255]);
  30. extern int DeleteNewNode(struct List *list, char name[255]);
  31. extern struct List *GetNewList(void);
  32. extern struct NameNode *FindNodeName(struct List *list, char name[255]);
  33. extern void FreeList(struct List *list);
  34.  
  35. extern void CreateBasicLists(void);
  36. struct NameNode
  37. {
  38.   struct Node nn_Node;
  39.   UBYTE nn_Data[255];
  40. };
  41. extern UBYTE *modelsLabels[];
  42.  
  43. ULONG LinePatterns[6] = { 0xffff, 0x0cccc, 0xaaaa, 0x8888, 0x3333, 0xffff};
  44.  
  45. struct List *BasicLists[1];
  46.  
  47. void BasicDrawRects(struct Window *Wind)
  48. {
  49.   UWORD offsetx = Scr->WBorLeft;
  50.   UWORD offsety = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
  51.  
  52.   DrawBevelBox(Wind->RPort, 7+offsetx, 65+offsety, 165, 31, 
  53.     (GT_VisualInfo), VisualInfo, TAG_DONE);
  54.   SetDrPt(Wind->RPort, 0xFFFF);
  55.   SetOPen(Wind->RPort, 0);
  56.   SetAfPt(Wind->RPort, NULL, 0);
  57. }
  58.  
  59. struct List *GetNewList(void)
  60. {
  61.    struct List *list;
  62.  
  63.    if (!( list = AllocMem(sizeof(struct List), MEMF_CLEAR)))
  64.        return(NULL);
  65.    NewList(list);
  66.    return(list);
  67. }
  68.  
  69. int AddNewNode(struct List *list, char name[255])
  70. {
  71.   struct NameNode *namenode;
  72.  
  73.   if (!( namenode = AllocMem(sizeof(struct NameNode), MEMF_CLEAR)))
  74.       return(1L);
  75.   strcpy(namenode->nn_Data, name);
  76.   namenode->nn_Node.ln_Name=namenode->nn_Data;
  77.   namenode->nn_Node.ln_Type=0;
  78.   namenode->nn_Node.ln_Pri=0;
  79.   AddTail((struct List *)list, (struct Node *)namenode);
  80.   return(0L);
  81. }
  82.  
  83. int DeleteNode(struct List *list, char name[255])
  84. {
  85.   struct Node *node;
  86.  
  87.   node=FindName(list, name);
  88.   if (node)
  89.   {
  90.       Remove(node);
  91.       FreeMem((struct NameNode *)node, sizeof(struct NameNode));
  92.       return(0L);
  93.   }
  94.   return(1L);
  95. }
  96.  
  97. struct NameNode *FindNodeName(struct List *list, char name[255])
  98. {
  99.   struct NameNode *worknode, *nextnode;
  100.  
  101.   worknode=(struct NameNode *)(list->lh_Head);
  102.   while (nextnode=(struct NameNode *)(worknode->nn_Node.ln_Succ))
  103.   {
  104.     if (strcmp(worknode->nn_Data, name) == 0)
  105.        return(worknode);
  106.      worknode=nextnode;
  107.   }
  108.   return(NULL);
  109. }
  110.  
  111. void FreeList(struct List *list)
  112. {
  113.   struct NameNode *worknode, *nextnode;
  114.  
  115.   worknode=(struct NameNode *)(list->lh_Head);
  116.   while (nextnode=(struct NameNode *)(worknode->nn_Node.ln_Succ))
  117.   {
  118.      FreeMem(worknode, sizeof(struct NameNode));
  119.      worknode=nextnode;
  120.   }
  121.   FreeMem(list, sizeof(struct List));
  122.   list=NULL;
  123. }
  124.  
  125. void CreateBasicLists(void)
  126. {
  127.   short i;
  128.  
  129.   i=0;
  130.   while (modelsLabels[i])
  131.      AddNewNode(BasicLists[0], modelsLabels[i++]);
  132.  
  133. }
  134.  
  135.              /* gadget functions */
  136.  
  137. int buttonObj(struct VAobject VAObject)
  138. {
  139.   return(1L);
  140. }
  141. /*    Button  Button         */ 
  142.  
  143. int button1Obj(struct VAobject VAObject)
  144. {
  145.   return(1L);
  146. }
  147. /*    Button  Toggle Button         */ 
  148.  
  149. int stringObj(struct VAobject VAObject)
  150. {
  151.   return(1L);
  152. }
  153. /*    String  Name         */ 
  154.  
  155. int integerObj(struct VAobject VAObject)
  156. {
  157.   return(1L);
  158. }
  159. /*    Integer  Version         */ 
  160.  
  161. int checkObj(struct VAobject VAObject)
  162. {
  163.   return(1L);
  164. }
  165. /*    Check Box  Visual Arts         */ 
  166.  
  167. int mxmodelObj(struct VAobject VAObject)
  168. {
  169.   return(1L);
  170. }
  171. /*    MX  model         */ 
  172.  
  173. int cycleObj(struct VAobject VAObject)
  174. {
  175.   return(1L);
  176. }
  177. /*    Cycle  Models         */ 
  178.  
  179. int sliderObj(struct VAobject VAObject)
  180. {
  181.   return(1L);
  182. }
  183. /*    Slider  Slider            */ 
  184.  
  185. int scrollerObj(struct VAobject VAObject)
  186. {
  187.   return(1);
  188. }
  189. /*    Scroller           */ 
  190.  
  191. int scroller1Obj(struct VAobject VAObject)
  192. {
  193.   return(1);
  194. }
  195. /*    Scroller           */ 
  196.  
  197. int modellistObj(struct VAobject VAObject)
  198. {
  199.   return(1L);
  200. }
  201. /*    ListView           */ 
  202.  
  203. int colorObj(struct VAobject VAObject)
  204. {
  205.   return(1L);
  206. }
  207. /*    Palette           */ 
  208.  
  209.