Rose
|
Draw grid lines to annotate the MapProjection. More...
#include <GridOverlay.h>
Classes | |
struct | GridData |
Public Member Functions | |
GridOverlay (std::shared_ptr< TimerTick > timerTick) | |
GridOverlay (const GridOverlay &)=delete | |
GridOverlay (GridOverlay &&)=delete | |
GridOverlay & | operator= (const GridOverlay &)=delete |
GridOverlay & | operator= (GridOverlay &&)=delete |
std::string_view | nodeId () const noexcept override |
void | draw (gm::Context &context, const Position< int > &containerPosition) override |
Draw the GridOverlay. | |
Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
Layout the GridOverlay. | |
void | addedToContainer () override |
Called when added to a container. More... | |
![]() | |
Widget (const Widget &)=delete | |
Widget (Widget &&)=delete | |
Widget & | operator= (const Widget &)=delete |
Widget & | operator= (Widget &&)=delete |
std::string_view | nodeId () const noexcept override |
std::shared_ptr< Widget > | pointerWidget (const Position< int > &position, const Position< int > &containerPosition) |
Search for the Widget within which the position lies. More... | |
Position< int > | computeScreenPosition () |
Recursively compute the Widget Position on the Screen. More... | |
bool | contains (const Position< int > &position) |
Determine if a given Screen Position is within the Widget Rectangle. More... | |
Application & | getApplication () |
Get a reference to the Application object. More... | |
Application & | getApplication () const |
const version of getApplication() | |
std::shared_ptr< Window > | getWindow () |
Get the Window ancestor of a Widget. More... | |
std::shared_ptr< Window > | getWindow () const |
const version of getWindow(). | |
bool | enterEvent () |
Notify Widget of mouse pointer enter event. More... | |
void | setEnterLeaveEventCallback (EventCallback eventCallback) |
Set the enter callback. | |
bool | leaveEvent () |
Notify Widget of mouse pointer leave event. More... | |
void | setLeaveEventCallback (EventCallback eventCallback) |
Set the leave callback. | |
bool | buttonEvent (bool pressed, uint button, uint clicks, bool passed) |
Notify Widget of mouse button events. More... | |
void | setButtonEventCallback (ButtonCallback buttonCallback) |
Set the button callback. | |
bool | mouseMotionEvent (bool pressed, uint button, const Position< int > &mousePos, const Position< int > &relativePos, bool passed) |
Notify Widget of mouse motion events. More... | |
void | setMouseMotionEventCallback (MouseMotionCallback mouseMotionCallback) |
Set the mouse motion callback. | |
bool | mouseScrollEvent (const Position< int > &deltaPos, bool passed) |
Notify Widget of mouse scroll wheel events. More... | |
void | setMouseScrollEventCallback (ScrollCallback scrollCallback) |
Set the mouse scroll callback. | |
bool | keyboardShortcutEvent (uint32_t shortcutCode, bool state, uint repeat) |
Notify the Widget of a keyboard shortcut invocation. More... | |
void | setKeyboardShortcutCallback (KeyboardShortcutCallback keyboardShortcutCallback) |
Set the keyboard shortcut callback. | |
bool | keyTextInputEvent (const std::string &text) |
Notify the Widget of text input. More... | |
void | setTextInputCallback (TextInputCallback textInputCallback) |
Set the text input callback. | |
bool | supportsKeyboardFocus () const |
bool | keyboardFocusEvent (bool hasFocus) |
Notify the Widget when it gains or looses keyboard focus. More... | |
void | setKeyboardFocusCallback (KeyboardFocusCallback keyboardFocusCallback) |
Set the keyboard focus callback. | |
bool | keyboardEvent (const SDL_KeyboardEvent &keyboardEvent) |
void | setKeyboardEvent (KeyboardEventCallback keyboardEventCallback) |
![]() | |
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. | |
![]() | |
virtual void | add (const std::shared_ptr< Node > &node) |
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. | |
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 Member Functions | |
static void | throwContainerError () |
![]() | |
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... | |
Static Public Attributes | |
static constexpr std::string_view | id = "GridOverlay" |
![]() | |
static constexpr std::string_view | id = "Widget" |
![]() | |
static constexpr std::string_view | id = "Container" |
![]() | |
static constexpr std::string_view | id = "Node" |
Protected Types | |
enum | GridType { GridType::Equator, GridType::PrimeMeridian, GridType::IntDateLine, GridType::Tropics, GridType::LatLon } |
Protected Attributes | |
std::array< GridData, 5 > | mGridData |
bool | mGridOverlayObjects {true} |
True if there are elements to display. | |
MapProjectionType | mProjection {} |
The map projection type. | |
TickProtocol::slot_type | mGridUpdateTimer {} |
Slot to receive celestial update time signals on. | |
std::shared_ptr< TimerTick > | mTimerTick {} |
Source of timing information. | |
gm::Texture | mTexture {} |
The Texture used to render all grid lines. | |
![]() | |
EventCallback | mEnterEventCallback {} |
The pointer has entered the Widget. | |
EventCallback | mLeaveEventCallback {} |
The pointer has left the Widget. | |
ButtonCallback | mButtonEventCallback {} |
The pointer button has been pressed with the pointer inside the Widget. | |
MouseMotionCallback | mMouseMotionCallback {} |
The pointer is in motion, inside the Widget with a button pressed. | |
ScrollCallback | mMouseScrollCallback {} |
The mouse scroll wheel has moved with the pointer inside the Widget. | |
KeyboardShortcutCallback | mKeyboardShortcutCallback {} |
A keyboard button event while the Widget has keyboard focus. | |
TextInputCallback | mTextInputCallback {} |
A text input event while the Widget has keyboard focus. | |
KeyboardFocusCallback | mKeyboardFocusCallback {} |
Notification that this Widget has gained or lost keyboard focus. | |
KeyboardEventCallback | mKeyboardEventCallback {} |
Notification that this Widget has received a keyboard event. | |
![]() | |
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 {} |
Additional Inherited Members | |
![]() | |
using | ValueMap = std::map< int, int > |
The std::map type for each hint class. | |
![]() | |
using | NodePtr = std::shared_ptr< Node > |
![]() | |
std::map< size_t, ValueMap > | mHintsMap {} |
The std::map of hint class to ValueMap. | |
Draw grid lines to annotate the MapProjection.
|
strongprotected |
Enumerator | |
---|---|
Equator | The Equator. |
PrimeMeridian | The Prime Meridian. |
IntDateLine | The International Date Line. |
Tropics | The Tropics of Cancer and Capricorn, Arctic and Antarctic Circles. |
LatLon | All remaining Latitudes and Longitudes at 15 degree interval. |
|
overridevirtual |
Called when added to a container.
Connects the map slot receiver for notification when maps are loaded, then calls cacheCurrentMaps().
Reimplemented from rose::Node.
|
protected |