| AUI Framework
                         master
 Cross-platform base for C++ UI apps | 
Expanding view which is useful in UI building. More...
#include <AUI/View/ASpacerExpanding.h>
| Public Member Functions# | |
| ASpacerExpanding (int w=4, int h=4) | |
| bool | consumesClick (const glm::ivec2 &pos) override | 
| Determines whether this AView processes this click or passes it thru. | |
|  Public Member Functions inherited from AView | |
| auto | enabled () const | 
| Whether view is enabled (i.e., reacts to user). | |
| auto | position () const | 
| Top left corner's position relative to top left corner's position of the parent AView. | |
| auto | size () const | 
| Size, including content area, border and padding. | |
| auto | expanding () const | 
| Expansion coefficient. Hints layout manager how much this AView should be extended relative to other AViews in the same container. | |
| auto | visibility () const | 
| Visibility value. | |
| void | redraw () | 
| Request window manager to redraw this AView. | |
| AWindowBase * | getWindow () const | 
| Determines window which this AView belongs to. | |
| virtual void | drawStencilMask (ARenderContext ctx) | 
| virtual void | render (ARenderContext ctx) | 
| Draws this AView. Noone should call this function except rendering routine. | |
| virtual void | postRender (ARenderContext ctx) | 
| Performs post-draw routines of this AView. Noone should call this function except rendering routine. | |
| void | popStencilIfNeeded (ARenderContext ctx) | 
| const AVector< AString > & | getAssNames () const noexcept | 
| glm::ivec2 | getPosition () const noexcept | 
| Top left corner's position relative to top left corner's position of the parent AView. | |
| glm::ivec2 | getCenterPointInWindow () const noexcept | 
| The center point position of the view relatively to top left corner of the window. | |
| glm::ivec2 | getSize () const noexcept | 
| Size, including content area, border and padding. | |
| glm::ivec2 | getMinSize () const noexcept | 
| void | setMinSize (glm::ivec2 minSize) noexcept | 
| virtual void | markMinContentSizeInvalid () | 
| void | setExtraStylesheet (_< AStylesheet > extraStylesheet) | 
| void | setExtraStylesheet (AStylesheet &&extraStylesheet) | 
| const _< AStylesheet > & | extraStylesheet () const noexcept | 
| AOverflow | getOverflow () const | 
| Determines whether display graphics that go out of the bounds of this AView or not. | |
| void | setOverflow (AOverflow overflow) | 
| AOverflowMask | getOverflowMask () const | 
| Controls how does the overflow (stencil) mask is produced. | |
| void | setOverflowMask (AOverflowMask overflow) | 
| float | getBorderRadius () const | 
| border-radius, specified in ASS. | |
| void | setBorderRadius (float radius) | 
| int | getWidth () const | 
| int | getHeight () const | 
| int | getTotalOccupiedWidth () const | 
| int | getTotalOccupiedHeight () const | 
| glm::ivec2 | getMinimumSizePlusMargin () | 
| const ABoxFields & | getMargin () | 
| Returns the margin. | |
| void | setMargin (const ABoxFields &margin) | 
| Sets the margin. | |
| const ABoxFields & | getPadding () | 
| Returns the padding. | |
| void | setPadding (const ABoxFields &padding) | 
| Sets the padding. | |
| virtual AString | debugString () const | 
| String which helps to identify this object in debug string output (i.e., for logging) | |
| int | getTotalFieldHorizontal () const | 
| int | getTotalFieldVertical () const | 
| glm::ivec2 | getTotalFieldSize () const | 
| AViewContainerBase * | getParent () const | 
| Parent AView. | |
| const AOptional< ACursor > & | getCursor () const | 
| Determines shape which should pointer take when it's above this AView. | |
| void | setCursor (AOptional< ACursor > cursor) | 
| virtual int | getContentMinimumWidth () | 
| virtual int | getContentMinimumHeight () | 
| glm::ivec2 | getContentMinimumSize () noexcept | 
| bool | isContentMinimumSizeInvalidated () noexcept | 
| bool | hasFocus () const | 
| virtual int | getMinimumWidth () | 
| virtual int | getMinimumHeight () | 
| glm::ivec2 | getMinimumSize () | 
| void | setMaxSize (const glm::ivec2 &maxSize) | 
| const glm::ivec2 & | getMaxSize () const | 
| glm::ivec2 | getContentSize () const | 
| int | getContentWidth () const | 
| int | getContentHeight () const | 
| const glm::ivec2 & | getExpanding () const | 
| void | setExpanding (glm::ivec2 expanding) | 
| Changes the expanding of view. | |
| void | setExpanding (int expanding) | 
| Changes the expanding of view. | |
| void | setExpanding () | 
| const _< AAnimator > & | getAnimator () const | 
| void | setAnimator (const _< AAnimator > &animator) | 
| void | getTransform (glm::mat4 &transform) const | 
| int | getExpandingHorizontal () const | 
| int | getExpandingVertical () const | 
| aui::float_within_0_1 | getOpacity () const | 
| void | setOpacity (aui::float_within_0_1 opacity) | 
| virtual void | setPosition (glm::ivec2 position) | 
| void | setSizeForced (glm::ivec2 size) | 
| virtual void | setSize (glm::ivec2 size) | 
| virtual void | setGeometry (int x, int y, int width, int height) | 
| void | setGeometry (const glm::ivec2 &position, const glm::ivec2 &size) | 
| bool | isBlockClicksWhenPressed () const noexcept | 
| void | setBlockClicksWhenPressed (bool value) noexcept | 
| const glm::ivec2 & | getFixedSize () | 
| Fixed size. | |
| void | setFixedSize (glm::ivec2 size) | 
| bool | isMouseHover () const noexcept | 
| bool | isPressed () const noexcept | 
| bool | isPressed (APointerIndex index) const noexcept | 
| bool | isFocused () const | 
| bool | isMouseEntered () const | 
| Visibility | getVisibility () const | 
| Visibility | getVisibilityRecursive () const | 
| void | setVisibility (Visibility visibility) noexcept | 
| void | setVisible (bool visible) noexcept | 
| MouseCollisionPolicy | getMouseCollisionPolicy () const | 
| void | setMouseCollisionPolicy (MouseCollisionPolicy mouseCollisionPolicy) | 
| void | click () | 
| void | pack () | 
| Sets minimal size. | |
| void | focus (bool needFocusChainUpdate=true) | 
| Requests focus for this AView. | |
| virtual bool | capturesFocus () | 
| bool | hasIndirectParent (const _< AView > &v) | 
| Checks if the specified view is an indirect parent of this view. | |
| glm::ivec2 | getPositionInWindow () const | 
| void | addAssName (const AString &assName) | 
| Adds an ASS class to this AView. | |
| void | removeAssName (const AString &assName) | 
| Removes an ASS class to this AView. | |
| void | setAssName (const AString &assName, bool value) | 
| Depending on value, either adds or removes ass name. | |
| AView & | operator<< (const AString &assName) | 
| const _< AAssHelper > & | getAssHelper () const | 
| const ass::PropertyListRecursive & | getCustomAss () const | 
| void | setCustomStyle (ass::PropertyListRecursive rule) | 
| void | ensureAssUpdated () | 
| _< AView > | sharedPtr () | 
| _weak< AView > | weakPtr () | 
| virtual bool | onGesture (const glm::ivec2 &origin, const AGestureEvent &event) | 
| virtual void | onMouseEnter () | 
| virtual void | onPointerMove (glm::vec2 pos, const APointerMoveEvent &event) | 
| Handles pointer hover events. | |
| virtual void | onMouseLeave () | 
| virtual void | onDpiChanged () | 
| virtual void | onPointerPressed (const APointerPressedEvent &event) | 
| Called on pointer (mouse) released event. | |
| virtual void | onPointerReleased (const APointerReleasedEvent &event) | 
| Called on pointer (mouse) released event. | |
| virtual void | onPointerDoubleClicked (const APointerPressedEvent &event) | 
| virtual void | onScroll (const AScrollEvent &event) | 
| virtual void | onKeyDown (AInput::Key key) | 
| virtual void | onKeyRepeat (AInput::Key key) | 
| virtual void | onKeyUp (AInput::Key key) | 
| virtual void | onFocusAcquired () | 
| virtual void | onFocusLost () | 
| virtual void | onCharEntered (char16_t c) | 
| virtual bool | handlesNonMouseNavigation () | 
| virtual void | forceUpdateLayoutRecursively () | 
| virtual void | setEnabled (bool enabled=true) | 
| void | setDisabled (bool disabled=true) | 
| void | updateEnableState () | 
| void | enable () | 
| void | disable () | 
| void | operator& (ass::PropertyListRecursive rule) | 
| Helper function for kAUI.h:with_style. | |
| virtual void | onClickPrevented () | 
| Called on AWindowBase::preventClickOnPointerRelease. | |
| virtual void | invalidateAllStyles () | 
| Invalidates all styles, causing to iterate over all rules in global and parent stylesheets. | |
| void | invalidateStateStyles () | 
| Updates state selectors for ASS. | |
| virtual void | invalidateAssHelper () | 
| Resets mAssHelper. | |
| virtual bool | wantsTouchscreenKeyboard () | 
| Returns true if view is textfield-like view which requires touchscreen keyboard when clicked. | |
| void | setSkipUntilLayoutUpdate (bool skipUntilLayoutUpdate) | 
| void | setFloating (AFloat f) noexcept | 
| Set floating value for AText. | |
| AFloat | getFloating () const noexcept | 
| Floating value for AText. | |
|  Public Member Functions inherited from AObject | |
| _< AObject > | sharedPtr () | 
| _weak< AObject > | weakPtr () | 
| template<typename Connectable, ACompatibleSlotFor< Connectable > Function> | |
| decltype(auto) | connect (const Connectable &connectable, Function &&function) | 
| Connects signal or property to slot of "this"object. | |
| void | setSignalsEnabled (bool enabled) | 
| bool | isSignalsEnabled () const noexcept | 
| template<ASignalInvokable T> | |
| void | operator^ (T &&t) noexcept | 
| _< AAbstractThread > | getThread () const | 
| bool | isSlotsCallsOnlyOnMyThread () const noexcept | 
| void | setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread) | 
|  Public Member Functions inherited from AObjectBase | |
| AObjectBase (AObjectBase &&rhs) noexcept | |
| AObjectBase (const AObjectBase &rhs) noexcept | |
| AObjectBase & | operator= (const AObjectBase &rhs) noexcept | 
| AObjectBase & | operator= (AObjectBase &&rhs) noexcept | 
|  Public Member Functions inherited from aui::noncopyable | |
| noncopyable (const noncopyable &)=delete | |
| noncopyable & | operator= (const noncopyable &)=delete | 
| Additional Inherited Members# | |
|  Static Public Member Functions inherited from AObject | |
| static void | disconnect () | 
| template<AAnySignal Signal, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Signal > Function> | |
| static decltype(auto) | connect (const Signal &signal, Object *object, Function &&function) | 
| Connects signal to the slot of the specified object. | |
| template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function> | |
| static decltype(auto) | connect (const Property &property, Object *object, Function &&function) | 
| Connects property to the slot of the specified object. | |
| template<APropertyReadable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; } | |
| static void | connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) | 
| Connects source property to the destination property. | |
| template<APropertyWritable PropertySource, APropertyWritable PropertyDestination> requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; } | |
| static void | biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination) | 
| Connects source property to the destination property and opposite (bidirectionally). | |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | |
| static decltype(auto) | connect (const Connectable &connectable, Object &object, Function &&function) | 
| Connects signal or property to the slot of the specified object. | |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function> | |
| static decltype(auto) | connect (const Connectable &connectable, _< Object > object, Function &&function) | 
| Connects signal or property to the slot of the specified object. | |
| template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function> | |
| static decltype(auto) | connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef) | 
| Connects signal to the slot of the specified object. Slot is packed to single argument. | |
| template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function> requires (!aui::derived_from<Object, AObject>) | |
| static void | connect (const Property &property, _< Object > object, Function &&function) | 
| Connects signal or property to the slot of the specified non-AObject type. | |
| static void | moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread) | 
|  Signals and public fields inherited from AView | |
| emits | viewGraphSubtreeChanged | 
| emits | redrawn | 
| View is painted onto the some surface. | |
| emits< bool > | hoveredState | 
| emits | mouseEnter | 
| emits | mouseLeave | 
| emits< bool, APointerIndex > | pressedState | 
| emits< APointerIndex > | pressed | 
| emits< APointerIndex > | released | 
| emits< APointerIndex > | clickedButton | 
| Some mouse button clicked. | |
| emits | clicked | 
| Left mouse button clicked. | |
| emits< glm::ivec2, glm::ivec2 > | geometryChanged | 
| Geometry (position and size) changed. | |
| emits< glm::ivec2 > | scrolled | 
| Scroll event. | |
| emits< AInput::Key > | keyPressed | 
| Keyboard key pressed. | |
| emits< AInput::Key > | keyReleased | 
| Keyboard key released. | |
| emits | clickedRight | 
| Right mouse button clicked. | |
| emits | clickedRightOrLongPressed | 
| Right mouse button clicked or long press gesture applied. | |
| emits< APointerIndex > | doubleClicked | 
| emits | customCssPropertyChanged | 
| emits< bool > | focusState | 
| Focus state changed. | |
| emits | focusAcquired | 
| emits | focusLost | 
| emits< _< AView > > | childFocused | 
|  Static Public Attributes inherited from AObject | |
| static constexpr AObjectBase * | GENERIC_OBSERVER = nullptr | 
| Indicates that a connection should not be explicitly linked to receiver's lifetime. | |
|  Static Public Attributes inherited from AObjectBase | |
| static ASpinlockMutex | SIGNAL_SLOT_GLOBAL_SYNC | 
|  Protected Member Functions inherited from AView | |
| bool | transformGestureEventsToDesktop (const glm::ivec2 &origin, const AGestureEvent &event) | 
| Converts touch screen events to desktop. | |
| void | applyAssRule (const ass::PropertyList &propertyList) | 
| void | applyAssRule (const ass::PropertyListRecursive &propertyList) | 
| virtual AMenuModel | composeContextMenu () | 
| Produce context (right click) menu. | |
| virtual void | onViewGraphSubtreeChanged () | 
| Called when direct or indirect parent has changed. | |
| virtual void | markPixelDataInvalid (ARect< int > invalidArea) | 
| A view requests to redraw it and passes it's coords relative to this. | |
| virtual void | commitStyle () | 
|  Protected Member Functions inherited from AObject | |
| void | setThread (_< AAbstractThread > thread) | 
| Set thread of the object. | |
|  Protected Member Functions inherited from AObjectBase | |
| void | clearAllIngoingConnections () noexcept | 
| virtual void | handleSlotException (std::exception_ptr exception) | 
| Called then an exception has thrown during slot processing of the signal emitted by this object. | |
|  Protected Attributes inherited from AView | |
| AViewContainerBase * | mParent = nullptr | 
| Parent AView. | |
| std::array< ass::prop::IPropertyBase *, int(ass::prop::PropertySlot::COUNT)> | mAss | 
| Drawing list, or baking drawing commands so that you don't have to parse the ASS every time. | |
| ass::PropertyListRecursive | mCustomStyleRule | 
| Custom ASS Rules. | |
| AOptional< ACursor > | mCursor = ACursor::DEFAULT | 
| Determines shape which should pointer take when it's above this AView. | |
| glm::ivec2 | mPosition = { 0, 0 } | 
| Top left corner's position relative to top left corner's position of the parent AView. | |
| emits< glm::ivec2 > | mPositionChanged | 
| Position changed. | |
| glm::ivec2 | mSize = { 20, 20 } | 
| Size, including content area, border and padding. | |
| emits< glm::ivec2 > | mSizeChanged | 
| Size changed. | |
| AOptional< glm::ivec2 > | mCachedMinContentSize | 
| bool | mMarkedMinContentSizeInvalid = false | 
| bool | mRedrawRequested = false | 
| Redraw requested flag for this particular view/. | |
| glm::ivec2 | mMinSize = {0, 0} | 
| Minimal size. | |
| glm::ivec2 | mMaxSize = {0x7fffffff, 0x7fffffff} | 
| Maximal size. | |
| glm::ivec2 | mFixedSize = {0, 0} | 
| Fixed size. | |
| ABoxFields | mMargin | 
| Margin, which defines the spacing around this AView. Processed by the layout manager. | |
| ABoxFields | mPadding | 
| Padding, which defines the spacing around content area inside the view. Processed by AView implementation. | |
| AVector< AString > | mAssNames | 
| ASS class names. | |
| bool | mSkipUntilLayoutUpdate = true | 
| If set to true, AViewContainer is obligated ignore this view. This value is set to false by AView::setGeometry. | |
AExpandingSpacer is an expanding blank view which tries acquire space as much as possible.
See declarative::SpacerExpanding for a declarative form and examples.
See expanding in layout managers for more info.
| 
 | overridevirtual | 
| pos | mouse position | 
Used in AViewContainer::getViewAt method subset, thus affecting click event handling.
Reimplemented from AView.