home *** CD-ROM | disk | FTP | other *** search
/ Dream 41 / Amiga_Dream_41.iso / Amiga / Pro / 3d / ICoons1_0.lzh / icoons / source / intui.h < prev    next >
C/C++ Source or Header  |  1992-10-10  |  3KB  |  114 lines

  1. /* :ts=8 */
  2. #ifndef INTUI_H
  3. #define INTUI_H
  4.  
  5. #include <intuition/intuition.h>
  6. #include <libraries/dos.h>
  7. #include <exec/types.h>
  8. #include <exec/io.h>
  9. #include <exec/memory.h>
  10. #include <exec/execbase.h>
  11. #include <graphics/text.h>
  12.  
  13. #include <proto/exec.h>
  14. #include <proto/graphics.h>
  15.  
  16. #include <exec/memory.h>
  17. #include <exec/tasks.h>
  18.  
  19. #include <libraries/asl.h>
  20. #include <graphics/view.h>
  21. #include <graphics/gfx.h>
  22. #include <graphics/gfxmacros.h>
  23. #include <graphics/rastport.h>
  24. #include <graphics/text.h>
  25.  
  26. #include <proto/intuition.h>
  27. #include <proto/gadtools.h>
  28. #include <proto/asl.h>
  29.  
  30. #include "general.h"
  31. #include "windows.h"
  32.  
  33. #define SGadget_Info(G) ((struct StringInfo *) (G.SpecialInfo))
  34.  
  35. typedef struct {
  36.     short    X_Min;
  37.     short    Y_Min;
  38.     short    X_Max;
  39.     short    Y_Max;
  40.     short    X_Center;
  41.     short    Y_Center;
  42. } View_T;
  43.  
  44.  
  45. typedef enum {
  46.     W_Main        = 0,
  47.     W_Config    = 1,
  48.     W_KnotInfo    = 2,
  49.     W_ExpandedView    = 3,
  50.     W_Scale_Group    = 4,
  51.     W_Rotate_Group    = 5,
  52.     W_Move_Group    = 6
  53. } Window_Id_T;
  54.  
  55. #define Max_Nbr_Windows     7
  56.  
  57. typedef struct {
  58.     struct Window        *Window;
  59.     struct ViewPort        *ViewPort;
  60.     struct RastPort        *RastPort;
  61. } Window_Info_T;
  62.  
  63.     /* View id's :  x, y, z and perspective    */
  64. typedef enum {
  65.     V_X    = 0,
  66.     V_Y    = 1,
  67.     V_Z    = 2,
  68.     V_P    = 3
  69. } View_Id_T;
  70.  
  71. extern Window_Info_T    Windows[Max_Nbr_Windows];
  72. extern Window_Id_T    Id_Active_Window;
  73.  
  74. extern View_T    Views_Small[4];
  75. extern View_T    Views_Big[4];
  76. extern View_T    *Views;    /* Points to either Views_Small or Views_Big */
  77.  
  78. extern unsigned long        MQ_Size_KnotInfo;
  79. extern unsigned long        MQ_Size_Rotate_P;
  80. extern unsigned long        MQ_Size_Rotate_G;
  81. extern unsigned long        MQ_Size_Scale_G;
  82. extern unsigned long        MQ_Size_Move_G;
  83. extern unsigned long        MQ_Size_Move;
  84.  
  85.     /* TRUE when redrawing for each mouse move event */
  86. extern Boolean_T        Redraw_Always;
  87.  
  88. extern struct MsgPort        *User_Port;
  89.  
  90. extern char   Error_Msg[];
  91.  
  92. void     Set_Window_Title(char *Title);
  93. void     Display_Status(char *Message);
  94. void     Display_Message(char *Message);
  95. void     Display_Error_Message(char *Message);
  96. int     Ask_Question(char *Question, char *Choices);
  97. void     Set_Pointer(Boolean_T Busy);
  98. void     Set_RMBTrap(Boolean_T On);
  99.  
  100. void     Window_Close(Window_Id_T Id);
  101. void     Window_Open(Window_Id_T Id);
  102. void     CloseStuff(void);
  103. void     OpenStuff(void);
  104. void     Finish(void);
  105. void     Clear_All(long What);
  106. void     Clear_Plane(int Plane, long What);
  107. void     Draw_Main_Background(void);
  108. void     Handle_Gadget_Event(struct IntuiMessage *Msg);
  109. void     Handle_Menu_Event(struct IntuiMessage *Msg);
  110. void     Check_Event(void);
  111. int     Wait_For_Key(void);
  112.  
  113. #endif
  114.