Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DisplayInfo
- {
- public:
- DisplayInfo() : _varsSet(0) {}
- enum
- {
- kChange_x = (1 << 0),
- kChange_y = (1 << 1),
- kChange_rotation = (1 << 2),
- kChange_xscale = (1 << 3),
- kChange_yscale = (1 << 4),
- kChange_alpha = (1 << 5),
- kChange_visible = (1 << 6),
- kChange_z = (1 << 7),
- kChange_xrotation = (1 << 8),
- kChange_yrotation = (1 << 9),
- kChange_zscale = (1 << 10),
- kChange_FOV = (1 << 11),
- kChange_projMatrix3D = (1 << 12),
- kChange_viewMatrix3D = (1 << 13)
- };
- double _x;
- double _y;
- double _rotation;
- double _xScale;
- double _yScale;
- double _alpha;
- UInt32 _visible;
- double _z;
- double _xRotation;
- double _yRotation;
- double _zScale;
- double _perspFOV;
- GMatrix3D _viewMatrix3D;
- GMatrix3D _perspectiveMatrix3D;
- UInt32 _varsSet;
- void SetX(double x) { SetFlags(kChange_x); _x = x; }
- void SetY(double y) { SetFlags(kChange_y); _y = y; }
- void SetRotation(double degrees) { SetFlags(kChange_rotation); _rotation = degrees; }
- void SetXScale(double xscale) { SetFlags(kChange_xscale); _xScale = xscale; }
- void SetYScale(double yscale) { SetFlags(kChange_yscale); _yScale = yscale; }
- void SetAlpha(double alpha) { SetFlags(kChange_alpha); _alpha = alpha; }
- void SetVisible(bool visible) { SetFlags(kChange_visible); _visible = visible; }
- void SetZ(double z) { SetFlags(kChange_z); _z = z; }
- void SetXRotation(double degrees) { SetFlags(kChange_xrotation); _xRotation = degrees; }
- void SetYRotation(double degrees) { SetFlags(kChange_yrotation); _yRotation = degrees; }
- void SetZScale(double zscale) { SetFlags(kChange_zscale); _zScale = zscale; }
- void SetFOV(double fov) { SetFlags(kChange_FOV); _perspFOV = fov; }
- void SetProjectionMatrix3D(const GMatrix3D *pmat)
- {
- if (pmat) {
- SetFlags(kChange_projMatrix3D);
- _perspectiveMatrix3D = *pmat;
- } else
- ClearFlags(kChange_projMatrix3D);
- }
- void SetViewMatrix3D(const GMatrix3D *pmat)
- {
- if (pmat) {
- SetFlags(kChange_viewMatrix3D);
- _viewMatrix3D = *pmat;
- } else
- ClearFlags(kChange_viewMatrix3D);
- }
- // Convenience functions
- void SetPosition(double x, double y) { SetFlags(kChange_x | kChange_y); _x = x; _y = y; }
- void SetScale(double xscale, double yscale) { SetFlags(kChange_xscale | kChange_yscale); _xScale = xscale; _yScale = yscale; }
- void SetFlags(UInt32 flags) { _varsSet |= flags; }
- void ClearFlags(UInt32 flags) { _varsSet &= ~flags; }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement