Funções Solidtec

Committer:
marcusncunha
Date:
Tue Nov 06 16:28:00 2018 +0000
Revision:
1:392e0e10ccf7
Parent:
0:73f074c39876
11_06_2018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcusncunha 0:73f074c39876 1 #include "tela.h"
marcusncunha 0:73f074c39876 2
marcusncunha 0:73f074c39876 3 LCD_DISCO_F746NG _lcd;
marcusncunha 0:73f074c39876 4
marcusncunha 0:73f074c39876 5 void desenharImagem(const unsigned long *PICTURE, uint16_t largura, uint16_t altura,uint16_t posX, uint16_t posY){
marcusncunha 0:73f074c39876 6 int i;
marcusncunha 0:73f074c39876 7 int j;
marcusncunha 0:73f074c39876 8 int contadorImagem = 0;
marcusncunha 0:73f074c39876 9 for (i=0; i<altura; i++){
marcusncunha 0:73f074c39876 10 for (j=0; j<largura; j++){
marcusncunha 0:73f074c39876 11 _lcd.DrawPixel(j + posX,i + posY,PICTURE[contadorImagem]);
marcusncunha 0:73f074c39876 12 contadorImagem++;
marcusncunha 0:73f074c39876 13 }
marcusncunha 0:73f074c39876 14 }
marcusncunha 0:73f074c39876 15 }
marcusncunha 0:73f074c39876 16
marcusncunha 0:73f074c39876 17 void desenharImagemKey(const unsigned long *PICTURE, dadosImagem imagem, uint32_t corDeFundo,uint16_t posX, uint16_t posY){
marcusncunha 0:73f074c39876 18 int i;
marcusncunha 0:73f074c39876 19 int j;
marcusncunha 0:73f074c39876 20 int contadorKey = 0;
marcusncunha 0:73f074c39876 21 for (i=0; i<imagem.altura; i++){
marcusncunha 0:73f074c39876 22 for (j=0; j<imagem.largura; j++){
marcusncunha 0:73f074c39876 23 if (PICTURE[contadorKey] == imagem.corKey){
marcusncunha 0:73f074c39876 24 _lcd.DrawPixel(j + posX,i + posY,corDeFundo);
marcusncunha 0:73f074c39876 25 }
marcusncunha 0:73f074c39876 26 else
marcusncunha 0:73f074c39876 27 {
marcusncunha 0:73f074c39876 28 _lcd.DrawPixel(j + posX,i + posY,PICTURE[contadorKey]);
marcusncunha 0:73f074c39876 29 }
marcusncunha 0:73f074c39876 30 contadorKey++;
marcusncunha 0:73f074c39876 31 }
marcusncunha 0:73f074c39876 32 }
marcusncunha 0:73f074c39876 33 }
marcusncunha 0:73f074c39876 34
marcusncunha 0:73f074c39876 35 void desenhaBotaoComImagem (const unsigned long *PICTURE, dadosImagem imagem, uint32_t cor, botao *botaoObjeto){
marcusncunha 0:73f074c39876 36 int xDaImagem = botaoObjeto->retanguloObjeto.x + (botaoObjeto->retanguloObjeto.largura - imagem.largura) / 2;
marcusncunha 0:73f074c39876 37 int yDaImagem = botaoObjeto->retanguloObjeto.y + (botaoObjeto->retanguloObjeto.altura - imagem.altura) / 2;
marcusncunha 0:73f074c39876 38 _lcd.SetTextColor(cor);
marcusncunha 0:73f074c39876 39 _lcd.FillRect(botaoObjeto->retanguloObjeto.x, botaoObjeto->retanguloObjeto.y, botaoObjeto->retanguloObjeto.largura, botaoObjeto->retanguloObjeto.altura);
marcusncunha 0:73f074c39876 40 desenharImagemKey(PICTURE, imagem, cor, xDaImagem, yDaImagem);
marcusncunha 0:73f074c39876 41 }
marcusncunha 0:73f074c39876 42
marcusncunha 1:392e0e10ccf7 43 void desenhaBotao(uint32_t cor, botao *botaoObjeto){
marcusncunha 1:392e0e10ccf7 44 _lcd.SetTextColor(cor);
marcusncunha 1:392e0e10ccf7 45 _lcd.FillRect(botaoObjeto->retanguloObjeto.x, botaoObjeto->retanguloObjeto.y, botaoObjeto->retanguloObjeto.largura, botaoObjeto->retanguloObjeto.altura);
marcusncunha 1:392e0e10ccf7 46 }
marcusncunha 1:392e0e10ccf7 47
marcusncunha 0:73f074c39876 48 void desenhaCaixaMensagem(const unsigned long *PICTURE, dadosImagem imagem, uint32_t corDeBordaCaixa, uint32_t corDeFundoCaixa, dadosRetanguloBase *baseMensagem){
marcusncunha 0:73f074c39876 49 int xDaImagem = baseMensagem->x + (baseMensagem->largura - imagem.largura) / 2;
marcusncunha 0:73f074c39876 50 int yDaImagem = baseMensagem->y + (baseMensagem->altura - imagem.altura) / 2;
marcusncunha 0:73f074c39876 51 _lcd.SetTextColor(corDeFundoCaixa);
marcusncunha 0:73f074c39876 52 _lcd.FillRect(baseMensagem->x, baseMensagem->y, baseMensagem->largura, baseMensagem->altura);
marcusncunha 0:73f074c39876 53 desenharImagemKey(PICTURE, imagem, corDeFundoCaixa, xDaImagem, yDaImagem);
marcusncunha 0:73f074c39876 54 _lcd.SetTextColor(corDeBordaCaixa);
marcusncunha 0:73f074c39876 55 _lcd.DrawRect(baseMensagem->x, baseMensagem->y, baseMensagem->largura, baseMensagem->altura);
marcusncunha 0:73f074c39876 56 }
marcusncunha 0:73f074c39876 57
marcusncunha 0:73f074c39876 58 void iniciarBotaoArea(botao *botaoObjeto, TS_StateTypeDef *toqueTela){
marcusncunha 0:73f074c39876 59 bool isDentroBotaoX = 0;
marcusncunha 0:73f074c39876 60 bool isDentroBotaoY = 0;
marcusncunha 0:73f074c39876 61
marcusncunha 0:73f074c39876 62 uint16_t cliqueX = toqueTela->touchX[0];
marcusncunha 0:73f074c39876 63 uint16_t cliqueY = toqueTela->touchY[0];
marcusncunha 0:73f074c39876 64
marcusncunha 0:73f074c39876 65 //Testar se foi na área do botão em x e marca o flag
marcusncunha 0:73f074c39876 66 if((cliqueX > botaoObjeto->retanguloObjeto.x) && (cliqueX < ( botaoObjeto->retanguloObjeto.x + botaoObjeto->retanguloObjeto.largura))){
marcusncunha 0:73f074c39876 67 isDentroBotaoX = 1;
marcusncunha 0:73f074c39876 68 }
marcusncunha 0:73f074c39876 69
marcusncunha 0:73f074c39876 70 //Testar se foi na área do botão em y e marca o flag
marcusncunha 0:73f074c39876 71 if((cliqueY > botaoObjeto->retanguloObjeto.y) && (cliqueY < ( botaoObjeto->retanguloObjeto.y + botaoObjeto->retanguloObjeto.altura))){
marcusncunha 0:73f074c39876 72 isDentroBotaoY = 1;
marcusncunha 0:73f074c39876 73 }
marcusncunha 0:73f074c39876 74
marcusncunha 0:73f074c39876 75 //Testa se está dentro da área do botão XY
marcusncunha 0:73f074c39876 76 if(isDentroBotaoX && isDentroBotaoY){
marcusncunha 0:73f074c39876 77 //Se ele não estava pressionado
marcusncunha 0:73f074c39876 78 if(!(botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 79 botaoObjeto->depressTime.start();
marcusncunha 0:73f074c39876 80 botaoObjeto->isPressed = 1;
marcusncunha 0:73f074c39876 81 }
marcusncunha 0:73f074c39876 82 }else{
marcusncunha 0:73f074c39876 83 //Se ele estava pressionado
marcusncunha 0:73f074c39876 84 if((botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 85 botaoObjeto->depressTime.stop();
marcusncunha 0:73f074c39876 86 botaoObjeto->isPressed = 0;
marcusncunha 0:73f074c39876 87 if(botaoObjeto->depressTime.read() > TEMPO_PRESSIONADO_BOTAO){
marcusncunha 0:73f074c39876 88 botaoObjeto->updateFlag = 1;
marcusncunha 0:73f074c39876 89 }
marcusncunha 0:73f074c39876 90 }
marcusncunha 0:73f074c39876 91 }
marcusncunha 0:73f074c39876 92 }
marcusncunha 0:73f074c39876 93
marcusncunha 0:73f074c39876 94 void iniciarBotaoComImagem(const unsigned long *PICTURE, dadosImagem imagem, uint32_t corSemClick, uint32_t corComClick, botao *botaoObjeto, TS_StateTypeDef *toqueTela){
marcusncunha 0:73f074c39876 95 bool isDentroBotaoX = 0;
marcusncunha 0:73f074c39876 96 bool isDentroBotaoY = 0;
marcusncunha 0:73f074c39876 97
marcusncunha 0:73f074c39876 98 uint16_t cliqueX = toqueTela->touchX[0];
marcusncunha 0:73f074c39876 99 uint16_t cliqueY = toqueTela->touchY[0];
marcusncunha 0:73f074c39876 100
marcusncunha 0:73f074c39876 101 //Testar se foi na área do botão em x e marca o flag
marcusncunha 0:73f074c39876 102 if((cliqueX > botaoObjeto->retanguloObjeto.x) && (cliqueX < ( botaoObjeto->retanguloObjeto.x + botaoObjeto->retanguloObjeto.largura))){
marcusncunha 0:73f074c39876 103 isDentroBotaoX = 1;
marcusncunha 0:73f074c39876 104 }
marcusncunha 0:73f074c39876 105
marcusncunha 0:73f074c39876 106 //Testar se foi na área do botão em y e marca o flag
marcusncunha 0:73f074c39876 107 if((cliqueY > botaoObjeto->retanguloObjeto.y) && (cliqueY < ( botaoObjeto->retanguloObjeto.y + botaoObjeto->retanguloObjeto.altura))){
marcusncunha 0:73f074c39876 108 isDentroBotaoY = 1;
marcusncunha 0:73f074c39876 109 }
marcusncunha 0:73f074c39876 110
marcusncunha 0:73f074c39876 111 //Testa se está dentro da área do botão XY
marcusncunha 0:73f074c39876 112 if(isDentroBotaoX && isDentroBotaoY){
marcusncunha 0:73f074c39876 113 //Se ele não estava pressionado
marcusncunha 0:73f074c39876 114 if(!(botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 115 botaoObjeto->depressTime.start();
marcusncunha 0:73f074c39876 116 botaoObjeto->isPressed = 1;
marcusncunha 0:73f074c39876 117 desenhaBotaoComImagem (PICTURE, imagem, corComClick, botaoObjeto);
marcusncunha 0:73f074c39876 118 }
marcusncunha 0:73f074c39876 119 }else{
marcusncunha 0:73f074c39876 120 //Se ele estava pressionado
marcusncunha 0:73f074c39876 121 if((botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 122 botaoObjeto->depressTime.stop();
marcusncunha 0:73f074c39876 123 botaoObjeto->isPressed = 0;
marcusncunha 0:73f074c39876 124 if(botaoObjeto->depressTime.read() > TEMPO_PRESSIONADO_BOTAO){
marcusncunha 0:73f074c39876 125 botaoObjeto->updateFlag = 1;
marcusncunha 0:73f074c39876 126 }
marcusncunha 0:73f074c39876 127 desenhaBotaoComImagem (PICTURE, imagem, corSemClick, botaoObjeto);
marcusncunha 0:73f074c39876 128 }
marcusncunha 0:73f074c39876 129 }
marcusncunha 0:73f074c39876 130 }
marcusncunha 0:73f074c39876 131
marcusncunha 1:392e0e10ccf7 132 void desenhaBotaoComLabel(string label, int tamanhoFonte, uint32_t corSemClickLabel, uint32_t corSemClick, botao *botaoObjeto){
marcusncunha 1:392e0e10ccf7 133 int diferencaX = 0;
marcusncunha 1:392e0e10ccf7 134 int diferencaY = 0;
marcusncunha 1:392e0e10ccf7 135 switch(tamanhoFonte){
marcusncunha 1:392e0e10ccf7 136 case 16:
marcusncunha 1:392e0e10ccf7 137 _lcd.SetFont(&Font16);
marcusncunha 1:392e0e10ccf7 138 diferencaX = label.length() * 12;
marcusncunha 1:392e0e10ccf7 139 diferencaY = 15;
marcusncunha 1:392e0e10ccf7 140 break;
marcusncunha 1:392e0e10ccf7 141 case 20:
marcusncunha 1:392e0e10ccf7 142 _lcd.SetFont(&Font20);
marcusncunha 1:392e0e10ccf7 143 diferencaX = label.length() * 15;
marcusncunha 1:392e0e10ccf7 144 diferencaY = 20;
marcusncunha 1:392e0e10ccf7 145 break;
marcusncunha 1:392e0e10ccf7 146 case 24:
marcusncunha 1:392e0e10ccf7 147 _lcd.SetFont(&Font16);
marcusncunha 1:392e0e10ccf7 148 diferencaX = label.length() * 18;
marcusncunha 1:392e0e10ccf7 149 diferencaY = 25;
marcusncunha 1:392e0e10ccf7 150 break;
marcusncunha 1:392e0e10ccf7 151 default:
marcusncunha 1:392e0e10ccf7 152 _lcd.SetFont(&Font12);
marcusncunha 1:392e0e10ccf7 153 diferencaX = label.length() * 7;
marcusncunha 1:392e0e10ccf7 154 diferencaY = 10;
marcusncunha 1:392e0e10ccf7 155 break;
marcusncunha 1:392e0e10ccf7 156 }
marcusncunha 1:392e0e10ccf7 157 int xDoLabel = botaoObjeto->retanguloObjeto.x + (botaoObjeto->retanguloObjeto.largura - diferencaX) / 2;
marcusncunha 1:392e0e10ccf7 158 int yDoLabel = botaoObjeto->retanguloObjeto.y + (botaoObjeto->retanguloObjeto.altura - diferencaY) / 2;
marcusncunha 1:392e0e10ccf7 159
marcusncunha 1:392e0e10ccf7 160 desenhaBotao(corSemClick, botaoObjeto);
marcusncunha 1:392e0e10ccf7 161 _lcd.SetTextColor(corSemClickLabel);
marcusncunha 1:392e0e10ccf7 162 _lcd.SetBackColor(corSemClick);
marcusncunha 1:392e0e10ccf7 163 _lcd.DisplayStringAt(xDoLabel, yDoLabel, (uint8_t *)label.c_str(), LEFT_MODE);
marcusncunha 1:392e0e10ccf7 164 }
marcusncunha 1:392e0e10ccf7 165
marcusncunha 1:392e0e10ccf7 166 void iniciarBotaoComLabel(string label, int tamanhoFonte, uint32_t corSemClickLabel, uint32_t corComClickLabel, uint32_t corSemClick, uint32_t corComClick, botao *botaoObjeto, TS_StateTypeDef *toqueTela){
marcusncunha 1:392e0e10ccf7 167 bool isDentroBotaoX = 0;
marcusncunha 1:392e0e10ccf7 168 bool isDentroBotaoY = 0;
marcusncunha 1:392e0e10ccf7 169 int diferencaX = 0;
marcusncunha 1:392e0e10ccf7 170 int diferencaY = 0;
marcusncunha 1:392e0e10ccf7 171 switch(tamanhoFonte){
marcusncunha 1:392e0e10ccf7 172 case 16:
marcusncunha 1:392e0e10ccf7 173 _lcd.SetFont(&Font16);
marcusncunha 1:392e0e10ccf7 174 diferencaX = label.length() * 12;
marcusncunha 1:392e0e10ccf7 175 diferencaY = 15;
marcusncunha 1:392e0e10ccf7 176 break;
marcusncunha 1:392e0e10ccf7 177 case 20:
marcusncunha 1:392e0e10ccf7 178 _lcd.SetFont(&Font20);
marcusncunha 1:392e0e10ccf7 179 diferencaX = label.length() * 15;
marcusncunha 1:392e0e10ccf7 180 diferencaY = 20;
marcusncunha 1:392e0e10ccf7 181 break;
marcusncunha 1:392e0e10ccf7 182 case 24:
marcusncunha 1:392e0e10ccf7 183 _lcd.SetFont(&Font16);
marcusncunha 1:392e0e10ccf7 184 diferencaX = label.length() * 18;
marcusncunha 1:392e0e10ccf7 185 diferencaY = 25;
marcusncunha 1:392e0e10ccf7 186 break;
marcusncunha 1:392e0e10ccf7 187 default:
marcusncunha 1:392e0e10ccf7 188 _lcd.SetFont(&Font12);
marcusncunha 1:392e0e10ccf7 189 diferencaX = label.length() * 7;
marcusncunha 1:392e0e10ccf7 190 diferencaY = 10;
marcusncunha 1:392e0e10ccf7 191 break;
marcusncunha 1:392e0e10ccf7 192 }
marcusncunha 1:392e0e10ccf7 193 int xDoLabel = botaoObjeto->retanguloObjeto.x + (botaoObjeto->retanguloObjeto.largura - diferencaX) / 2;
marcusncunha 1:392e0e10ccf7 194 int yDoLabel = botaoObjeto->retanguloObjeto.y + (botaoObjeto->retanguloObjeto.altura - diferencaY) / 2;
marcusncunha 1:392e0e10ccf7 195 uint16_t cliqueX = toqueTela->touchX[0];
marcusncunha 1:392e0e10ccf7 196 uint16_t cliqueY = toqueTela->touchY[0];
marcusncunha 1:392e0e10ccf7 197
marcusncunha 1:392e0e10ccf7 198 //Testar se foi na área do botão em x e marca o flag
marcusncunha 1:392e0e10ccf7 199 if((cliqueX > botaoObjeto->retanguloObjeto.x) && (cliqueX < ( botaoObjeto->retanguloObjeto.x + botaoObjeto->retanguloObjeto.largura))){
marcusncunha 1:392e0e10ccf7 200 isDentroBotaoX = 1;
marcusncunha 1:392e0e10ccf7 201 }
marcusncunha 1:392e0e10ccf7 202
marcusncunha 1:392e0e10ccf7 203 //Testar se foi na área do botão em y e marca o flag
marcusncunha 1:392e0e10ccf7 204 if((cliqueY > botaoObjeto->retanguloObjeto.y) && (cliqueY < ( botaoObjeto->retanguloObjeto.y + botaoObjeto->retanguloObjeto.altura))){
marcusncunha 1:392e0e10ccf7 205 isDentroBotaoY = 1;
marcusncunha 1:392e0e10ccf7 206 }
marcusncunha 1:392e0e10ccf7 207
marcusncunha 1:392e0e10ccf7 208 //Testa se está dentro da área do botão XY
marcusncunha 1:392e0e10ccf7 209 if(isDentroBotaoX && isDentroBotaoY){
marcusncunha 1:392e0e10ccf7 210 //Se ele não estava pressionado
marcusncunha 1:392e0e10ccf7 211 if(!(botaoObjeto->isPressed)){
marcusncunha 1:392e0e10ccf7 212 botaoObjeto->depressTime.start();
marcusncunha 1:392e0e10ccf7 213 botaoObjeto->isPressed = 1;
marcusncunha 1:392e0e10ccf7 214 desenhaBotao(corComClick, botaoObjeto);
marcusncunha 1:392e0e10ccf7 215 _lcd.SetTextColor(corComClickLabel);
marcusncunha 1:392e0e10ccf7 216 _lcd.SetBackColor(corComClick);
marcusncunha 1:392e0e10ccf7 217 _lcd.DisplayStringAt(xDoLabel, yDoLabel, (uint8_t *)label.c_str(), LEFT_MODE);
marcusncunha 1:392e0e10ccf7 218 }
marcusncunha 1:392e0e10ccf7 219 }else{
marcusncunha 1:392e0e10ccf7 220 //Se ele estava pressionado
marcusncunha 1:392e0e10ccf7 221 if((botaoObjeto->isPressed)){
marcusncunha 1:392e0e10ccf7 222 botaoObjeto->depressTime.stop();
marcusncunha 1:392e0e10ccf7 223 botaoObjeto->isPressed = 0;
marcusncunha 1:392e0e10ccf7 224 if(botaoObjeto->depressTime.read() > TEMPO_PRESSIONADO_BOTAO){
marcusncunha 1:392e0e10ccf7 225 botaoObjeto->updateFlag = 1;
marcusncunha 1:392e0e10ccf7 226 }
marcusncunha 1:392e0e10ccf7 227 desenhaBotao(corSemClick, botaoObjeto);
marcusncunha 1:392e0e10ccf7 228 _lcd.SetTextColor(corSemClickLabel);
marcusncunha 1:392e0e10ccf7 229 _lcd.SetBackColor(corSemClick);
marcusncunha 1:392e0e10ccf7 230 _lcd.DisplayStringAt(xDoLabel, yDoLabel, (uint8_t *)label.c_str(), LEFT_MODE);
marcusncunha 1:392e0e10ccf7 231 }
marcusncunha 1:392e0e10ccf7 232 }
marcusncunha 1:392e0e10ccf7 233 }
marcusncunha 1:392e0e10ccf7 234
marcusncunha 0:73f074c39876 235 void iniciarBotaoComImagemClick(const unsigned long *PICTURE, const unsigned long *PICTURECLK, dadosImagem imagem, dadosImagem imagemClk,uint32_t corSemClick, uint32_t corComClick, botao *botaoObjeto, TS_StateTypeDef *toqueTela){
marcusncunha 0:73f074c39876 236 bool isDentroBotaoX = 0;
marcusncunha 0:73f074c39876 237 bool isDentroBotaoY = 0;
marcusncunha 0:73f074c39876 238
marcusncunha 0:73f074c39876 239 uint16_t cliqueX = toqueTela->touchX[0];
marcusncunha 0:73f074c39876 240 uint16_t cliqueY = toqueTela->touchY[0];
marcusncunha 0:73f074c39876 241
marcusncunha 0:73f074c39876 242 //Testar se foi na área do botão em x e marca o flag
marcusncunha 0:73f074c39876 243 if((cliqueX > botaoObjeto->retanguloObjeto.x) && (cliqueX < ( botaoObjeto->retanguloObjeto.x + botaoObjeto->retanguloObjeto.largura))){
marcusncunha 0:73f074c39876 244 isDentroBotaoX = 1;
marcusncunha 0:73f074c39876 245 }
marcusncunha 0:73f074c39876 246
marcusncunha 0:73f074c39876 247 //Testar se foi na área do botão em y e marca o flag
marcusncunha 0:73f074c39876 248 if((cliqueY > botaoObjeto->retanguloObjeto.y) && (cliqueY < ( botaoObjeto->retanguloObjeto.y + botaoObjeto->retanguloObjeto.altura))){
marcusncunha 0:73f074c39876 249 isDentroBotaoY = 1;
marcusncunha 0:73f074c39876 250 }
marcusncunha 0:73f074c39876 251
marcusncunha 0:73f074c39876 252 //Testa se está dentro da área do botão XY
marcusncunha 0:73f074c39876 253 if(isDentroBotaoX && isDentroBotaoY){
marcusncunha 0:73f074c39876 254 //Se ele não estava pressionado
marcusncunha 0:73f074c39876 255 if(!(botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 256 botaoObjeto->depressTime.start();
marcusncunha 0:73f074c39876 257 botaoObjeto->isPressed = 1;
marcusncunha 0:73f074c39876 258 desenhaBotaoComImagem (PICTURECLK, imagemClk, corComClick, botaoObjeto);
marcusncunha 0:73f074c39876 259 }
marcusncunha 0:73f074c39876 260 }else{
marcusncunha 0:73f074c39876 261 //Se ele estava pressionado
marcusncunha 0:73f074c39876 262 if((botaoObjeto->isPressed)){
marcusncunha 0:73f074c39876 263 botaoObjeto->depressTime.stop();
marcusncunha 0:73f074c39876 264 botaoObjeto->isPressed = 0;
marcusncunha 0:73f074c39876 265 if(botaoObjeto->depressTime.read() > TEMPO_PRESSIONADO_BOTAO){
marcusncunha 0:73f074c39876 266 botaoObjeto->updateFlag = 1;
marcusncunha 0:73f074c39876 267 }
marcusncunha 0:73f074c39876 268 desenhaBotaoComImagem (PICTURE, imagem, corSemClick, botaoObjeto);
marcusncunha 0:73f074c39876 269 }
marcusncunha 0:73f074c39876 270 }
marcusncunha 0:73f074c39876 271 }
marcusncunha 0:73f074c39876 272
marcusncunha 0:73f074c39876 273 void escreverInteiroTelaDireita(int variavel, int x, int y){
marcusncunha 0:73f074c39876 274 char txtTemporario[50];
marcusncunha 0:73f074c39876 275 sprintf(txtTemporario, "%d", variavel);
marcusncunha 0:73f074c39876 276 _lcd.DisplayStringAt(x, y, (uint8_t *)&txtTemporario, RIGHT_MODE);
marcusncunha 0:73f074c39876 277 }
marcusncunha 0:73f074c39876 278
marcusncunha 0:73f074c39876 279 void escreverInteiroTelaEsquerda(int variavel, int x, int y){
marcusncunha 0:73f074c39876 280 char txtTemporario[50];
marcusncunha 0:73f074c39876 281 sprintf(txtTemporario, "%d", variavel);
marcusncunha 0:73f074c39876 282 _lcd.DisplayStringAt(x, y, (uint8_t *)&txtTemporario, LEFT_MODE);
marcusncunha 0:73f074c39876 283 }
marcusncunha 0:73f074c39876 284
marcusncunha 0:73f074c39876 285 void escreverDoubleTelaDireita(double variavel, int x, int y){
marcusncunha 0:73f074c39876 286 char txtTemporario[50];
marcusncunha 0:73f074c39876 287 sprintf(txtTemporario, "%.2f", variavel);
marcusncunha 0:73f074c39876 288 _lcd.DisplayStringAt(x, y, (uint8_t *)&txtTemporario, RIGHT_MODE);
marcusncunha 0:73f074c39876 289 }
marcusncunha 0:73f074c39876 290
marcusncunha 0:73f074c39876 291 void escreverDoubleTelaEsquerda(double variavel, int x, int y){
marcusncunha 0:73f074c39876 292 char txtTemporario[50];
marcusncunha 0:73f074c39876 293 sprintf(txtTemporario, "%.2f", variavel);
marcusncunha 0:73f074c39876 294 _lcd.DisplayStringAt(x, y, (uint8_t *)&txtTemporario, LEFT_MODE);
marcusncunha 0:73f074c39876 295 }
marcusncunha 0:73f074c39876 296
marcusncunha 0:73f074c39876 297