home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0423.ZIP / CCE_0423.PD / GEM.ZOO / gemw.h < prev    next >
C/C++ Source or Header  |  1992-04-26  |  1KB  |  53 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  GEM Window
  4. //
  5. //  A GEMwindow is a standard GEM window, which acts just like that as
  6. //  a base class.  Its contents is undefined, and redraw requests have
  7. //  no effect - derived classes should implement this.  It does, however,
  8. //  handle the requirement of clipping the redraw area - a standard
  9. //  requirement of GEM windows.
  10. //
  11. //  This file is Copyright 1992 by Warwick W. Allison,
  12. //  and is freely distributable providing no charge is made.
  13. //
  14. /////////////////////////////////////////////////////////////////////////////
  15.  
  16. #ifndef GEMW_h
  17. #define GEMW_h
  18.  
  19. #include "gemfeedb.h"
  20. #include <gemfast.h>
  21. #include <bool.h>
  22.  
  23. class GEMwindow
  24. {
  25. public:
  26.     GEMwindow(int Parts, GRECT&);
  27.     GEMwindow(int Parts=0);
  28.     virtual ~GEMwindow();
  29.  
  30.     void title(const char *);
  31.  
  32.     void open();
  33.     void close();
  34.     virtual void top(int X, int Y);        // Top attempted by clicking at (x,y)
  35.     virtual void move(int X, int Y);
  36.     virtual ClickResult click(int X, int Y);
  37.  
  38.     virtual void Redraw(GRECT&) { }
  39.  
  40.     void RedrawOverlaps(GRECT&); // Calls Redraw
  41.  
  42. protected:
  43.     int Handle;
  44.     int parts;
  45.     GRECT Pos;
  46.     bool Open;
  47.  
  48. public:
  49.     int handle() { return Handle; }
  50. };
  51.  
  52. #endif
  53.