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 / gemf.h < prev    next >
C/C++ Source or Header  |  1992-04-26  |  1KB  |  60 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  GEM Form
  4. //
  5. //  A GEMform is an object that may interact with the user through a GEM
  6. //  form (or dialog).
  7. //
  8. //  As a fundamental enhancement, a GEMform, unlike a standard GEM form
  9. //  may have "call backs" associated with any of its element objects.
  10. //  A GEMform does not actually make use of these call backs, but derived
  11. //  classes may.
  12. //
  13. //  This file is Copyright 1992 by Warwick W. Allison,
  14. //  and is freely distributable providing no charge is made.
  15. //
  16. /////////////////////////////////////////////////////////////////////////////
  17.  
  18. #ifndef GEMF_h
  19. #define GEMF_h
  20.  
  21. #include "gemo.h"
  22. #include "gemfeedb.h"
  23. #include <bool.h>
  24. #include <gemfast.h>
  25.  
  26. class GEMrealobject;
  27.  
  28. class GEMform
  29. {
  30. public:
  31.     GEMform(int RSCindex);
  32.     virtual ~GEMform();
  33.  
  34.     int Do(); // Centred
  35.     int Do(int x, int y);
  36.  
  37.     bool Zooms(bool b);
  38.  
  39.     virtual void RedrawObject(int RSCindex);
  40.     virtual void RedrawObject(int RSCindex,int Cx,int Cy,int Cw,int Ch); // Clipped
  41.     void CallBack(class GEMobject*);
  42.  
  43. private:
  44.     friend class GEMobject;
  45.     bool ZoomOn;
  46.     GEMobject* *CBO;
  47.     int CBOs=0;
  48.     int MaxCBOs;
  49.  
  50. protected:
  51.     GEMrealobject *Obj;
  52.     GEMobject* Caller(int RSCindex);
  53.     int myindex;
  54.     virtual ClickResult ProcessClick(int item, int x, int y)
  55.         { return EndInteraction; }
  56. };
  57. inline    bool GEMform::Zooms(bool b)    { bool t=b; ZoomOn=b; return t; }
  58.  
  59. #endif
  60.