DART  6.6.2
ImGuiWidget.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2011-2018, The DART development contributors
3  * All rights reserved.
4  *
5  * The list of contributors can be found at:
6  * https://github.com/dartsim/dart/blob/master/LICENSE
7  *
8  * This file is provided under the following "BSD-style" License:
9  * Redistribution and use in source and binary forms, with or
10  * without modification, are permitted provided that the following
11  * conditions are met:
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * This code incorporates portions of Open Dynamics Engine
19  * (Copyright (c) 2001-2004, Russell L. Smith. All rights
20  * reserved.) and portions of FCL (Copyright (c) 2011, Willow
21  * Garage, Inc. All rights reserved.), which were released under
22  * the same BSD license as below
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
25  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
26  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
29  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
32  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
33  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
35  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36  * POSSIBILITY OF SUCH DAMAGE.
37  */
38 
39 #ifndef DART_GUI_OSG_IMGUIWIDGET_HPP_
40 #define DART_GUI_OSG_IMGUIWIDGET_HPP_
41 
43 
44 namespace dart {
45 namespace gui {
46 namespace osg {
47 
49 {
50 public:
51 
53  ImGuiWidget();
54 
56  virtual ~ImGuiWidget();
57 
59  virtual void render() = 0;
60 
62  void setVisible(bool visible);
63 
65  void toggleVisible();
66 
68  void show();
69 
71  void hide();
72 
74  bool isVisible() const;
75 
76 protected:
77 
79  bool mIsVisible;
80 
81 };
82 
83 class AboutWidget : public ImGuiWidget
84 {
85 public:
86  // Documentation inherited
87  void render() override;
88 };
89 
90 } // namespace osg
91 } // namespace gui
92 } // namespace dart
93 
94 #endif // DART_GUI_OSG_IMGUIWIDGET_HPP_
Definition: ImGuiWidget.hpp:84
void render() override
The main render function for ImGui widget.
Definition: ImGuiWidget.cpp:90
Definition: ImGuiWidget.hpp:49
void hide()
Hide this widget.
Definition: ImGuiWidget.cpp:78
virtual ~ImGuiWidget()
Destructor.
Definition: ImGuiWidget.cpp:54
void toggleVisible()
Toggle the visibility of this widget.
Definition: ImGuiWidget.cpp:66
void setVisible(bool visible)
Set the visibility of this widget.
Definition: ImGuiWidget.cpp:60
bool isVisible() const
Whether this widget is visible.
Definition: ImGuiWidget.cpp:84
ImGuiWidget()
Constructor.
Definition: ImGuiWidget.cpp:48
void show()
Show this widget.
Definition: ImGuiWidget.cpp:72
virtual void render()=0
The main render function for ImGui widget.
bool mIsVisible
Whether this widget is visible.
Definition: ImGuiWidget.hpp:79
Definition: BulletCollisionDetector.cpp:63