Subversion Repositories Kolibri OS

Rev

Rev 7780 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. void DrawTopPanelButton(dword _button_id, _x, _y, signed int _icon_n)
  3. {
  4.         #define TSZE 25
  5.         static libimg_image top_icons;
  6.         static dword semi_white=0, bg_col, bg_col_light, bg_col_dark, bg_dark;
  7.         if (!semi_white) {
  8.                 bg_col = system.color.work;
  9.                 if (GrayScaleImage(#bg_col,1,1)<65) bg_dark=true; else bg_dark=false;
  10.                 Libimg_LoadImage(#top_icons, "/sys/icons16.png");
  11.  
  12.                 semi_white = MixColors(system.color.work, 0xFFFfff, bg_dark*90 + 96);
  13.                 bg_col_dark = MixColors(system.color.work, system.color.work_graph, 90);
  14.                 bg_col_light = MixColors(semi_white, 0xFFFfff, bg_dark*90 + 10);
  15.  
  16.                 Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffFFFfff, semi_white);
  17.                 Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffCACBD6, MixColors(semi_white, 0, 220));
  18.         }
  19.  
  20.         DrawWideRectangle(_x+1, _y+1, TSZE, TSZE, 5, semi_white);
  21.         DrawOvalBorder(_x, _y, TSZE, TSZE, bg_col_light, bg_col_dark, semi_white, system.color.work);
  22.  
  23.         DefineHiddenButton(_x, _y, TSZE+1, TSZE+1, _button_id);
  24.         if (_icon_n==-1) {
  25.                 DrawBar(_x+6, _y+5, 16, 16, semi_white);
  26.         } else {
  27.                 img_draw stdcall(top_icons.image, _x+6, _y+5, 16, 16, 0, _icon_n*16);
  28.         }
  29. }