1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: OGL constraint definitions
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _OGL_CONSTRNT_H_
13 #define _OGL_CONSTRNT_H_
21 class WXDLLIMPEXP_OGL wxOGLConstraintType
: public wxObject
23 DECLARE_DYNAMIC_CLASS(wxOGLConstraintType
)
25 wxOGLConstraintType(int type
= 0, const wxString
& name
= wxEmptyString
,
26 const wxString
& phrase
= wxEmptyString
);
27 ~wxOGLConstraintType();
30 int m_type
; // E.g. gyCONSTRAINT_CENTRED_VERTICALLY
31 wxString m_name
; // E.g. "Centre vertically"
32 wxString m_phrase
; // E.g. "centred vertically with respect to", "left of"
36 extern wxList
* wxOGLConstraintTypes
;
38 #define gyCONSTRAINT_CENTRED_VERTICALLY 1
39 #define gyCONSTRAINT_CENTRED_HORIZONTALLY 2
40 #define gyCONSTRAINT_CENTRED_BOTH 3
41 #define gyCONSTRAINT_LEFT_OF 4
42 #define gyCONSTRAINT_RIGHT_OF 5
43 #define gyCONSTRAINT_ABOVE 6
44 #define gyCONSTRAINT_BELOW 7
45 #define gyCONSTRAINT_ALIGNED_TOP 8
46 #define gyCONSTRAINT_ALIGNED_BOTTOM 9
47 #define gyCONSTRAINT_ALIGNED_LEFT 10
48 #define gyCONSTRAINT_ALIGNED_RIGHT 11
50 // Like aligned, but with the objects centred on the respective edge
51 // of the reference object.
52 #define gyCONSTRAINT_MIDALIGNED_TOP 12
53 #define gyCONSTRAINT_MIDALIGNED_BOTTOM 13
54 #define gyCONSTRAINT_MIDALIGNED_LEFT 14
55 #define gyCONSTRAINT_MIDALIGNED_RIGHT 15
57 class WXDLLIMPEXP_OGL wxOGLConstraint
: public wxObject
59 DECLARE_DYNAMIC_CLASS(wxOGLConstraint
)
62 m_xSpacing
= 0.0; m_ySpacing
= 0.0; m_constraintType
= 0;
63 m_constraintName
= wxEmptyString
; m_constraintId
= 0;
64 m_constrainingObject
= NULL
; }
65 wxOGLConstraint(int type
, wxShape
*constraining
, wxList
& constrained
);
68 // Returns true if anything changed
70 inline void SetSpacing(double x
, double y
) { m_xSpacing
= x
; m_ySpacing
= y
; };
71 bool Equals(double a
, double b
);
76 wxString m_constraintName
;
78 wxShape
* m_constrainingObject
;
79 wxList m_constrainedObjects
;
83 void OGLInitializeConstraintTypes();
84 void OGLCleanUpConstraintTypes();