Readded SDL safe area calculations to GUI
This commit is contained in:
parent
6312fc264e
commit
3061c604c5
7 changed files with 35 additions and 10 deletions
|
|
@ -72,14 +72,14 @@ void GUIManager::clip_rect_transform(SkCanvas* canvas, std::vector<SCollision::A
|
|||
calculate_new_clip_rect(clipRectStack, clipRect, clipNoDraw);
|
||||
if(clipRect.has_value()) {
|
||||
SCollision::AABB<float> c = clipRect.value();
|
||||
c.min += io.windowPos * io.guiScaleMultiplier;
|
||||
c.max += io.windowPos * io.guiScaleMultiplier;
|
||||
c.min *= io.guiScaleMultiplier;
|
||||
c.max *= io.guiScaleMultiplier;
|
||||
c.min += io.windowPos;
|
||||
c.max += io.windowPos;
|
||||
canvas->clipIRect(c.get_sk_irect());
|
||||
}
|
||||
canvas->scale(io.guiScaleMultiplier, io.guiScaleMultiplier);
|
||||
canvas->translate(io.windowPos.x(), io.windowPos.y());
|
||||
canvas->scale(io.guiScaleMultiplier, io.guiScaleMultiplier);
|
||||
}
|
||||
|
||||
void GUIManager::draw(SkCanvas* c, bool skiaAA) {
|
||||
|
|
@ -286,8 +286,8 @@ void GUIManager::draw(SkCanvas* c, bool skiaAA) {
|
|||
|
||||
void GUIManager::draw_force(SkCanvas* canvas, bool skiaAA) {
|
||||
canvas->save();
|
||||
canvas->scale(io.guiScaleMultiplier, io.guiScaleMultiplier);
|
||||
canvas->translate(io.windowPos.x(), io.windowPos.y());
|
||||
canvas->scale(io.guiScaleMultiplier, io.guiScaleMultiplier);
|
||||
|
||||
for(size_t i = 0; i < static_cast<size_t>(renderCommands.length); i++) {
|
||||
Clay_RenderCommand* command = Clay_RenderCommandArray_Get(&renderCommands, i);
|
||||
|
|
@ -692,16 +692,19 @@ void GUIManager::input_key_callback(const InputManager::KeyCallbackArgs& key) {
|
|||
}
|
||||
|
||||
void GUIManager::input_mouse_button_callback(InputManager::MouseButtonCallbackArgs button) {
|
||||
button.pos -= io.windowPos;
|
||||
button.pos /= io.guiScaleMultiplier;
|
||||
mouse_callback(button.pos, [&button] (ElementContainer* e) { e->elem->input_mouse_button_callback(button); });
|
||||
}
|
||||
|
||||
void GUIManager::input_mouse_motion_callback(InputManager::MouseMotionCallbackArgs motion) {
|
||||
motion.pos -= io.windowPos;
|
||||
motion.pos /= io.guiScaleMultiplier;
|
||||
mouse_callback(motion.pos, [&motion] (ElementContainer* e) { e->elem->input_mouse_motion_callback(motion); });
|
||||
}
|
||||
|
||||
void GUIManager::input_mouse_wheel_callback(InputManager::MouseWheelCallbackArgs wheel) {
|
||||
wheel.mousePos -= io.windowPos;
|
||||
wheel.mousePos /= io.guiScaleMultiplier;
|
||||
mouse_callback(wheel.mousePos, [&wheel] (ElementContainer* e) { e->elem->input_mouse_wheel_callback(wheel); });
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue