home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC7.DMS / in.adf / classsource.lha / ClassSource / Libraries / asl / asl.c
Encoding:
C/C++ Source or Header  |  1995-02-12  |  1.7 KB  |  95 lines

  1. #include <classes/Libraries/asl.h>
  2.  
  3. #include <exec/libraries.h>
  4.  
  5. #pragma -
  6. #include <pragma/asl_lib.h>
  7. #pragma +
  8.  
  9. extern struct Library *AslBase;
  10.  
  11. AslRequestC::AslRequestC(ULONG type, struct TagItem *taglist)
  12.     : ShareC()
  13. {
  14.     if (!(aslRequester = AllocAslRequest(type,taglist)))
  15.         throw AslRequestX(type);
  16. }
  17.  
  18. AslRequestC::AslRequestC(ULONG type,Tag tag1type, ...)
  19.     : ShareC()
  20. {
  21.     if (!(aslRequester = AllocAslRequest(type,(struct TagItem *) &tag1type)))
  22.         throw AslRequestX(type);
  23. }
  24.  
  25. AslRequestC::AslRequestC(const AslRequestC &s)
  26.     : ShareC(s)
  27. {
  28.     aslRequester = s.aslRequester;
  29. }
  30.  
  31. AslRequestC::~AslRequestC()
  32. {
  33.     if (only())
  34.         FreeAslRequest(aslRequester);
  35. }
  36.  
  37. AslRequestC &AslRequestC::operator= (const AslRequestC &s)
  38. {
  39.     if (this != &s)
  40.     {
  41.         if (only())
  42.             FreeAslRequest(aslRequester);
  43.         ShareC::operator= (s);
  44.         aslRequester = s.aslRequester;
  45.     };
  46.     return *this;
  47. }
  48.  
  49. BOOL AslRequestC::request(struct TagItem *taglist)
  50. {
  51.     return AslRequest(aslRequester,taglist);
  52. }
  53.  
  54. BOOL AslRequestC::request(Tag tag1type, ...)
  55. {
  56.     return AslRequest(aslRequester,(struct TagItem *) &tag1type);
  57. }
  58.  
  59. // ********************************************************
  60.  
  61. STRPTR AslFileRequestC::file() const
  62. {
  63.     return requester()->fr_File;
  64. }
  65.  
  66. STRPTR AslFileRequestC::drawer() const
  67. {
  68.     return requester()->fr_Drawer;
  69. }
  70.  
  71. // ********************************************************
  72.  
  73. TextAttrC *AslFontRequestC::attr() const
  74. {
  75.     if (AslBase->lib_Version >= 38)
  76.         return (TextAttrC *) &requester()->fo_TAttr
  77.     else
  78.         return (TextAttrC *) &requester()->fo_Attr;
  79. }
  80.  
  81. UBYTE AslFontRequestC::frontpen() const
  82. {
  83.     return requester()->fo_FrontPen;
  84. }
  85.  
  86. UBYTE AslFontRequestC::backpen() const
  87. {
  88.     return requester()->fo_BackPen;
  89. }
  90.  
  91. UBYTE AslFontRequestC::drawmode() const
  92. {
  93.     return requester()->fo_DrawMode;
  94. }
  95.