Guest User

Untitled

a guest
Oct 16th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | None | 0 0
  1.   char D=0;
  2.   uint8_t w=xbm->width;
  3.   uint8_t h=xbm->height;
  4.   uint8_t x=xbm->x;
  5.   uint8_t y=xbm->y;
  6.   uint16_t spalte;
  7.   uint8_t buffer[16];
  8.   int c=0;
  9.  
  10.     for(uint16_t zeile=0 ; zeile < h ; zeile++)
  11.     {
  12.       glcd_goto(x, y + zeile);
  13.       for(spalte=0 ; spalte<(w/glcd_FONT_WIDTH) ; spalte++)
  14.       {
  15.           if(xbm->type==GLCD_GUI_TYPE_BUTTON)
  16.           {
  17.         switch(mode)
  18.         {
  19.           case FALSE:
  20.             D=pgm_read_byte(xbm->widget+(zeile*(w/glcd_FONT_WIDTH)+spalte));
  21.             buffer[spalte]=reverse(D);
  22.             break;
  23.           case TRUE:
  24.             if(xbm->draw_focus==FALSE)
  25.             {
  26.               D=pgm_read_byte(xbm->widget_focus+(zeile*(w/glcd_FONT_WIDTH)+spalte));
  27.               buffer[spalte]=reverse(D);
  28.             }
  29.             else if(xbm->draw_focus==TRUE)
  30.             {
  31.               D=pgm_read_byte(xbm->widget+(zeile*(w/glcd_FONT_WIDTH)+spalte));
  32.               buffer[spalte]=reverse(D);
  33.             }
  34.             break;
  35.         }
  36.           }
  37.           else if(xbm->type==GLCD_GUI_TYPE_LABEL)
  38.           {
  39.         D=pgm_read_byte(xbm->widget+(zeile*(w/glcd_FONT_WIDTH)+spalte));
  40.         buffer[spalte]=reverse(D);
  41.           }
  42. //      glcd_dput(buffer[spalte]);       
  43. //      glcd_cput(0xC0);
  44.       }
  45.       for(c=0;c<=15;c++)
  46.       {
  47.         glcd_dput(buffer[c]);
  48.         glcd_cput(0xC0);
  49.       }
  50.     }
Add Comment
Please, Sign In to add comment