35 struct already_rendering_surfaces : std::logic_error { already_rendering_surfaces() : std::logic_error(
"neogfx::surface_manager::already_rendering_surfaces") {} };
49 typedef std::vector<i_surface*> surface_list;
68 i_display&
display(uint32_t aDisplayIndex = 0)
const override;
88 surface_list iSurfaces;
89 bool iRenderingSurfaces;
91 mutable std::vector<std::unique_ptr<i_nest>> iNests;
92 std::vector<i_nest*> iActiveNest;
virtual bool is_owner_of(const i_surface &aChildSurface) const =0
virtual double z_order() const =0
void deactivate_nest(i_nest &aNest) override
void render_surfaces() override
i_display & display(const i_surface &aSurface) const override
i_display & display(uint32_t aDisplayIndex=0) const override
bool any_strong_surfaces() const override
rect desktop_rect(const i_surface &aSurface) const override
void display_error_message(std::string const &aTitle, std::string const &aMessage) const override
void destroy_nest(i_nest &aNest) override
i_surface & attached_surface(void *aNativeSurfaceHandle) override
i_surface & surface(std::size_t aIndex) override
void invalidate_surfaces() override
bool process_events(bool &aLastWindowClosed) override
std::size_t surface_count() const override
i_nest & active_nest() const override
uint32_t display_count() const override
void activate_nest(i_nest &aNest) override
std::size_t strong_surface_count() const override
void display_error_message(const i_native_window &aParent, std::string const &aTitle, std::string const &aMessage) const override
i_surface & surface_at_position(const i_surface &aProgenitor, const point &aPosition, bool aForMouseEvent=false) override
void layout_surfaces() override
rect desktop_rect(uint32_t aDisplayIndex=0) const override
surface_manager(i_basic_services &aBasicServices, i_rendering_engine &aRenderingEngine)
const i_surface & surface_at_position(const i_surface &aProgenitor, const point &aPosition, bool aForMouseEvent=false) const override
void add_surface(i_surface &aSurface) override
bool is_surface_attached(void *aNativeSurfaceHandle) const override
void remove_surface(i_surface &aSurface) override
virtual i_nest & find_nest(i_native_window const &aNestedWindow) const override
bool initialising_surface() const override
i_nest & nest_for(i_widget &aNestWidget, nest_type aNestType) const override
#define define_declared_event(name, declName,...)