openscenegraph
AlignmentSettings
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2014 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSGUI_ALIGNMENTSETTINGS
15#define OSGUI_ALIGNMENTSETTINGS
16
17#include <osg/Object>
18#include <osg/BoundingBox>
19#include <osg/Vec4>
20#include <osgUI/Export>
21
22namespace osgUI
23{
24
25class OSGUI_EXPORT AlignmentSettings : public osg::Object
26{
27public:
28
29 enum Alignment
30 {
31 LEFT_TOP,
32 LEFT_CENTER,
33 LEFT_BOTTOM,
34
35 CENTER_TOP,
36 CENTER_CENTER,
37 CENTER_BOTTOM,
38
39 RIGHT_TOP,
40 RIGHT_CENTER,
41 RIGHT_BOTTOM,
42
43 LEFT_BASE_LINE,
44 CENTER_BASE_LINE,
45 RIGHT_BASE_LINE,
46
47 LEFT_BOTTOM_BASE_LINE,
48 CENTER_BOTTOM_BASE_LINE,
49 RIGHT_BOTTOM_BASE_LINE
50 };
51
52 AlignmentSettings(Alignment alignment=AlignmentSettings::LEFT_BOTTOM);
53 AlignmentSettings(const AlignmentSettings& as, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
54 META_Object(osgUI, AlignmentSettings);
55
56 void setAlignment(Alignment alignment) { _alignment = alignment; }
57 Alignment getAlignment() const { return _alignment; }
58
59protected:
60
61 virtual ~AlignmentSettings() {}
62
63 Alignment _alignment;
64};
65
66}
67
68#endif