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_
16 #pragma interface "constrnt.h"
24 class OGLConstraintType
: public wxObject
26 DECLARE_DYNAMIC_CLASS(OGLConstraintType
)
28 OGLConstraintType(int type
= 0, const wxString
& name
= "", const wxString
& phrase
= "");
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"
38 extern wxList
* OGLConstraintTypes
;
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
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
59 class OGLConstraint
: public wxObject
61 DECLARE_DYNAMIC_CLASS(OGLConstraint
)
63 OGLConstraint() { m_xSpacing
= 0.0; m_ySpacing
= 0.0; m_constraintType
= 0; m_constraintName
= ""; m_constraintId
= 0;
64 m_constrainingObject
= NULL
; }
65 OGLConstraint(int type
, wxShape
*constraining
, wxList
& constrained
);
68 // Returns TRUE if anything changed
70 inline void SetSpacing(float x
, float y
) { m_xSpacing
= x
; m_ySpacing
= y
; };
71 bool Equals(float a
, float b
);
76 wxString m_constraintName
;
78 wxShape
* m_constrainingObject
;
79 wxList m_constrainedObjects
;
83 void OGLInitializeConstraintTypes();
84 void OGLCleanUpConstraintTypes();