Versión de Firmware con funciones de RAM incorporadas.
Dependencies: mbed
Fork of VmRecorderV1dot1 by
ScreenManager/Menu.h@2:e818c80e6d5c, 2015-07-14 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Tue Jul 14 08:34:11 2015 +0000
- Revision:
- 2:e818c80e6d5c
- Parent:
- 0:3d456b8ce449
Funciones de memoria RAM introducidas.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JuanManuelAmador | 0:3d456b8ce449 | 1 | /** |
JuanManuelAmador | 0:3d456b8ce449 | 2 | * @author Juan Manuel Amador Olivares (virtualmech) |
JuanManuelAmador | 0:3d456b8ce449 | 3 | */ |
JuanManuelAmador | 0:3d456b8ce449 | 4 | #ifndef MENU_H |
JuanManuelAmador | 0:3d456b8ce449 | 5 | #define MENU_H |
JuanManuelAmador | 0:3d456b8ce449 | 6 | |
JuanManuelAmador | 0:3d456b8ce449 | 7 | #include "Seleccion.h" |
JuanManuelAmador | 0:3d456b8ce449 | 8 | #include "doggy.h" |
JuanManuelAmador | 0:3d456b8ce449 | 9 | |
JuanManuelAmador | 0:3d456b8ce449 | 10 | |
JuanManuelAmador | 0:3d456b8ce449 | 11 | #define SEMIHEIGHTFONT 5 // La mitad de la altura de un caracter |
JuanManuelAmador | 0:3d456b8ce449 | 12 | #define MAXCARACTER 22 // Número máximo de caracteres de cada elemento |
JuanManuelAmador | 0:3d456b8ce449 | 13 | #define HEIGHTCARACTER 11 // Anchura de un caracter de media |
JuanManuelAmador | 0:3d456b8ce449 | 14 | #define MAXLINES 5 // Número máximo de filas (cada fila es un elemento) |
JuanManuelAmador | 0:3d456b8ce449 | 15 | #define OFFSETX 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres |
JuanManuelAmador | 0:3d456b8ce449 | 16 | #define OFFSETY 4 // Espacio en pixeles que se deja antes de escribir una linea de caracteres en la parte superior |
JuanManuelAmador | 0:3d456b8ce449 | 17 | |
JuanManuelAmador | 0:3d456b8ce449 | 18 | // EL menu es una lista de selección con los elementos equiespeciados, no centrados en la esquina superior izquierda |
JuanManuelAmador | 0:3d456b8ce449 | 19 | // como en una lista de selección normal. Además el texto es de tamaño 11. |
JuanManuelAmador | 0:3d456b8ce449 | 20 | class Menu : public Seleccion { |
JuanManuelAmador | 0:3d456b8ce449 | 21 | public: |
JuanManuelAmador | 0:3d456b8ce449 | 22 | virtual void initialize(DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 23 | int addElement(char text[], char nameNextScreen[NCARSCREEN]); |
JuanManuelAmador | 0:3d456b8ce449 | 24 | |
JuanManuelAmador | 0:3d456b8ce449 | 25 | virtual void button1pressed(DogMLCD* lcd); // Esta función se llama cuando el botón superior es pulsado, definirla para añadir funcionalidades |
JuanManuelAmador | 0:3d456b8ce449 | 26 | virtual void button4pressed(DogMLCD* lcd); // Esta función se llama cuando el botón inferior es pulsado, definirla para añadir funcionalidades |
JuanManuelAmador | 0:3d456b8ce449 | 27 | virtual void button5pressed(DogMLCD* lcd); // Esta función se llama cuando el botón central es pulsado, definirla para añadir funcionalidades |
JuanManuelAmador | 0:3d456b8ce449 | 28 | |
JuanManuelAmador | 0:3d456b8ce449 | 29 | private: |
JuanManuelAmador | 0:3d456b8ce449 | 30 | char list[MAXLINES][MAXCARACTER]; // Lista con las opciones del menu. Pueden ser com máximo 5 con una longitud máxima de 24 caracteres |
JuanManuelAmador | 0:3d456b8ce449 | 31 | int posElement[5][3]; // Guarda las posición y tamaños de cada elemento (0 = posx, 1 = posy, 2 = ancho) |
JuanManuelAmador | 0:3d456b8ce449 | 32 | char nextScreenID[5][NCARSCREEN]; |
JuanManuelAmador | 0:3d456b8ce449 | 33 | |
JuanManuelAmador | 0:3d456b8ce449 | 34 | // Devuelve el ancho del elemento |
JuanManuelAmador | 0:3d456b8ce449 | 35 | // Para ello lo recorre sumando los pixeles que ocupa cada caracter |
JuanManuelAmador | 0:3d456b8ce449 | 36 | int widthElement(int element, DogMLCD* lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 37 | }; |
JuanManuelAmador | 0:3d456b8ce449 | 38 | |
JuanManuelAmador | 0:3d456b8ce449 | 39 | #endif |