Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Mensaje.h
- Committer:
- JuanManuelAmador
- Date:
- 2015-06-15
- Revision:
- 0:3d456b8ce449
File content as of revision 0:3d456b8ce449:
/** * @author Juan Manuel Amador Olivares (virtualmech) */ #ifndef MENSAJE_H #define MENSAJE_H #include "Seleccion.h" #include "doggy.h" #define SEMIHEIGHTFONT 5 // La mitad de la altura de un caracter #define MAXCARACTER 28 // 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 // 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 Mensaje : public Seleccion { public: Mensaje(char nextScreen[], char newAdvice[]); void setNextScreen(char nameScreen[NCARSCREEN]); virtual void initialize(DogMLCD* lcd); int addElement(char text[]); 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[MAXLINES][3]; // Guarda las posición y tamaños de cada elemento (0 = posx, 1 = posy, 2 = ancho) char nextScreenID[NCARSCREEN]; char advice[MAXCARACTER]; // Devuelve el ancho del elemento // Para ello lo recorre sumando los pixeles que ocupa cada caracter int widthElement(int element, DogMLCD* lcd); }; #endif