|
AUI Framework
master
Cross-platform base for C++ UI apps
|
Public Member Functions# | |
| void | update () |
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. | |
| virtual bool | consumesClick (const glm::ivec2 &pos) |
| Determines whether this AView processes this click or passes it thru. | |
| 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. | |