AEmbedAuiWrap#
Helper for applications with custom window initialization.
Header: | #include <AUI/Platform/AEmbedAuiWrap.h> |
CMake: | aui_link(my_target PUBLIC aui::views) |
Detailed Description#
This class is abstract; use AGLEmbedAuiWrap or ASoftwareEmbedAuiWrap instead.
Public Types#
EmbedWindow#
class AEmbedAuiWrap::EmbedWindow
Empty structure.
Public Methods#
isUIConsumesMouseAt#
- Returns
- true if UI is opaque for mouse at specified position
onCharEntered#
Handle char entered in UI.
onPointerMove#
Handle mouse move in UI.
- Arguments
x
x positiony
y position
Examples#
examples/7guis/circle_drawer/src/main.cpp
7GUIs Circle Drawer - Undo, redo, dialog control.
circle.radius, 1);
}
}
void onPointerMove(glm::vec2 pos, const APointerMoveEvent& event) override {
AView::onPointerMove(pos, event);
mHoveredCircle = [&] {
Circle* result = nullptr;
float nearestDistanceToCursor = std::numeric_limits<float>::max();
for (auto& circle : mState->circles.raw) {
onPointerPressed#
void AEmbedAuiWrap::onPointerPressed(int x, int y, APointerIndex pointerIndex)
Handle mouse pressed in UI.
- Arguments
Examples#
examples/app/game_of_life/src/main.cpp
Game of Life - Game of Life implementation that uses advanced large dynamic data rendering techniques such as ITexture, AImage to be GPU friendly. The computation is performed in AThreadPool.
};
drawGrid();
}
void onPointerPressed(const APointerPressedEvent& event) override {
AView::onPointerPressed(event);
glm::ivec2 position = glm::ivec2(event.position / float(SCALE));
(*mCells)[position] = !(*mCells)[position];
updateTexture();
}
onPointerReleased#
void AEmbedAuiWrap::onPointerReleased(int x, int y, APointerIndex pointerIndex)
Handle mouse released in UI.
- Arguments
Examples#
examples/7guis/circle_drawer/src/main.cpp
7GUIs Circle Drawer - Undo, redo, dialog control.
};
}
public:
void onPointerReleased(const APointerReleasedEvent& event) override {
AView::onPointerReleased(event);
if (event.asButton != AInput::LBUTTON) {
return;
}
class ActionAddCircle : public IAction {
onScroll#
Handle onScroll in UI.
Examples#
examples/app/fractal/src/FractalView.cpp
Fractal Example - Fractal viewer application demonstrating usage of custom shaders.
mShader.use();
mShader.set(UNIFORM_ITERATIONS, int(it));
}
void FractalView::onScroll(const AScrollEvent& event) {
AView::onScroll(event);
auto projectedPos = (glm::dvec2(event.origin) / glm::dvec2(getSize()) - glm::dvec2(0.5)) * 2.0;
projectedPos.x *= mAspectRatio;
mTransform = glm::translate(mTransform, glm::vec3 { projectedPos, 0.0 });
mTransform = glm::scale(mTransform, glm::vec3(1.0 - event.delta.y / 1000.0));
examples/app/fractal/src/FractalView.h
Fractal Example - Fractal viewer application demonstrating usage of custom shaders.
void onKeyDown(AInput::Key key) override;
void onKeyRepeat(AInput::Key key) override;
void onScroll(const AScrollEvent& event) override;
void setSize(glm::ivec2 size) override;
gl::Program& getShader() { return mShader; }