11#ifndef TCLIBRARYDEV_GRAPHICSDEVICERENDERER_H
12#define TCLIBRARYDEV_GRAPHICSDEVICERENDERER_H
14#include <PlatformDetermination.h>
18#include "DeviceDrawable.h"
23#ifndef MINIMUM_CURSOR_SIZE
24#define MINIMUM_CURSOR_SIZE 6
35 class DrawableTextPlotPipeline :
public TextPlotPipeline {
40 explicit DrawableTextPlotPipeline(
DeviceDrawable *drawable) : drawable(drawable) {}
41 void drawPixel(uint16_t x, uint16_t y, uint32_t color)
override {
42 drawable->setDrawColor(color);
43 drawable->drawPixel(x, y);
45 void setCursor(
const Coord& where)
override { cursor = where; }
46 Coord getCursor()
override {
return cursor; }
47 Coord getDimensions()
override {
return drawable->getDisplayDimensions(); }
59 class GraphicsDeviceRenderer :
public BaseGraphicalRenderer {
65 bool redrawNeeded =
false;
67 GraphicsDeviceRenderer(
int bufferSize,
const char *appTitle,
DeviceDrawable *drawable);
99 void prepareDisplay(
bool monoPalette,
const void *itemFont,
int magItem,
const void *titleFont,
int magTitle,
bool needEditingIcons);
170 int calculateSpaceBetween(
const void* font, uint8_t mag,
const char* buffer,
int start,
int end);
Contains the base functionality for all graphical renderers.
LayoutMode
Definition BaseGraphicalRenderer.h:89
A few helper classes that provides useful functions on top of a tcMenu device drawable.
uint32_t color_t
Definition DrawingPrimitives.h:29
RenderDrawingCommand
Definition BaseGraphicalRenderer.h:147
Definition CardLayoutPanel.h:54
Definition GfxMenuConfig.h:479
Definition DeviceDrawableHelper.h:116
Definition DeviceDrawable.h:34
Definition DrawingPrimitives.h:152
Definition BaseGraphicalRenderer.h:37
void setCardLayoutStatusForSubMenu(MenuItem *root, bool onOrOff)
Definition GraphicsDeviceRenderer.cpp:504
void setDrawable(DeviceDrawable *drawable)
Definition GraphicsDeviceRenderer.cpp:518
void setGraphicsConfiguration(void *gfxConfig)
Definition GraphicsDeviceRenderer.cpp:433
void enableCardLayout(const DrawableIcon &left, const DrawableIcon &right, MenuTouchScreenManager *touchManager, bool monoDisplay)
Definition GraphicsDeviceRenderer.cpp:496
void subMenuRender(MenuItem *rootItem, uint8_t &locRedrawMode, bool &forceDrawWidgets) override
Definition GraphicsDeviceRenderer.cpp:459
void enableTcUnicode()
Definition GraphicsDeviceRenderer.h:126
int heightForFontPadding(const void *font, int mag, MenuPadding &padding)
Definition GraphicsDeviceRenderer.cpp:424
void fillWithBackgroundTo(int endPoint) override
Definition GraphicsDeviceRenderer.cpp:452
void drawWidget(Coord where, TitleWidget *widget, color_t colorFg, color_t colorBg) override
Definition GraphicsDeviceRenderer.cpp:51
void prepareDisplay(bool monoPalette, const void *itemFont, int magItem, const void *titleFont, int magTitle, bool needEditingIcons)
void drawMenuItem(GridPositionRowCacheEntry *entry, Coord where, Coord areaSize, const DrawingFlags &drawingFlags) override
Definition GraphicsDeviceRenderer.cpp:57
DeviceDrawable * getDeviceDrawable()
Definition GraphicsDeviceRenderer.h:120
ConfigurableItemDisplayPropertiesFactory & getGraphicsPropertiesFactory()
Definition GraphicsDeviceRenderer.h:112
void drawingCommand(RenderDrawingCommand command) override
Definition GraphicsDeviceRenderer.cpp:35
LayoutMode getLayoutMode(MenuItem *rootItem) override
Definition GraphicsDeviceRenderer.cpp:512
ItemDisplayPropertiesFactory & getDisplayPropertiesFactory() override
Definition GraphicsDeviceRenderer.h:106
Definition BaseGraphicalRenderer.h:60
Definition GfxMenuConfig.h:358
Definition DrawingPrimitives.h:123