home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 18 / amigaformatcd18.iso / mui / mui_developer / c / examples / psi.h < prev    next >
C/C++ Source or Header  |  1997-03-10  |  6KB  |  145 lines

  1. /****************************************************************************/
  2. /* Includes                                                                 */
  3. /****************************************************************************/
  4.  
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <stdio.h>
  8.  
  9. #include <exec/memory.h>
  10. #include <prefs/prefhdr.h>
  11. #include <datatypes/pictureclass.h>
  12. #include <libraries/locale.h>
  13. #include <libraries/asl.h>
  14. #include <libraries/gadtools.h>
  15. #include <libraries/mui.h>
  16.  
  17. #include <clib/exec_protos.h>
  18. #include <clib/graphics_protos.h>
  19. #include <clib/intuition_protos.h>
  20. #include <clib/utility_protos.h>
  21. #include <clib/dos_protos.h>
  22. #include <clib/locale_protos.h>
  23. #include <clib/muimaster_protos.h>
  24.  
  25. #include <clib/alib_protos.h>
  26.  
  27. #ifdef __SASC
  28. #include <pragmas/exec_pragmas.h>
  29. #include <pragmas/graphics_pragmas.h>
  30. #include <pragmas/intuition_pragmas.h>
  31. #include <pragmas/utility_pragmas.h>
  32. #include <pragmas/dos_pragmas.h>
  33. #include <pragmas/locale_pragmas.h>
  34. #include <pragmas/muimaster_pragmas.h>
  35. #endif
  36.  
  37. #define CATCOMP_NUMBERS
  38. #define CATCOMP_ARRAY
  39. #include "psi.lh"
  40.  
  41. #define USE_PSI_SIZES_BODY
  42. #define USE_PSI_SIZES_COLORS
  43. #include "psi_sizes.bh"
  44.  
  45. #define USE_PSI_COLORS_BODY
  46. #include "psi_colors.bh"
  47.  
  48. #define USE_PSI_FREQS_BODY
  49. #include "psi_freqs.bh"
  50.  
  51.  
  52.  
  53. /****************************************************************************/
  54. /* Compiler Stuff                                                           */
  55. /****************************************************************************/
  56.  
  57. #ifdef _DCC
  58. #define REG(x) __ ## x
  59. #define ASM
  60. #define SAVEDS __geta4
  61. #else
  62. #define REG(x) register __ ## x
  63. #define ASM    __asm
  64. #define SAVEDS __saveds
  65. #endif
  66.  
  67.  
  68.  
  69. /****************************************************************************/
  70. /* Some Definitions                                                         */
  71. /****************************************************************************/
  72.  
  73. #define MUISERIALNR_STUNTZI 1
  74. #define TAGBASE_STUNTZI (TAG_USER | ( MUISERIALNR_STUNTZI << 16))
  75.  
  76. #define MUIA_DispIDinfo_ID            (TAGBASE_STUNTZI | 0x1010)
  77.  
  78. #define MUIA_DispIDlist_CurrentID     (TAGBASE_STUNTZI | 0x1020)
  79. #define MUIA_DispIDlist_Quiet         (TAGBASE_STUNTZI | 0x1021)
  80. #define MUIM_DispIDlist_Change        (TAGBASE_STUNTZI | 0x1022)
  81.  
  82. #define MUIM_EditPanel_SetScreen      (TAGBASE_STUNTZI | 0x1030)
  83. #define MUIM_EditPanel_GetScreen      (TAGBASE_STUNTZI | 0x1031)
  84. #define MUIM_EditPanel_Update         (TAGBASE_STUNTZI | 0x1032)
  85. #define MUIM_EditPanel_DefColors      (TAGBASE_STUNTZI | 0x1035)
  86. /*
  87. #define MUIM_EditPanel_ToggleForeign  (TAGBASE_STUNTZI | 0x1036)
  88. */
  89.  
  90. #define MUIA_EditWindow_Title         (TAGBASE_STUNTZI | 0x1040)
  91. #define MUIA_EditWindow_Originator    (TAGBASE_STUNTZI | 0x1041)
  92. #define MUIM_EditWindow_Close         (TAGBASE_STUNTZI | 0x1042)
  93.  
  94. #define MUIM_ScreenList_Save          (TAGBASE_STUNTZI | 0x1050)
  95. #define MUIM_ScreenList_Load          (TAGBASE_STUNTZI | 0x1051)
  96. #define MUIM_ScreenList_Find          (TAGBASE_STUNTZI | 0x1052)
  97.  
  98. #define MUIM_ScreenPanel_Create       (TAGBASE_STUNTZI | 0x1060)
  99. #define MUIM_ScreenPanel_Copy         (TAGBASE_STUNTZI | 0x1061)
  100. #define MUIM_ScreenPanel_Delete       (TAGBASE_STUNTZI | 0x1062)
  101. #define MUIM_ScreenPanel_Edit         (TAGBASE_STUNTZI | 0x1063)
  102. #define MUIM_ScreenPanel_Finish       (TAGBASE_STUNTZI | 0x1064)
  103. #define MUIM_ScreenPanel_CloseWindows (TAGBASE_STUNTZI | 0x1065)
  104. #define MUIM_ScreenPanel_SetStates    (TAGBASE_STUNTZI | 0x1066)
  105. #define MUIM_ScreenPanel_Open         (TAGBASE_STUNTZI | 0x1067)
  106. #define MUIM_ScreenPanel_Close        (TAGBASE_STUNTZI | 0x1068)
  107. #define MUIM_ScreenPanel_Jump         (TAGBASE_STUNTZI | 0x1069)
  108. #define MUIM_ScreenPanel_Update       (TAGBASE_STUNTZI | 0x106a)
  109. #define MUIM_ScreenPanel_Foo          (TAGBASE_STUNTZI | 0x106b)
  110.  
  111. #define MUIM_MainWindow_Finish        (TAGBASE_STUNTZI | 0x1070)
  112. #define MUIM_MainWindow_About         (TAGBASE_STUNTZI | 0x1071)
  113. #define MUIM_MainWindow_Restore       (TAGBASE_STUNTZI | 0x1072)
  114. #define MUIM_MainWindow_Open          (TAGBASE_STUNTZI | 0x1073)
  115. #define MUIM_MainWindow_SaveAs        (TAGBASE_STUNTZI | 0x1074)
  116.  
  117. #define MUIM_ColorEdit_SetColors      (TAGBASE_STUNTZI | 0x1082)
  118. #define MUIM_ColorEdit_GetColors      (TAGBASE_STUNTZI | 0x1083)
  119.  
  120. struct MUIP_EditPanel_SetScreen { ULONG MethodID; struct MUI_PubScreenDesc *desc; };
  121. struct MUIP_EditPanel_GetScreen { ULONG MethodID; struct MUI_PubScreenDesc *desc; };
  122. struct MUIP_EditPanel_Update    { ULONG MethodID; LONG level; };
  123. struct MUIP_EditPanel_DefColors { ULONG MethodID; LONG nr; };
  124.  
  125. struct MUIP_ScreenList_Save     { ULONG MethodID; char *name; };
  126. struct MUIP_ScreenList_Load     { ULONG MethodID; char *name; LONG clear; };
  127. struct MUIP_ScreenList_Find     { ULONG MethodID; char *name; struct MUI_PubScreenDesc **desc; };
  128.  
  129. struct MUIP_ScreenPanel_Finish  { ULONG MethodID; Object *win; LONG ok; };
  130.  
  131. struct MUIP_MainWindow_Finish   { ULONG MethodID; LONG level; };
  132. struct MUIP_MainWindow_Restore  { ULONG MethodID; LONG envarc; };
  133. struct MUIP_MainWindow_Open     { ULONG MethodID; LONG append; };
  134.  
  135. struct MUIP_ColorEdit_SetColors  { ULONG MethodID; struct MUI_RGBcolor *palette; BYTE *syspens; struct MUI_PenSpec *muipens; };
  136. struct MUIP_ColorEdit_GetColors  { ULONG MethodID; struct MUI_RGBcolor *palette; BYTE *syspens; struct MUI_PenSpec *muipens; };
  137.  
  138. #define RectangleWidth(r)  ((r).MaxX-(r).MinX+1)
  139. #define RectangleHeight(r) ((r).MaxY-(r).MinY+1)
  140.  
  141. #define SYSPEN_OFFSET   1
  142. #define MUIPEN_OFFSET   1
  143.  
  144. #define ForEntries(list,entry,succ) for (entry=(APTR)((struct Node *)(((struct List *)list)->lh_Head));succ=(APTR)((struct Node *)entry)->ln_Succ;entry=(APTR)succ)
  145.