Swadge ESP32-S2
APIs to develop for the Magfest Swadge
Loading...
Searching...
No Matches
menuZorldoRenderer.h
Go to the documentation of this file.
1
26
27#pragma once
28
29#include "hdw-led.h"
30#include "menu.h"
31#include "fs_wsg.h"
32#include "fs_font.h"
33#include "vector2d.h"
34#include "wsgPalette.h"
35
36typedef struct
37{
38 float x;
39 int16_t y;
40 float speed;
44
85
88void drawMenuZorldoBody(uint16_t topLeftX, uint16_t topLeftY, menuZorldoRenderer_t* renderer, int64_t elapsedUs);
89void drawMenuZorldo(menu_t* menu, menuZorldoRenderer_t* renderer, int64_t elapsedUs);
90void setZorldoLedsOn(menuZorldoRenderer_t* renderer, bool ledsOn);
91void setDrawMenuZorldoBody(menuZorldoRenderer_t* renderer, bool drawBody);
92void setMenuZorldoBodyHeight(menuZorldoRenderer_t* renderer, int16_t height);
A font is a collection of font_ch_t for all ASCII characters. Each character has the same height and ...
Definition font.h:66
LED colors, with red, green, and blue components.
Definition hdw-led.h:63
struct node node_t
A node in a doubly linked list with pointers to the previous and next values (which may be NULL),...
menuZorldoCloud_t clouds[4]
Clouds to drift behind the menu.
Definition menuZorldoRenderer.h:73
void drawMenuZorldo(menu_t *menu, menuZorldoRenderer_t *renderer, int64_t elapsedUs)
Draw a themed menu to the display and control the LEDs.
Definition menuZorldoRenderer.c:420
led_t leds[CONFIG_NUM_LEDS]
An array with the RGB LED state to be output.
Definition menuZorldoRenderer.h:79
void setDrawMenuZorldoBody(menuZorldoRenderer_t *renderer, bool drawBody)
Set whether or not to draw the menu background.
Definition menuZorldoRenderer.c:191
bool menuFontAllocated
Definition menuZorldoRenderer.h:65
bool drawBody
true to draw the body background, false to skip it
Definition menuZorldoRenderer.h:82
void deinitMenuZorldoRenderer(menuZorldoRenderer_t *renderer)
Deinitialize a menu renderer and free associated memory. This will not free the font passed into init...
Definition menuZorldoRenderer.c:154
bool titleFontAllocated
Definition menuZorldoRenderer.h:63
float tomiYTarget
Y position Tomi is moving towards. Will match the selected menu item.
Definition menuZorldoRenderer.h:75
float tomiXDegrees
Sine degrees for Tomi's x offset.
Definition menuZorldoRenderer.h:76
wsg_t corner
The corner cap for the border.
Definition menuZorldoRenderer.h:50
wsg_t arrowSubmenu
A double right arrow (enter submenu). Mirror it for...you know.
Definition menuZorldoRenderer.h:57
void setMenuZorldoBodyHeight(menuZorldoRenderer_t *renderer, int16_t height)
Set the height of the body between top and bottom decorated parts If the given height is negative,...
Definition menuZorldoRenderer.c:203
wsg_t battery
Battery container.
Definition menuZorldoRenderer.h:52
void drawMenuZorldoBody(uint16_t topLeftX, uint16_t topLeftY, menuZorldoRenderer_t *renderer, int64_t elapsedUs)
Draw the menu body background.
Definition menuZorldoRenderer.c:341
uint16_t bodyHeight
the height of the middle portion of the body, between top and bottom decorated parts
Definition menuZorldoRenderer.h:83
float tomiYPos
Tomi's Y position.
Definition menuZorldoRenderer.h:74
float speed
Speed in px/us.
Definition menuZorldoRenderer.h:40
bool mirrored
Definition menuZorldoRenderer.h:42
int32_t shadowMarqueeTimer
The timer for marquee-ing the selected item text, if too long to fit.
Definition menuZorldoRenderer.h:69
wsg_t arrowRight
A single right arrow (next option). Mirror it for left.
Definition menuZorldoRenderer.h:56
wsg_t tomi
Hey! Listen!
Definition menuZorldoRenderer.h:53
node_t * currentItem
The currently selected menu item, resets selectedMarqueeTimer when changed.
Definition menuZorldoRenderer.h:71
wsg_t arrowPageUp
A single up arrow (previous page). Mirror it for down.
Definition menuZorldoRenderer.h:55
wsg_t wsg
Definition menuZorldoRenderer.h:41
bool ledsOn
true if LEDs should be set by this renderer, false to leave LEDs alone
Definition menuZorldoRenderer.h:80
int32_t selectedMarqueeTimer
The timer for marquee-ing the selected item text, if too long to fit.
Definition menuZorldoRenderer.h:68
int32_t pageArrowTimer
The timer for blinking page up/down arrows.
Definition menuZorldoRenderer.h:70
float tomiYDegrees
Sine degrees for Tomi's y offset.
Definition menuZorldoRenderer.h:77
float x
Definition menuZorldoRenderer.h:38
paletteColor_t textOutlineColor
The color to outline text with.
Definition menuZorldoRenderer.h:60
wsg_t ewi
Ewi Of Time.
Definition menuZorldoRenderer.h:51
menuZorldoRenderer_t * initMenuZorldoRenderer(font_t *titleFont, font_t *menuFont)
Initialize a and return a menu renderer.
Definition menuZorldoRenderer.c:81
font_t * titleFont
The font to render the title with.
Definition menuZorldoRenderer.h:61
font_t * menuFont
The font to render the menu with.
Definition menuZorldoRenderer.h:62
paletteColor_t textFillColor
The color to fill text with.
Definition menuZorldoRenderer.h:59
void setZorldoLedsOn(menuZorldoRenderer_t *renderer, bool ledsOn)
Set the renderer's LEDs to be on or off.
Definition menuZorldoRenderer.c:613
int16_t y
Definition menuZorldoRenderer.h:39
Definition menuZorldoRenderer.h:37
A struct containing all the state data to render a Zorldo-style menu and LEDs.
Definition menuZorldoRenderer.h:49
struct _menu_t menu_t
The underlying data for a menu. This fundamentally is a list of menuItem_t.
Definition menu.h:153
paletteColor_t
All 216 possible colors, named like cRGB.
Definition palette.h:23
Provides palette swap functionality for Swadge.
A sprite using paletteColor_t colors that can be drawn to the display.
Definition wsg.h:57