// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "../Common.hpp"
namespace gui
{
class Item;
// Class holds GUI Items for 4 possible directions for navigating using keyboard.
class Navigation
{
protected:
Item *left = nullptr;
Item *up = nullptr;
Item *right = nullptr;
Item *down = nullptr;
public:
/// Sets pointer to the widget that should receive focus after receiving navigation event.
void setDirectionItem(NavigationDirection direction, Item *item);
/// Retrives item from specified durection
Item *getDirectionItem(const NavigationDirection direction) const;
/// Clears Item's pointer for specified direction.
void clearDirection(const NavigationDirection direction);
virtual ~Navigation();
};
} // namespace gui