Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Menu.h
- Committer:
- JuanManuelAmador
- Date:
- 2015-07-14
- Revision:
- 2:e818c80e6d5c
- Parent:
- 0:3d456b8ce449
File content as of revision 2:e818c80e6d5c:
/** * @author Juan Manuel Amador Olivares (virtualmech) */ #ifndef MENU_H #define MENU_H #include "Seleccion.h" #include "doggy.h" #define SEMIHEIGHTFONT 5 // La mitad de la altura de un caracter #define MAXCARACTER 22 // Número máximo de caracteres de cada elemento #define HEIGHTCARACTER 11 // Anchura de un caracter de media #define MAXLINES 5 // Número máximo de filas (cada fila es un elemento) #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres #define OFFSETY 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior // EL menu es una lista de selección con los elementos equiespeciados, no centrados en la esquina superior izquierda // como en una lista de selección normal. Además el texto es de tamaño 11. class Menu : public Seleccion { public: virtual void initialize(DogMLCD* lcd); int addElement(char text[], char nameNextScreen[NCARSCREEN]); virtual void button1pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades virtual void button4pressed(DogMLCD* lcd); // Esta función se llama cuando el botón inferior es pulsado, definirla para añadir funcionalidades virtual void button5pressed(DogMLCD* lcd); // Esta función se llama cuando el botón central es pulsado, definirla para añadir funcionalidades private: char list[MAXLINES][MAXCARACTER]; // Lista con las opciones del menu. Pueden ser com máximo 5 con una longitud máxima de 24 caracteres int posElement[5][3]; // Guarda las posición y tamaños de cada elemento (0 = posx, 1 = posy, 2 = ancho) char nextScreenID[5][NCARSCREEN]; // Devuelve el ancho del elemento // Para ello lo recorre sumando los pixeles que ocupa cada caracter int widthElement(int element, DogMLCD* lcd); }; #endif