Rose
|
An abstraction of the available display screen. More...
#include <Visual.h>
Public Member Functions | |
Screen (Application &application) | |
std::string_view | nodeId () const noexcept override |
void | add (const std::shared_ptr< Node > &node) override |
Add a Window to the screen. More... | |
void | draw (gm::Context &context, const Position< int > &containerPosition) override |
Draw the screen contents. | |
Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
Layout the screen contents. | |
Application & | getApplication () |
Get the Application object associated with the Screen. | |
const Application & | getApplication () const |
Get the Application associated with a const Screen. | |
![]() | |
void | setScreenRectangle (const Position< int > &containerPosition) |
Compute the screen rectangle from the Container screen Position. More... | |
Rectangle | getScreenRectangle (const Position< int > &containerPosition) const |
Get the rectangle occupied by the Visual. More... | |
Position< int > | drawPadding (const Position< int > &containerPosition) |
Pad the drawing location. | |
Rectangle | layoutPadding (const Rectangle &screenRect) |
Pad the layout. | |
void | setSize (const Size &size) |
Set preferred Size. | |
Size | getSize () const |
Get the preferred size. | |
void | setPosition (const Position< int > &position) |
Set preferred Position. | |
Position< int > | getPosition () const |
Get the preferred Position. | |
void | setPadding (const Padding &padding) |
Set Padding. | |
void | setScreenRectangle (const Rectangle &screenRect) |
Set Screen Rectangle. | |
constexpr bool | isVisible () const noexcept |
Check visibility. | |
void | setVisible (bool visible) noexcept |
Set visibility. | |
void | setLayoutHint (const LayoutHint &hint) |
Add a LayoutHint. | |
std::optional< int > | getAttachmentHint (LayoutHint::Attachment attachment) |
Get an AttachmentHint value given a LayoutHint::Attachment. More... | |
std::optional< int > | getGridHint (LayoutHint::GridLayoutHint gridLayoutHint) |
Get a GridLayoutHint value given a LayoutHint::GridLayoutHint. More... | |
template<size_t HintClass> | |
std::optional< const ValueMap > | getHintMap () const |
SemanticGesture | supportedSemanticGestures () const |
Get supported SemanticGestures. | |
![]() | |
void | remove (const std::shared_ptr< Node > &node) |
![]() | |
Node (const std::shared_ptr< Container > &container) | |
Create a node and add it to a Container. More... | |
void | setId (const Id &nodeId) noexcept |
Set Id. | |
std::string_view | getId () const |
Get Id. | |
IdPath | getIdPath () const |
Get the Id Path. | |
virtual void | addedToContainer () |
Called when a Node is added to a Container. More... | |
std::shared_ptr< Container > | container () |
std::shared_ptr< Container > | container () const |
template<typename C > | |
std::shared_ptr< C > | containerAs () |
template<typename C > | |
std::shared_ptr< C > | containerAs () const |
std::shared_ptr< const Node > | getNode () const |
Get a const std::shared_ptr to this node. More... | |
std::shared_ptr< Node > | getNode () |
Get a std::shared_ptr to this node. More... | |
template<typename NodeType > | |
std::shared_ptr< const Node > | getNode () const |
Get a std::shared_ptr<const NodeType> to this node. More... | |
template<typename NodeType > | |
std::shared_ptr< NodeType > | getNode () |
Get a std::shared_ptr<NodeType> to this node. More... | |
std::shared_ptr< Node > | remove () |
Static Public Attributes | |
static constexpr std::string_view | id = "Screen" |
![]() | |
static constexpr std::string_view | id = "Container" |
![]() | |
static constexpr std::string_view | id = "Node" |
Additional Inherited Members | |
![]() | |
using | ValueMap = std::map< int, int > |
The std::map type for each hint class. | |
![]() | |
using | NodePtr = std::shared_ptr< Node > |
![]() | |
template<typename NodeType > | |
static std::shared_ptr< NodeType > | create () |
Create a Node with no arguments. More... | |
template<typename NodeType , typename ... Args> | |
static std::shared_ptr< NodeType > | create (Args ... args) |
Create a Node with arguments. More... | |
template<typename NodeType , typename ContainerType , typename ... Args> | |
static std::shared_ptr< NodeType > | add (ContainerType container, Args ... args) |
Create a Node with arguments and add to a Container. More... | |
![]() | |
std::map< size_t, ValueMap > | mHintsMap {} |
The std::map of hint class to ValueMap. | |
![]() | |
SemanticGesture | mSemanticGesture {} |
Position< int > | mPos {} |
Position relative to the container, arrived at by layout. | |
Size | mSize {} |
The size on screen, arrived at by layout. | |
Position< int > | mPreferredPos {} |
The preferred position. | |
Size | mPreferredSize {} |
The preferred size. | |
Rectangle | mScreenRect {} |
The screen Rectangle computed at drawing time. | |
Padding | mPadding {} |
Immediately around the Visual, used for separation and alignment. | |
State | mState {} |
The object state Id string. | |
bool | mVisible {true} |
If true the object is visible. | |
![]() | |
std::weak_ptr< Container > | mContainer {} |
The Container that holds the Node. More... | |
Id | mId {} |
An abstraction of the available display screen.
|
inlineoverridevirtual |