home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / programming / c / asap / visualinfo.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  2KB  |  63 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * AVisualInfo wrapper class                                                 *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_VisualInfo_H
  12. #define ASAP_VisualInfo_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Libraries/GadTools.h>
  19.  #include <Proto/GadTools.h>
  20. }
  21.  
  22. class AVisualInfo
  23. {
  24.  public:
  25.  inline static AVisualInfo * GetVisualInfo(Screen *screen, Tag tag1, ...);
  26.  inline void * operator new(size_t, Screen *screen, Tag tag1, ...);
  27.  inline static AVisualInfo * GetVisualInfoA(Screen *screen, TagItem *taglist);
  28.  inline void * operator new(size_t, Screen *screen, TagItem *taglist);
  29.  inline void FreeVisualInfo();
  30.  inline void operator delete(void *vi);
  31. };
  32. //-----------------------------------------------------------------------------
  33. AVisualInfo * AVisualInfo::GetVisualInfo (Screen *screen, Tag tag1, ...)
  34. {
  35.  return GetVisualInfoA(screen, (TagItem *) &tag1);
  36. }
  37. //-----------------------------------------------------------------------------
  38. void * AVisualInfo::operator new (size_t, Screen *screen, Tag tag1, ...)
  39. {
  40.  return AVisualInfo::GetVisualInfoA(screen, (TagItem *) &tag1);
  41. }
  42. //-----------------------------------------------------------------------------
  43. AVisualInfo * AVisualInfo::GetVisualInfoA (Screen *screen, TagItem *taglist)
  44. {
  45.  return (AVisualInfo *) ::GetVisualInfoA(screen, taglist);
  46. }
  47. //-----------------------------------------------------------------------------
  48. void * AVisualInfo::operator new (size_t, Screen *screen, TagItem *taglist)
  49. {
  50.  return AVisualInfo::GetVisualInfoA(screen, taglist);
  51. }
  52. //-----------------------------------------------------------------------------
  53. void AVisualInfo::FreeVisualInfo ()
  54. {
  55.  ::FreeVisualInfo(this);
  56. }
  57. //-----------------------------------------------------------------------------
  58. void AVisualInfo::operator delete (void *vi)
  59. {
  60.  ((AVisualInfo *) vi)->FreeVisualInfo();
  61. }
  62.  
  63. #endif