AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
ARulerArea.h
    1/*
    2 * AUI Framework - Declarative UI toolkit for modern C++20
    3 * Copyright (C) 2020-2025 Alex2772 and Contributors
    4 *
    5 * SPDX-License-Identifier: MPL-2.0
    6 *
    7 * This Source Code Form is subject to the terms of the Mozilla Public
    8 * License, v. 2.0. If a copy of the MPL was not distributed with this
    9 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
   10 */
   11
   12#pragma once
   13
   14#include <AUI/View/AViewContainer.h>
   15#include "ARulerView.h"
   16
   23class API_AUI_VIEWS ARulerArea: public AViewContainerBase, public IFontView {
   24private:
   25    _<AView> mWrappedView;
   26    _<ARulerView> mHorizontalRuler;
   27    _<ARulerView> mVerticalRuler;
   28    glm::ivec2 mMousePos;
   29
   30    void setWrappedViewPosition(const glm::ivec2& pos);
   31
   32    glm::ivec2 getTargetPosition() const;
   33
   34protected:
   35    void updatePosition();
   36
   37public:
   38    ARulerArea(const _<AView>& wrappedView);
   39    void setSize(glm::ivec2 size) override;
   40    void onPointerMove(glm::vec2 pos, const APointerMoveEvent& event) override;
   41
   42    void invalidateFont() override;
   43
   44    void render(ARenderContext ctx) override;
   45};
   46
void onPointerMove(glm::vec2 pos, const APointerMoveEvent &event) override
Handles pointer hover events.
void render(ARenderContext ctx) override
Draws this AView. Noone should call this function except rendering routine.
auto size() const
Size, including content area, border and padding.
Definition AView.h:114
Interface of a AView that works with fonts (i.e., ALabel, ATextField, AText, etc.....
Definition IFontView.h:19
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:179
Pointing method move event.
Definition APointerMoveEvent.h:21
Render context passed to AView::render.
Definition ARenderContext.h:43