openscenegraph
FrameSettings
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_FRAMESETTINGS
15#define OSGUI_FRAMESETTINGS
16
17#include <osg/Object>
18#include <osg/BoundingBox>
19#include <osg/Vec4>
20#include <osgUI/Export>
21
22namespace osgUI
23{
24class OSGUI_EXPORT FrameSettings : public osg::Object
25{
26public:
27 FrameSettings();
28 FrameSettings(const FrameSettings& frameSettings, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
29 META_Object(osgUI, FrameSettings);
30
31 enum Shape
32 {
33 NO_FRAME,
34 BOX,
35 PANEL
36 };
37
38 void setShape(Shape shape) { _shape = shape; }
39 Shape getShape() const { return _shape; }
40
41 enum Shadow
42 {
43 PLAIN,
44 SUNKEN,
45 RAISED
46 };
47
48 void setShadow(Shadow shadow) { _shadow = shadow; }
49 Shadow getShadow() const { return _shadow; }
50
51 void setLineWidth(float width) { _lineWidth = width; }
52 float getLineWidth() const { return _lineWidth; }
53
54protected:
55
56 virtual ~FrameSettings() {}
57
58 Shape _shape;
59 Shadow _shadow;
60 float _lineWidth;
61
62};
63
64}
65
66#endif