// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md /* * Window.cpp * * Created on: 6 mar 2019 * Author: robert */ #include // gui #include "../Common.hpp" #include "../core/BoundingBox.hpp" #include "../core/DrawCommand.hpp" #include "Window.hpp" #include namespace gui { Window::Window(std::string name) : Item(), name{name} {} void Window::onBeforeShow(ShowMode mode, SwitchData *data) {} void Window::onClose(CloseReason reason) {} void Window::getRefreshArea(uint16_t &x, uint16_t &y, uint16_t &w, uint16_t &h) { x = widgetArea.x; y = widgetArea.y; w = widgetArea.w; h = widgetArea.h; } bool Window::handleSwitchData(SwitchData *data) { return false; } void Window::buildDrawListImplementation(std::list &commands) { auto clearCommand = std::make_unique(); commands.emplace_back(std::move(clearCommand)); } bool Window::onInput(const InputEvent &inputEvent) { if (focusItem != nullptr && focusItem->onInput(inputEvent)) { return true; } if (inputCallback != nullptr && inputCallback(*this, inputEvent)) { return true; } if (handleNavigation(inputEvent)) { return true; } return inputEvent.isShortRelease(gui::KeyCode::KEY_ENTER) && onActivated(nullptr); } void Window::accept(GuiVisitor &visitor) { visitor.visit(*this); } } /* namespace gui */