home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / contrib / include / wx / ogl / constrnt.h < prev    next >
C/C++ Source or Header  |  2002-09-08  |  3KB  |  88 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        constrnt.h
  3. // Purpose:     OGL constraint definitions
  4. // Author:      Julian Smart
  5. // Modified by:
  6. // Created:     12/07/98
  7. // RCS-ID:      $Id: constrnt.h,v 1.2 2002/09/07 12:10:20 GD Exp $
  8. // Copyright:   (c) Julian Smart
  9. // Licence:       wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _OGL_CONSTRNT_H_
  13. #define _OGL_CONSTRNT_H_
  14.  
  15. #if defined(__GNUG__) && !defined(__APPLE__)
  16. #pragma interface "constrnt.h"
  17. #endif
  18.  
  19. /*
  20.  * OGL Constraints
  21.  *
  22.  */
  23.  
  24. class wxOGLConstraintType: public wxObject
  25. {
  26.  DECLARE_DYNAMIC_CLASS(wxOGLConstraintType)
  27. public:
  28.   wxOGLConstraintType(int type = 0, const wxString& name = "", const wxString& phrase = "");
  29.   ~wxOGLConstraintType();
  30.  
  31. public:
  32.   int           m_type;     // E.g. gyCONSTRAINT_CENTRED_VERTICALLY
  33.   wxString      m_name;     // E.g. "Centre vertically"
  34.   wxString      m_phrase;   // E.g. "centred vertically with respect to", "left of"
  35.  
  36. };
  37.  
  38. extern wxList* wxOGLConstraintTypes;
  39.  
  40. #define gyCONSTRAINT_CENTRED_VERTICALLY   1
  41. #define gyCONSTRAINT_CENTRED_HORIZONTALLY 2
  42. #define gyCONSTRAINT_CENTRED_BOTH         3
  43. #define gyCONSTRAINT_LEFT_OF              4
  44. #define gyCONSTRAINT_RIGHT_OF             5
  45. #define gyCONSTRAINT_ABOVE                6
  46. #define gyCONSTRAINT_BELOW                7
  47. #define gyCONSTRAINT_ALIGNED_TOP          8
  48. #define gyCONSTRAINT_ALIGNED_BOTTOM       9
  49. #define gyCONSTRAINT_ALIGNED_LEFT         10
  50. #define gyCONSTRAINT_ALIGNED_RIGHT        11
  51.  
  52. // Like aligned, but with the objects centred on the respective edge
  53. // of the reference object.
  54. #define gyCONSTRAINT_MIDALIGNED_TOP       12
  55. #define gyCONSTRAINT_MIDALIGNED_BOTTOM    13
  56. #define gyCONSTRAINT_MIDALIGNED_LEFT      14
  57. #define gyCONSTRAINT_MIDALIGNED_RIGHT     15
  58.  
  59. class wxOGLConstraint: public wxObject
  60. {
  61.  DECLARE_DYNAMIC_CLASS(wxOGLConstraint)
  62.  public:
  63.   wxOGLConstraint() { m_xSpacing = 0.0; m_ySpacing = 0.0; m_constraintType = 0; m_constraintName = ""; m_constraintId = 0;
  64.                         m_constrainingObject = NULL; }
  65.   wxOGLConstraint(int type, wxShape *constraining, wxList& constrained);
  66.   ~wxOGLConstraint();
  67.  
  68.   // Returns TRUE if anything changed
  69.   bool Evaluate();
  70.   inline void SetSpacing(double x, double y) { m_xSpacing = x; m_ySpacing = y; };
  71.   bool Equals(double a, double b);
  72.  
  73.   double         m_xSpacing;
  74.   double         m_ySpacing;
  75.   int           m_constraintType;
  76.   wxString      m_constraintName;
  77.   long          m_constraintId;
  78.   wxShape*      m_constrainingObject;
  79.   wxList        m_constrainedObjects;
  80.  
  81. };
  82.  
  83. void OGLInitializeConstraintTypes();
  84. void OGLCleanUpConstraintTypes();
  85.  
  86. #endif
  87.  // _OGL_CONSTRNT_H_
  88.