File FullScreenItemMenu.h¶
File List > external-docs > libDaisy > src > ui > FullScreenItemMenu.h
Go to the documentation of this file
Source Code¶
#pragma once
#include "AbstractMenu.h"
namespace daisy
{
class FullScreenItemMenu : public AbstractMenu
{
public:
void Init(const AbstractMenu::ItemConfig* items,
uint16_t numItems,
AbstractMenu::Orientation orientation
= AbstractMenu::Orientation::leftRightSelectUpDownModify,
bool allowEntering = true);
void SetOneBitGraphicsDisplayToDrawTo(uint16_t canvasId);
// inherited from UiPage
void Draw(const UiCanvasDescriptor& canvas) override;
private:
uint16_t canvasIdToDrawTo_ = UI::invalidCanvasId;
// Drawing routines
virtual int GetTopRowHeight(int displayHeight) const;
virtual void DrawTextItem(OneBitGraphicsDisplay& display,
bool isVertical,
uint16_t selectedItemIdx,
uint16_t numItems,
const char* itemText) const;
virtual void DrawCheckboxItem(OneBitGraphicsDisplay& display,
bool isVertical,
uint16_t selectedItemIdx,
uint16_t numItems,
const char* itemText,
const bool& isCheckboxTicked) const;
virtual void DrawValueItem(OneBitGraphicsDisplay& display,
bool isVertical,
uint16_t selectedItemIdx,
uint16_t numItems,
const char* itemText,
const MappedValue& value,
bool isEditing) const;
virtual void DrawOpenUiPageItem(OneBitGraphicsDisplay& display,
bool isVertical,
uint16_t selectedItemIdx,
uint16_t numItems,
const char* itemText) const;
virtual void DrawCloseMenuItem(OneBitGraphicsDisplay& display,
bool isVertical,
uint16_t selectedItemIdx,
uint16_t numItems,
const char* itemText) const;
virtual void DrawTopRow(OneBitGraphicsDisplay& display,
bool isVertical,
int currentIndex,
int numItemsTotal,
const char* text,
Rectangle rect,
bool isSelected) const;
virtual Rectangle DrawUDArrowsAndGetRemRect(OneBitGraphicsDisplay& display,
Rectangle topRowRect,
bool upAvailable,
bool downAvailable) const;
virtual Rectangle DrawLRArrowsAndGetRemRect(OneBitGraphicsDisplay& display,
Rectangle topRowRect,
bool leftAvailable,
bool rightAvailable) const;
virtual void DrawValueText(OneBitGraphicsDisplay& display,
bool isVertical,
const char* text,
Rectangle rect,
bool isBeingEdited) const;
virtual FontDef GetValueFont(const char* textToDraw,
const Rectangle& availableSpace) const;
virtual FontDef GetNameFont(const char* textToDraw,
const Rectangle& availableSpace) const;
};
} // namespace daisy