home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / pOSxA.lzx / pOSxA / libraries / asl.h next >
Encoding:
C/C++ Source or Header  |  1997-03-12  |  12.6 KB  |  419 lines

  1. #ifndef    LIBRARIES_ASL_H
  2. #define    LIBRARIES_ASL_H
  3.  
  4. /*******************************************************************
  5.  pOS / Amiga adapt
  6. *******************************************************************/
  7.  
  8. #ifndef EXEC_TYPES_H
  9. #include <exec/types.h>
  10. #endif
  11. #ifndef    EXEC_NODES_H
  12. #include <exec/nodes.h>
  13. #endif
  14. #ifndef UTILITY_TAGITEM_H
  15. #include <utility/tagitem.h>
  16. #endif
  17. #ifndef WORKBENCH_STARTUP_H
  18. #include <workbench/startup.h>
  19. #endif
  20. #ifndef GRAPHICS_TEXT_H
  21. #include <graphics/text.h>
  22. #endif
  23. #ifndef GRAPHICS_DISPLAYINFO_H
  24. #include <graphics/displayinfo.h>
  25. #endif
  26.  
  27. #ifndef __INC_POS_PSL_FILEREQ_H
  28. #include <p:pSL/FileReq.h>
  29. #endif
  30. #ifndef __INC_POS_PSL_FONTREQ_H
  31. #include <p:pSL/FontReq.h>
  32. #endif
  33. #ifndef __INC_POS_PSL_PSLTAGS_H
  34. #include <p:pSL/pSLTags.h>
  35. #endif
  36. #ifndef __INC_POS_PINTUI_EASYTAGS_H
  37. #include <p:pIntui/EasyTags.h>
  38. #endif
  39.  
  40.  
  41. /*****************************************************************************/
  42.  
  43.  
  44. #define    AslName "psl.library"
  45.  
  46.  
  47. /*****************************************************************************/
  48.  
  49.  
  50. #define    ASL_FileRequest  PSLREQTYP_FileRequest
  51. #define    ASL_FontRequest  PSLREQTYP_FontRequest
  52.  
  53. //#define    ASL_ScreenModeRequest 2
  54.  
  55.  
  56. /*----------------------------------
  57. -----------------------------------*/
  58. struct FileRequester
  59. {
  60.   UBYTE    fr_Type;
  61.   UBYTE    fr_Pad;
  62.   struct pOS_MemPool fr_MP;
  63.   ULONG    fr_UserData[2];
  64.   SLONG    fr_LeftEdge;
  65.   SLONG    fr_TopEdge;
  66.   SLONG    fr_Width;
  67.   SLONG    fr_Height;
  68.   ULONG    fr_CrtFlags;
  69.   ULONG    fr_IFlags;
  70.   UBYTE    fr_Reserved1[64];
  71.  
  72.   CHAR    *fr_Drawer;
  73.   CHAR    *fr_File;
  74.   CHAR    *fr_Pattern;
  75.   CHAR    *fr_PositiveTxt;
  76.   CHAR    *fr_NegativeTxt;
  77.  
  78.   UBYTE   pfr_Reserved2[64];
  79.  
  80.   struct WBArg *fr_ArgList;
  81.   UWORD         fr_NumArgs;
  82. };
  83.  
  84.  
  85. #define ASLFR_Window           _PxA_IGNORE
  86. #define ASLFR_Screen          EASYTAG_Screen
  87. #define ASLFR_PubScreenName   SCRTAG_PubName
  88. #define ASLFR_PrivateIDCMP     _PxA_IGNORE
  89. #define ASLFR_IntuiMsgFunc     _PxA_IGNORE
  90. #define ASLFR_SleepWindow     EASYTAG_WindowBusy
  91. #define ASLFR_UserData           _PxA_IGNORE
  92.  
  93. #define ASLFR_TextAttr           _PxA_IGNORE
  94. #define ASLFR_Locale           _PxA_IGNORE
  95. #define ASLFR_TitleText       PSLFRTAG_Title
  96. #define ASLFR_PositiveText    PSLFRTAG_PositiveText
  97. #define ASLFR_NegativeText    PSLFRTAG_NegativeText
  98.  
  99. #define ASLFR_InitialLeftEdge PSLFRTAG_LeftEdge
  100. #define ASLFR_InitialTopEdge  PSLFRTAG_TopEdge
  101. #define ASLFR_InitialWidth    PSLFRTAG_Width
  102. #define ASLFR_InitialHeight   PSLFRTAG_Height
  103. #define ASLFR_InitialFile     PSLFRTAG_FilePart
  104. #define ASLFR_InitialDrawer   PSLFRTAG_PathPart
  105. #define ASLFR_InitialPattern  PSLFRTAG_Pattern
  106.  
  107. #define ASLFR_Flags1           _PxA_IGNORE
  108. #define ASLFR_Flags2           _PxA_IGNORE
  109. #define ASLFR_DoSaveMode      PSLFRTAG_SaveMode
  110. #define ASLFR_DoMultiSelect   PSLFRTAG_MultiSelect
  111. #define ASLFR_DoPatterns      PSLFRTAG_PatternGad
  112.  
  113. #define ASLFR_DrawersOnly     PSLFRTAG_OnlyDirs
  114. #define ASLFR_FilterFunc       _PxA_IGNORE
  115. #define ASLFR_RejectIcons     PSLFRTAG_FilterInfos
  116. #define ASLFR_RejectPattern    _PxA_IGNORE
  117. #define ASLFR_AcceptPattern    _PxA_IGNORE
  118. #define ASLFR_FilterDrawers   PSLFRTAG_MatchDirs
  119. #define    ASLFR_HookFunc           _PxA_IGNORE
  120.  
  121. #define ASL_Hail    PSLFRTAG_Title
  122. #define ASL_Pattern PSLFRTAG_Pattern
  123. #define ASL_OKText  PSLFRTAG_PositiveText
  124.  
  125.  
  126. /*****************************************************************************/
  127.  
  128. struct FontRequester
  129. {
  130.   UBYTE        pfn_Type;
  131.   UBYTE        pfn_Pad;
  132.   pOS_MemPool  pfn_MP;
  133.   ULONG        pfn_UserData[2];
  134.   SLONG        fo_LeftEdge;
  135.   SLONG        fo_TopEdge;
  136.   SLONG        fo_Width;
  137.   SLONG        fo_Height;
  138.   ULONG        pfn_CrtFlags;
  139.   ULONG        pfn_IFlags;
  140.   UBYTE        pfn_Reserved1[64];
  141.  
  142.   pOS_TextAttr fo_Attr;
  143.   UBYTE        fo_FrontPen;
  144.   UBYTE        fo_BackPen;
  145.   UBYTE        fo_DrawMode;
  146.   UBYTE        pfn_Pad1;
  147.   const CHAR  *pfn_PositiveTxt;
  148.   const CHAR  *pfn_NegativeTxt;
  149.  
  150.   UBYTE        pfn_Reserved2[64];
  151. };
  152.  
  153. #define fo_TAttr fo_Attr
  154.  
  155.  
  156. #define ASLFO_Window           _PxA_IGNORE
  157. #define ASLFO_Screen          EASYTAG_Screen
  158. #define ASLFO_PubScreenName   SCRTAG_PubName
  159. #define ASLFO_PrivateIDCMP     _PxA_IGNORE
  160. #define ASLFO_IntuiMsgFunc     _PxA_IGNORE
  161. #define ASLFO_SleepWindow     EASYTAG_WindowBusy
  162. #define ASLFO_UserData           _PxA_IGNORE
  163.  
  164. #define ASLFO_TextAttr          PSLFNTAG_TextAttr
  165. #define ASLFO_Locale           _PxA_IGNORE
  166. #define ASLFO_TitleText       PSLFNTAG_Title
  167. #define ASLFO_PositiveText    PSLFNTAG_PositiveText
  168. #define ASLFO_NegativeText    PSLFNTAG_NegativeText
  169.  
  170. #define ASLFO_InitialLeftEdge PSLFNTAG_LeftEdge
  171. #define ASLFO_InitialTopEdge  PSLFNTAG_TopEdge
  172. #define ASLFO_InitialWidth    PSLFNTAG_Width
  173. #define ASLFO_InitialHeight   PSLFNTAG_Height
  174. #define ASLFO_InitialName     PSLFNTAG_Name
  175. #define ASLFO_InitialSize     PSLFNTAG_YSize
  176.  
  177. #define ASLFO_InitialStyle     _PxA_IGNORE
  178. #define ASLFO_InitialFlags     _PxA_IGNORE
  179. #define ASLFO_InitialFrontPen  _PxA_IGNORE
  180. #define ASLFO_InitialBackPen   _PxA_IGNORE
  181. #define ASLFO_InitialDrawMode  _PxA_IGNORE
  182.  
  183. #define ASLFO_Flags           _PxA_IGNORE
  184. #define ASLFO_DoFrontPen       _PxA_IGNORE
  185. #define ASLFO_DoBackPen        _PxA_IGNORE
  186. #define ASLFO_DoStyle           _PxA_IGNORE
  187. #define ASLFO_DoDrawMode       _PxA_IGNORE
  188.  
  189. #define ASLFO_FixedWidthOnly   _PxA_IGNORE
  190. #define ASLFO_MinHeight        _PxA_IGNORE
  191. #define ASLFO_MaxHeight        _PxA_IGNORE
  192. #define ASLFO_FilterFunc       _PxA_IGNORE
  193. #define    ASLFO_HookFunc           _PxA_IGNORE
  194. #define ASLFO_MaxFrontPen      _PxA_IGNORE
  195. #define ASLFO_MaxBackPen       _PxA_IGNORE
  196.  
  197. #define    ASLFO_ModeList           _PxA_IGNORE
  198. #define ASLFO_FrontPens        _PxA_IGNORE
  199. #define ASLFO_BackPens           _PxA_IGNORE
  200.  
  201.  
  202.  
  203. #if 0
  204.  
  205. struct ScreenModeRequester
  206. {
  207.     ULONG sm_DisplayID;
  208.     ULONG sm_DisplayWidth;
  209.     ULONG sm_DisplayHeight;
  210.     UWORD sm_DisplayDepth;
  211.     UWORD sm_OverscanType;
  212.     BOOL  sm_AutoScroll;
  213.  
  214.     ULONG sm_BitMapWidth;
  215.     ULONG sm_BitMapHeight;
  216.  
  217.     WORD  sm_LeftEdge;
  218.     WORD  sm_TopEdge;
  219.     WORD  sm_Width;
  220.     WORD  sm_Height;
  221.  
  222.     BOOL  sm_InfoOpened;
  223.     WORD  sm_InfoLeftEdge;
  224.     WORD  sm_InfoTopEdge;
  225.     WORD  sm_InfoWidth;
  226.     WORD  sm_InfoHeight;
  227.  
  228.     APTR  sm_UserData;
  229. };
  230.  
  231. struct DisplayMode
  232. {
  233.     struct Node     dm_Node;
  234.     struct DimensionInfo dm_DimensionInfo;
  235.     ULONG         dm_PropertyFlags;
  236. };
  237.  
  238. #define ASLSM_Window          ASL_TB+2     /* Parent window             */
  239. #define ASLSM_Screen          ASL_TB+40  /* Screen to open on if no window   */
  240. #define ASLSM_PubScreenName   ASL_TB+41  /* Name of public screen         */
  241. #define ASLSM_PrivateIDCMP    ASL_TB+42  /* Allocate private IDCMP?         */
  242. #define ASLSM_IntuiMsgFunc    ASL_TB+70  /* Function to handle IntuiMessages */
  243. #define ASLSM_SleepWindow     ASL_TB+43  /* Block input in ASLSM_Window?     */
  244. #define ASLSM_UserData          ASL_TB+52  /* What to put in sm_UserData         */
  245.  
  246. /* Text display */
  247. #define ASLSM_TextAttr          ASL_TB+51  /* Text font to use for gadget text */
  248. #define ASLSM_Locale          ASL_TB+50  /* Locale ASL should use for text   */
  249. #define ASLSM_TitleText       ASL_TB+1     /* Title of requester             */
  250. #define ASLSM_PositiveText    ASL_TB+18  /* Positive gadget text         */
  251. #define ASLSM_NegativeText    ASL_TB+19  /* Negative gadget text         */
  252.  
  253. /* Initial settings */
  254. #define ASLSM_InitialLeftEdge ASL_TB+3     /* Initial requester coordinates    */
  255. #define ASLSM_InitialTopEdge  ASL_TB+4
  256. #define ASLSM_InitialWidth    ASL_TB+5     /* Initial requester dimensions     */
  257. #define ASLSM_InitialHeight   ASL_TB+6
  258. #define ASLSM_InitialDisplayID       ASL_TB+100 /* Initial display mode id     */
  259. #define ASLSM_InitialDisplayWidth  ASL_TB+101 /* Initial display width         */
  260. #define ASLSM_InitialDisplayHeight ASL_TB+102 /* Initial display height      */
  261. #define ASLSM_InitialDisplayDepth  ASL_TB+103 /* Initial display depth         */
  262. #define ASLSM_InitialOverscanType  ASL_TB+104 /* Initial type of overscan    */
  263. #define ASLSM_InitialAutoScroll    ASL_TB+105 /* Initial autoscroll setting  */
  264. #define ASLSM_InitialInfoOpened    ASL_TB+106 /* Info wndw initially opened? */
  265. #define ASLSM_InitialInfoLeftEdge  ASL_TB+107 /* Initial Info window coords. */
  266. #define ASLSM_InitialInfoTopEdge   ASL_TB+108
  267.  
  268. /* Options */
  269. #define ASLSM_DoWidth          ASL_TB+109  /* Display Width gadget?         */
  270. #define ASLSM_DoHeight          ASL_TB+110  /* Display Height gadget?         */
  271. #define ASLSM_DoDepth          ASL_TB+111  /* Display Depth gadget?         */
  272. #define ASLSM_DoOverscanType  ASL_TB+112  /* Display Overscan Type gadget?   */
  273. #define ASLSM_DoAutoScroll    ASL_TB+113  /* Display AutoScroll gadget?      */
  274.  
  275. /* Filtering */
  276. #define ASLSM_PropertyFlags   ASL_TB+114  /* Must have these Property flags  */
  277. #define ASLSM_PropertyMask    ASL_TB+115  /* Only these should be looked at  */
  278. #define ASLSM_MinWidth          ASL_TB+116  /* Minimum display width to allow  */
  279. #define ASLSM_MaxWidth          ASL_TB+117  /* Maximum display width to allow  */
  280. #define ASLSM_MinHeight       ASL_TB+118  /* Minimum display height to allow */
  281. #define ASLSM_MaxHeight       ASL_TB+119  /* Maximum display height to allow */
  282. #define ASLSM_MinDepth          ASL_TB+120  /* Minimum display depth         */
  283. #define ASLSM_MaxDepth          ASL_TB+121  /* Maximum display depth         */
  284. #define ASLSM_FilterFunc      ASL_TB+122  /* Function to filter mode id's    */
  285.  
  286. /* Custom additions */
  287. #define ASLSM_CustomSMList    ASL_TB+123  /* Exec list of struct DisplayMode */
  288.  
  289. #endif
  290.  
  291.  
  292. #ifndef ASL_V38_NAMES_ONLY
  293. #define rf_File         fr_File
  294. #define rf_Dir         fr_Drawer
  295. #define rf_LeftEdge     fr_LeftEdge
  296. #define rf_TopEdge     fr_TopEdge
  297. #define rf_Width     fr_Width
  298. #define rf_Height     fr_Height
  299. #define rf_NumArgs     fr_NumArgs
  300. #define rf_ArgList     fr_ArgList
  301. #define rf_UserData     fr_UserData
  302. #define rf_Pat         fr_Pattern
  303. #define ASL_Dummy     (TAG_USER + 0x80000)
  304. //#define ASL_Hail     ASL_Dummy+1
  305. #define ASL_Window      _PxA_IGNORE
  306. #define    ASL_LeftEdge     PSLFRTAG_LeftEdge
  307. #define    ASL_TopEdge     PSLFRTAG_TopEdge
  308. #define    ASL_Width     PSLFRTAG_Width
  309. #define    ASL_Height     PSLFRTAG_Height
  310. #define    ASL_HookFunc      _PxA_IGNORE
  311. #define    ASL_File     PSLFRTAG_FilePart
  312. #define    ASL_Dir         PSLFRTAG_PathPart
  313. #define    ASL_FontName     PSLFNTAG_Name
  314. #define    ASL_FontHeight     PSLFNTAG_YSize
  315. #define    ASL_FontStyles      _PxA_IGNORE
  316. #define    ASL_FontFlags      _PxA_IGNORE
  317. #define    ASL_FrontPen      _PxA_IGNORE
  318. #define    ASL_BackPen      _PxA_IGNORE
  319. #define    ASL_MinHeight      _PxA_IGNORE
  320. #define    ASL_MaxHeight      _PxA_IGNORE
  321. #define    ASL_OKText     PSLFRTAG_PositiveText
  322. #define    ASL_CancelText     PSLFRTAG_NegativeText
  323. #define    ASL_FuncFlags      _PxA_IGNORE
  324. #define    ASL_ModeList      _PxA_IGNORE
  325. #define    ASL_ExtFlags1      _PxA_IGNORE
  326. #define    ASL_Pattern     PSLFRTAG_Pattern
  327. /* remember what I said up there? Do not use these anymore! */
  328. #define    FILB_DOWILDFUNC     7L
  329. #define    FILB_DOMSGFUNC     6L
  330. #define    FILB_SAVE     5L
  331. #define    FILB_NEWIDCMP     4L
  332. #define FILB_MULTISELECT 3L
  333. #define    FILB_PATGAD     0L
  334. #define    FILF_DOWILDFUNC     (1L << FILB_DOWILDFUNC)
  335. #define    FILF_DOMSGFUNC     (1L << FILB_DOMSGFUNC)
  336. #define    FILF_SAVE     (1L << FILB_SAVE)
  337. #define    FILF_NEWIDCMP     (1L << FILB_NEWIDCMP)
  338. #define    FILF_MULTISELECT (1L << FILB_MULTISELECT)
  339. #define    FILF_PATGAD     (1L << FILB_PATGAD)
  340. #define    FIL1B_NOFILES     0L
  341. #define    FIL1B_MATCHDIRS     1L
  342. #define    FIL1F_NOFILES     (1L << FIL1B_NOFILES)
  343. #define    FIL1F_MATCHDIRS     (1L << FIL1B_MATCHDIRS)
  344. #define    FONB_FRONTCOLOR    0
  345. #define    FONB_BACKCOLOR    1
  346. #define    FONB_STYLES    2
  347. #define    FONB_DRAWMODE    3
  348. #define    FONB_FIXEDWIDTH    4
  349. #define    FONB_NEWIDCMP    5
  350. #define    FONB_DOMSGFUNC    6
  351. #define    FONB_DOWILDFUNC    7
  352. #define    FONF_FRONTCOLOR    (1L << FONB_FRONTCOLOR)
  353. #define    FONF_BACKCOLOR    (1L << FONB_BACKCOLOR)
  354. #define    FONF_STYLES    (1L << FONB_STYLES)
  355. #define    FONF_DRAWMODE    (1L << FONB_DRAWMODE)
  356. #define    FONF_FIXEDWIDTH    (1L << FONB_FIXEDWIDTH)
  357. #define    FONF_NEWIDCMP    (1L << FONB_NEWIDCMP)
  358. #define    FONF_DOMSGFUNC    (1L << FONB_DOMSGFUNC)
  359. #define    FONF_DOWILDFUNC    (1L << FONB_DOWILDFUNC)
  360. #endif
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369. #ifdef __IGNORE_NOT_SUPPORTED__
  370.  
  371.  #define FRB_FILTERFUNC     0
  372.  #define FRB_INTUIFUNC      0
  373.  #define FRB_DOSAVEMODE     0
  374.  #define FRB_PRIVATEIDCMP   0
  375.  #define FRB_DOMULTISELECT  0
  376.  #define FRB_DOPATTERNS     0
  377.  #define FRF_FILTERFUNC     0
  378.  #define FRF_INTUIFUNC      0
  379.  #define FRF_DOSAVEMODE     0
  380.  #define FRF_PRIVATEIDCMP   0
  381.  #define FRF_DOMULTISELECT  0
  382.  #define FRF_DOPATTERNS     0
  383.  
  384.  #define FRB_DRAWERSONLY    0
  385.  #define FRB_FILTERDRAWERS  0
  386.  #define FRB_REJECTICONS    0
  387.  #define FRF_DRAWERSONLY    0
  388.  #define FRF_FILTERDRAWERS  0
  389.  #define FRF_REJECTICONS    0
  390.  
  391.  #define FOB_DOFRONTPEN     0
  392.  #define FOB_DOBACKPEN      0
  393.  #define FOB_DOSTYLE        0
  394.  #define FOB_DODRAWMODE     0
  395.  #define FOB_FIXEDWIDTHONLY 0
  396.  #define FOB_PRIVATEIDCMP   0
  397.  #define FOB_INTUIFUNC      0
  398.  #define FOB_FILTERFUNC     0
  399.  
  400.  #define FOF_DOFRONTPEN     0
  401.  #define FOF_DOBACKPEN      0
  402.  #define FOF_DOSTYLE        0
  403.  #define FOF_DODRAWMODE     0
  404.  #define FOF_FIXEDWIDTHONLY 0
  405.  #define FOF_PRIVATEIDCMP   0
  406.  #define FOF_INTUIFUNC      0
  407.  #define FOF_FILTERFUNC     0
  408.  
  409.  
  410. #endif /** __IGNORE_NOT_SUPPORTED__ **/
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418. #endif /* LIBRARIES_ASL_H */
  419.