opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
liboscar
ui
popups
popup.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
liboscar/maths/rect.h
>
4
#include <
liboscar/maths/vector.h
>
5
#include <
liboscar/platform/widget.h
>
6
#include <
liboscar/ui/oscimgui.h
>
7
#include <
liboscar/utilities/c_string_view.h
>
8
9
#include <memory>
10
#include <optional>
11
#include <string_view>
12
13
namespace
osc
{
class
PopupPrivate; }
14
15
namespace
osc
16
{
17
class
Popup
:
public
Widget
{
18
public
:
19
explicit
Popup
(
20
Widget
*
parent
,
21
std::string_view
name
,
22
Vector2
dimensions = {512.0f, 0.0f},
23
ui::PanelFlags
=
ui::PanelFlag::AlwaysAutoResize
24
);
25
26
bool
is_open
();
27
void
open
();
28
void
close
();
29
bool
begin_popup
();
30
void
end_popup
();
31
32
protected
:
33
explicit
Popup
(std::unique_ptr<PopupPrivate>&&);
34
35
bool
is_popup_opened_this_frame
()
const
;
36
void
request_close
();
37
bool
is_modal
()
const
;
38
void
set_modal
(
bool
);
39
void
set_rect
(
const
Rect
&);
40
void
set_dimensions
(
Vector2
);
41
void
set_position
(std::optional<Vector2>);
42
43
OSC_WIDGET_DATA_GETTERS
(
PopupPrivate
);
44
private
:
45
void
impl_on_draw
()
override
;
46
47
// Implementors can/must provide these.
48
virtual
void
impl_before_imgui_begin_popup
() {}
49
virtual
void
impl_after_imgui_begin_popup
() {}
50
virtual
void
impl_draw_content
() = 0;
51
virtual
void
impl_on_close
() {}
52
};
53
}
c_string_view.h
osc::Flags< PanelFlag >
osc::PopupPrivate
Definition
popup_private.h:15
osc::Popup
Definition
popup.h:17
osc::Popup::close
void close()
osc::Popup::impl_draw_content
virtual void impl_draw_content()=0
osc::Popup::open
void open()
osc::Popup::is_open
bool is_open()
osc::Popup::request_close
void request_close()
osc::Popup::set_rect
void set_rect(const Rect &)
osc::Popup::set_dimensions
void set_dimensions(Vector2)
osc::Popup::begin_popup
bool begin_popup()
osc::Popup::impl_after_imgui_begin_popup
virtual void impl_after_imgui_begin_popup()
Definition
popup.h:49
osc::Popup::is_modal
bool is_modal() const
osc::Popup::end_popup
void end_popup()
osc::Popup::impl_on_close
virtual void impl_on_close()
Definition
popup.h:51
osc::Popup::Popup
Popup(Widget *parent, std::string_view name, Vector2 dimensions={512.0f, 0.0f}, ui::PanelFlags=ui::PanelFlag::AlwaysAutoResize)
osc::Popup::set_position
void set_position(std::optional< Vector2 >)
osc::Popup::OSC_WIDGET_DATA_GETTERS
OSC_WIDGET_DATA_GETTERS(PopupPrivate)
osc::Popup::impl_on_draw
void impl_on_draw() override
osc::Popup::Popup
Popup(std::unique_ptr< PopupPrivate > &&)
osc::Popup::is_popup_opened_this_frame
bool is_popup_opened_this_frame() const
osc::Popup::impl_before_imgui_begin_popup
virtual void impl_before_imgui_begin_popup()
Definition
popup.h:48
osc::Popup::set_modal
void set_modal(bool)
osc::Rect
Definition
rect.h:17
osc::Vector< float, 2 >
osc::Widget
Definition
widget.h:26
osc::Widget::name
CStringView name() const
osc::Widget::parent
Widget * parent()
osc::ui::PanelFlag::AlwaysAutoResize
@ AlwaysAutoResize
osc
Definition
custom_decoration_generator.h:5
oscimgui.h
rect.h
vector.h
widget.h
Generated by
1.9.8