Dependencies:   4DGL Rectangle mbed Screens

Committer:
projetremote
Date:
Tue May 03 13:36:16 2011 +0000
Revision:
0:55bfec6d748f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
projetremote 0:55bfec6d748f 1 #include "mbed.h"
projetremote 0:55bfec6d748f 2 #include "Screens.h"
projetremote 0:55bfec6d748f 3
projetremote 0:55bfec6d748f 4 Screens :: Screens(PinName Tx,PinName Rx,PinName rst){
projetremote 0:55bfec6d748f 5 ecran = new TFT_4DGL(p13,p14,p15);
projetremote 0:55bfec6d748f 6 ecran->baudrate(128000);
projetremote 0:55bfec6d748f 7 infos['baud']="128000";
projetremote 0:55bfec6d748f 8 }
projetremote 0:55bfec6d748f 9
projetremote 0:55bfec6d748f 10 Screens :: Screens(TFT_4DGL * p){
projetremote 0:55bfec6d748f 11 ecran = p;
projetremote 0:55bfec6d748f 12 ecran->baudrate(128000);
projetremote 0:55bfec6d748f 13 infos['baud']="128000";
projetremote 0:55bfec6d748f 14 }
projetremote 0:55bfec6d748f 15
projetremote 0:55bfec6d748f 16 void Screens :: background_color(int couleur){
projetremote 0:55bfec6d748f 17 ecran->background_color(couleur);
projetremote 0:55bfec6d748f 18 //_ecran.background_color(couleur);
projetremote 0:55bfec6d748f 19 }
projetremote 0:55bfec6d748f 20
projetremote 0:55bfec6d748f 21 void Screens :: rectangle(int x1, int y1 , int x2, int y2, int color) {
projetremote 0:55bfec6d748f 22 //On regarde ce qu'il y avait avant de mettre le rectangle
projetremote 0:55bfec6d748f 23 int z = 0;
projetremote 0:55bfec6d748f 24 int back[abs(x1-x2) * abs(y1-y2)];
projetremote 0:55bfec6d748f 25 for(int i = x1 ; i <= x2; i++){
projetremote 0:55bfec6d748f 26 for(int j = y1; j <=y2; j++){
projetremote 0:55bfec6d748f 27 back[z]= ecran->read_pixel(i, j);
projetremote 0:55bfec6d748f 28 z++;
projetremote 0:55bfec6d748f 29 }
projetremote 0:55bfec6d748f 30 }
projetremote 0:55bfec6d748f 31 ecran->rectangle(x1,y1,x2,y2,color);
projetremote 0:55bfec6d748f 32 Rectangle un_rectangle(x1,y1,x2,y2,color,back);
projetremote 0:55bfec6d748f 33 tab_rectangles[sizeof(tab_rectangles)/sizeof(un_rectangle)] = un_rectangle;
projetremote 0:55bfec6d748f 34 }
projetremote 0:55bfec6d748f 35
projetremote 0:55bfec6d748f 36 void Screens :: deplace(Rectangle lerectangle, int x, int y){
projetremote 0:55bfec6d748f 37 int x1 = lerectangle.getX1();
projetremote 0:55bfec6d748f 38 int x2 = lerectangle.getX2();
projetremote 0:55bfec6d748f 39 int y1 = lerectangle.getY1();
projetremote 0:55bfec6d748f 40 int y2 = lerectangle.getY2();
projetremote 0:55bfec6d748f 41 int * val_color = lerectangle.getBack();
projetremote 0:55bfec6d748f 42 int z = 0;
projetremote 0:55bfec6d748f 43 for(int i = x1 ; i <= x2; i++){
projetremote 0:55bfec6d748f 44 for(int j = y1; j <=y2; j++){
projetremote 0:55bfec6d748f 45 ecran->pixel(i,j,val_color[z]);
projetremote 0:55bfec6d748f 46 z++;
projetremote 0:55bfec6d748f 47 }
projetremote 0:55bfec6d748f 48 }
projetremote 0:55bfec6d748f 49 }
projetremote 0:55bfec6d748f 50
projetremote 0:55bfec6d748f 51 void Screens :: baudrate(int bauds){
projetremote 0:55bfec6d748f 52 ecran->baudrate(bauds);
projetremote 0:55bfec6d748f 53 infos['baud']=(char*)bauds;
projetremote 0:55bfec6d748f 54 }