34 class i_window_manager;
36 class window :
public decorated<scrollable_widget<framed_widget<widget<i_window>>>>
48 typedef std::optional<normal_title_bar> optional_title_bar;
129 bool show(
bool aVisible)
override;
154 void center(
bool aSetMinimumSize =
true)
override;
169 double fps()
const override;
183 using base_type::has_layout;
184 using base_type::layout;
212 mutable neogfx::window_placement iPlacement;
220 int32_t iCountedEnable;
223 bool iDismissingChildren;
224 std::optional<destroyed_flag> iSurfaceDestroyed;
void set_focused_widget(i_widget &aWidget, focus_reason aFocusReason) override
bool is_closed() const override
window_style style() const override
const i_surface_window & real_surface() const final
i_layout & layout(standard_layout aStandardLayout, layout_position aPosition=layout_position::None) override
window(window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
void set_client(i_ref_ptr< i_widget > const &aClient) override
widget_part hit_test(const point &aPosition) const override
i_widget & entered_widget() const override
bool is_strong() const override
void modal_enable(bool aEnable) override
dismissal_type_e dismissal_type() const override
window(i_widget &aParent, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
void set_surface(i_surface_window &aSurfaceWindow) override
void set_ready_to_render(bool aReady) override
void widget_removed(i_widget &aWidget) override
layer_t layer() const override
bool requires_owner_focus() const override
neogfx::scrolling_disposition scrolling_disposition(const i_widget &aChildWidget) const override
double potential_fps() const override
bool has_entered_widget() const override
bool is_active() const override
bool is_fullscreen() const override
const i_native_window & native_window() const final
void counted_window_enable(bool aEnable) override
void render(i_graphics_context &aGc) const override
bool is_owner_of(const i_window &aChildWindow) const final
window(i_widget &aParent, const window_placement &aPlacement, std::string const &aWindowTitle, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
const i_widget & client_widget() const override
bool has_focused_widget() const override
i_string const & title_text() const override
size minimum_size(optional_size const &aAvailableSpace={}) const override
void set_style(window_style aStyle) override
const i_window & ultimate_ancestor() const override
bool is_nested() const override
double fps() const override
void update_modality(bool aEnableAncestors) override
bool ready_to_render() const override
bool has_native_surface() const final
bool dismissed() const override
void mouse_left() override
bool has_surface() const final
neogfx::focus_policy focus_policy() const override
color frame_color() const override
i_widget & client_widget() override
void set_parent(i_widget &aParent) override
const window_placement & placement() const override
bool is_effectively_active() const override
void center_on_parent(bool aSetMinimumSize=true) override
const i_window_manager & window_manager() const override
neogfx::border window_border() const override
void deactivate() override
window(const window_placement &aPlacement, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
neogfx::size_policy size_policy() const override
bool is_parent_of(const i_window &aChildWindow) const final
i_widget & focused_widget() const override
bool is_restored() const override
const i_native_surface & native_surface() const final
point mouse_position() const override
const i_drag_drop_target & default_drag_drop_target() const override
void focus_gained(focus_reason aFocusReason) override
bool is_managing_layout() const override
window(i_widget &aParent, std::string const &aWindowTitle, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
window(std::string const &aWindowTitle, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
point window_position() const override
bool is_iconic() const override
bool has_native_window() const final
void mouse_entered(const point &aPosition) override
bool is_surface() const final
void dismiss_children(const i_widget *aClickedWidget=nullptr) override
void release_focused_widget(i_widget &aWidget) override
i_drag_drop_target & default_drag_drop_target() override
void center(bool aSetMinimumSize=true) override
bool is_dismissing_children() const override
bool show(bool aVisible) override
void layout_items_completed() override
bool has_layout(standard_layout aStandardLayout) const override
void widget_added(i_widget &) override
const i_window & parent_window() const final
void set_client(i_widget &aClient) override
bool can_close() const override
bool has_client_widget() const override
window(const window_placement &aPlacement, std::string const &aWindowTitle, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
i_window_manager & window_manager() override
void enter_fullscreen(const video_mode &aVideoMode) override
window(i_widget &aParent, const window_placement &aPlacement, window_style aStyle=window_style::Default, frame_style aFrameStyle=frame_style::WindowFrame, neogfx::scrollbar_style aScrollbarStyle=neogfx::scrollbar_style::Normal)
void focus_lost(focus_reason aFocusReason) override
const i_surface_window & surface() const final
bool window_enabled() const override
bool can_dismiss(const i_widget *aClickedWidget) const override
bool has_parent_window() const final
bool is_maximized() const override
color palette_color(color_role aColorRole) const override
bool is_weak() const override
const i_device_metrics & device_metrics() const override
bool device_metrics_available() const override
void set_title_text(i_string const &aTitleText) override
void set_placement(const window_placement &aPlacement) override
void update_click_focus(i_widget &aCandidateWidget, const point &aClickPos) override
const i_layout & layout(standard_layout aStandardLayout, layout_position aPosition=layout_position::None) const override
rect widget_part_rect(widget_part_e aWidgetPart) const override
double rendering_priority() const override
bool update(const rect &aUpdateRect) override
void paint(i_graphics_context &aGc) const override
#define define_declared_event(name, declName,...)
fullscreen_window_cannot_nest()
parentless_window_cannot_nest()