|
Rose
|
A touch keyboard. More...
#include <Keyboard.h>


Public Member Functions | |
| void | addedToContainer () override |
| Called when a Node is added to a Container. More... | |
| void | keyCommandCallback (ButtonStateChange stateChange, uint command) |
| Callback to process key presses. | |
| Keyboard (Keyboard &&)=delete | |
| Keyboard (const Keyboard &)=delete | |
| Keyboard & | operator= (Keyboard &&)=delete |
| Keyboard & | operator= (const Keyboard &)=delete |
| Keyboard (std::shared_ptr< KeyboardPlugin > keyboardPlugin) | |
| Constructor. More... | |
| Rectangle | widgetLayout (sdl::Renderer &renderer, Rectangle available, uint layoutStage) override |
| See Widget::widgetLayout() | |
| void | draw (sdl::Renderer &renderer, Rectangle parentRect) override |
| See Widget::draw() | |
| void | initializeComposite () override |
| See Widget::initializeComposite() | |
Public Member Functions inherited from rose::Frame | |
| Frame (bool invert) noexcept | |
| Frame (int padding) noexcept | |
| std::string_view | nodeId () const noexcept override |
| void | drawAnimate (gm::Context &context, const Position< int > &containerPosition) |
| void | draw (gm::Context &context, const Position< int > &containerPosition) override |
| Draw the visual. | |
| Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
| Layout the visual. | |
Public Member Functions inherited from rose::Manager | |
| Manager (const Manager &)=delete | |
| Manager (Manager &&)=delete | |
| Manager & | operator= (const Manager &)=delete |
| Manager & | operator= (Manager &&)=delete |
| std::string_view | nodeId () const noexcept override |
| void | add (const std::shared_ptr< Node > &node) override |
| Add a Node to the contents of the Manager. More... | |
| void | draw (gm::Context &context, const Position< int > &containerPosition) override |
| Draw the manager and contents. More... | |
| Rectangle | layout (gm::Context &context, const Rectangle &screenRect) override |
| Layout the Manager and contents. More... | |
| void | setLayoutManager (std::unique_ptr< LayoutManager > &&layoutManager) |
| Set the layout manager. More... | |
| std::unique_ptr< LayoutManager > & | layoutManager () |
| Get the LayoutManager. More... | |
Public Member Functions inherited from rose::Widget | |
| Widget (const Widget &)=delete | |
| Widget (Widget &&)=delete | |
| Widget & | operator= (const Widget &)=delete |
| Widget & | operator= (Widget &&)=delete |
| 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) |
Public Member Functions inherited from rose::Visual | |
| 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. | |
Public Member Functions inherited from rose::Container | |
| void | remove (const std::shared_ptr< Node > &node) |
Public Member Functions inherited from rose::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 () |
Public Member Functions inherited from rose::FrameElements | |
| FrameElements (int padding) | |
| void | set (const CornerStyle cornerStyle) |
| Set the CornerStyle. | |
| void | setState (bool state) |
| Set the state, true = inverted. | |
| void | setAnimateColor (const color::RGBA &color) |
| Set the active color. | |
| void | setInactiveColor (const color::RGBA &color) |
| Set the background color. | |
| bool | getState () const |
| void | frameSettings (const FrameSettings &frameSettings) |
Public Member Functions inherited from rose::Animation | |
| void | setActionCurve (std::unique_ptr< ActionCurves::ActionCurve > &&actionCurve) |
| void | setAnimationEnable (AnimationEnable animationEnable) |
Public Member Functions inherited from rose::Grid | |
| Grid (int stride) | |
| std::string_view | nodeId () const noexcept override |
| void | draw (gm::Context &context, const Position< int > &containerPosition) override |
| Draw the visual. | |
Protected Attributes | |
| bool | mCapsLock {false} |
| The CapsLock state. | |
| bool | mShiftActive {false} |
| The temporary Shift state. | |
| uint | mKeyState {0} |
| The key state, sets which element is used for a specific key. | |
| uint | mAltState {0} |
| The alt keyboard state, access to numbers and special characters. | |
| std::shared_ptr< KeyboardPlugin > | mKeyboardPlugin {} |
| The KeyboardPlugin to use. | |
| KeyboardMode | mKeyboardMode {KeyboardMode::LowerCase} |
| The mode the keyboard is in. | |
| char | mEm {'M'} |
| The 'largest' glyph in the Font. | |
| Size | mKeySize {} |
| The size of regular keys, determined by mEm. | |
| std::string | mFontName {} |
| Key face font name. | |
| int | mFontSize {} |
| Key face font size. | |
Protected Attributes inherited from rose::Manager | |
| std::unique_ptr< LayoutManager > | mLayoutManager {} |
| The layout manager which determines the presentation of contained Widgets. | |
Protected Attributes inherited from rose::Widget | |
| 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. | |
Protected Attributes inherited from rose::Visual | |
| 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. | |
Protected Attributes inherited from rose::Node | |
| std::weak_ptr< Container > | mContainer {} |
| The Container that holds the Node. More... | |
| Id | mId {} |
Protected Attributes inherited from rose::FrameElements | |
| color::RGBA | mBaseColor |
| color::RGBA | mInvertColor |
| color::RGBA | mTopColor |
| color::RGBA | mBotColor |
| color::RGBA | mLeftColor |
| color::RGBA | mRightColor |
| color::RGBA | mActiveColor |
| color::RGBA | mInactiveColor |
| float | mColorValue {} |
| int | mFrameWidth {2} |
| Padding | mFramePadding {} |
| CornerStyle | mCornerStyle {CornerStyle::Round} |
| bool | mInvert {} |
| gm::Texture | mBorder {} |
| gm::Texture | mInactiveBG {} |
| gm::Texture | mAnimatedBG {} |
| FrameSettings | mFrameSettings {} |
Protected Attributes inherited from rose::Animation | |
| Callback | mAnimationCallback |
| Enable | mAnimationEnableStateCallback |
| AnimationEnable | mAnimationEnableState {AnimationEnable::Disable} |
Static Protected Attributes | |
| static constexpr std::array< KeySpec, 11 > | keyDataRow0 |
| Top row of the keyboard. More... | |
| static constexpr std::array< KeySpec, 10 > | keyDataRow1 |
| Second row of keys. More... | |
| static constexpr std::array< KeySpec, 11 > | keyDataRow2 |
| Third row of keys. More... | |
| static constexpr std::array< KeySpec, 6 > | keyDataRow3 |
| Bottom row of keys. More... | |
Additional Inherited Members | |
Public Types inherited from rose::Visual | |
| using | ValueMap = std::map< int, int > |
| The std::map type for each hint class. | |
Public Types inherited from rose::Node | |
| using | NodePtr = std::shared_ptr< Node > |
Public Types inherited from rose::Animation | |
| using | Callback = std::function< void(gm::Context &context, const Position< int > &, uint32_t frame)> |
| using | Enable = std::function< void(AnimationEnable animationEnable)> |
Static Public Member Functions inherited from rose::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... | |
Static Public Member Functions inherited from rose::FrameElements | |
| static gm::Texture | createBackgroundMask (gm::Context &context, Size size, int frameWidth, bool roundCorners=false) |
| static void | colorBackgroundMask (gm::Context &context, gm::Texture &mask, const color::RGBA &base, const color::RGBA &active, float value) |
Static Public Member Functions inherited from rose::Animation | |
| static void | setAnimation (const std::shared_ptr< Window > &window, std::shared_ptr< Animation > animation, const Position< int > &position) |
| static void | removeAnimation (const std::shared_ptr< Window > &window, std::shared_ptr< Animation > animation) |
Public Attributes inherited from rose::Visual | |
| std::map< size_t, ValueMap > | mHintsMap {} |
| The std::map of hint class to ValueMap. | |
Public Attributes inherited from rose::Animation | |
| std::unique_ptr< ActionCurves::ActionCurve > | mActionCurve {} |
Static Public Attributes inherited from rose::Frame | |
| static constexpr std::string_view | id = "Frame" |
Static Public Attributes inherited from rose::Manager | |
| static constexpr std::string_view | id = "Manager" |
Static Public Attributes inherited from rose::Widget | |
| static constexpr std::string_view | id = "Widget" |
Static Public Attributes inherited from rose::Container | |
| static constexpr std::string_view | id = "Container" |
Static Public Attributes inherited from rose::Node | |
| static constexpr std::string_view | id = "Node" |
Static Public Attributes inherited from rose::Grid | |
| static constexpr std::string_view | id = "Grid" |
Protected Types inherited from rose::FrameElements | |
| enum | SelectedCorners : uint32_t { NoCorners = 0, TopLeftCorner = 0x8, TopRightCorner = 0x4, TopCorners = TopLeftCorner | TopRightCorner, BottomLeftCorner = 0x2, BottomRightCorner = 0x1, BottomCorners = BottomLeftCorner | BottomRightCorner, LeftCorners = TopLeftCorner | BottomLeftCorner, RightCorners = TopRightCorner | BottomRightCorner, AllCorners = 0xf } |
| Specify corners selected for some process, usually drawing. | |
| enum | SelectedSides : uint32_t { NoSides = 0, TopSide = 1, BotSide = 2, LeftSide = 4, RightSide = 8, AllSides = TopSide | BotSide | LeftSide | RightSide, TabTopSides = TopSide | LeftSide | RightSide } |
| Specify sides selected for some process, usually drawing. | |
Protected Member Functions inherited from rose::FrameElements | |
| void | renderSelectedSides (gm::Context &context, FrameElements::SelectedSides selectedSides, BorderStyle useBorder, ImageId corner, const Size &size, int extend=0) |
| Render sides as part of a border around the frame. More... | |
| void | drawBackground (gm::Context &context, Rectangle &src, Rectangle &dst) |
| Draw the background for the Frame. More... | |
| gm::Texture | createBackgroundTexture (gm::Context &context, Rectangle &src, Rectangle &dst, const color::RGBA &color) |
| std::tuple< UseBorder, SelectedCorners > | decoration () |
| void | drawFrame (gm::Context &context, Rectangle widgetRect) |
| Draw the Frame and background. More... | |
| void | buttonDisplayStateChange (ButtonDisplayState buttonDisplayState) |
| Make visual changes to FrameElements for button display. More... | |
Static Protected Member Functions inherited from rose::FrameElements | |
| static void | trimCorners (gm::Surface &surface, color::RGBA color, FrameElements::SelectedCorners selectedCorners, Size cornerSize, Size frameSize) |
| Trim corners on a background surface to allow for rounded corners. More... | |
| static void | renderSelectedCorners (gm::Context &context, SelectedCorners selectedCorners, ImageId corner, const Size &size) |
| Render corner images as part of a border around the frame. More... | |
A touch keyboard.
Implement a touchscreen keyboard.
|
inlineexplicit |
Constructor.
| keyboardPlugin | The KeyboardPlugin to use. |
|
overridevirtual |
Called when a Node is added to a Container.
By default it is ignored but can be used to perform initialization that is required when a Node is placed in a Container.
Reimplemented from rose::Node.
|
staticprotected |
Top row of the keyboard.
|
staticprotected |
Second row of keys.
|
staticprotected |
Third row of keys.
|
staticprotected |
Bottom row of keys.
1.8.13