Subversion Repositories Kolibri OS

Rev

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

  1. #define MEMSIZE 1024*160
  2.  
  3. #include "../lib/io.h"
  4. #include "../lib/gui.h"
  5. #include "../lib/copyf.h"
  6. #include "../lib/obj/libini.h"
  7. #include "../lib/patterns/restart_process.h"
  8.  
  9. char logo[] = "
  10. ████   ████ ██████████ ████   ████ ███████████
  11. ████   ██   ███         ███ ███   ██  ███  ██
  12. █████  ██   ███          █████    ██  ███  ██
  13. ██ ███ ██   ███████       ███         ███    
  14. ██  █████   ███          █████        ███    
  15. ██   ████   ███         ███ ███       ███    
  16. ████   ███  ██████████ ████   ████    █████  
  17. ";
  18.  
  19. char intro[] = "Попробуйте новое визуальное оформление Колибри, которое раньше было доступно только в KolibriNext.";
  20.  
  21. #define B_INSTALL 10
  22.  
  23. void main()
  24. {
  25.         word btn;
  26.         load_dll(libini, #lib_init,1);
  27.         loop() switch(WaitEventTimeout(300) & 0xFF)
  28.         {
  29.                 case evButton:
  30.                         btn = GetButtonID();              
  31.                         if (btn == 1) ExitProcess();
  32.                         if (btn == B_INSTALL) EventInstall();
  33.                         break;
  34.          
  35.                 case evKey:
  36.                         GetKeys();
  37.                         if (key_scancode == SCAN_CODE_ESC) ExitProcess();
  38.                         break;
  39.                  
  40.                 case evReDraw:
  41.                         draw_window();
  42.                         break;
  43.  
  44.                 default:
  45.                         DrawLogo();
  46.                         DrawLogo();
  47.         }
  48. }
  49.  
  50. #define WINW 400
  51. #define WINH 300
  52. void draw_window()
  53. {
  54.         system.color.get();
  55.         DefineAndDrawWindow(screen.width-WINW/2,screen.height-WINH/2,
  56.                 WINW+9,WINH+skin_height,0x34,system.color.work,"KolibriN10",0);
  57.  
  58.         DrawLogo();
  59.  
  60.         DrawTextViewArea(30, 140, WINW-60, WINH-80,
  61.                 #intro, -1, system.color.work_text);
  62.  
  63.         DrawCaptButton(WINW-110/2, WINH-70, 110, 28, B_INSTALL,
  64.                 0x0092D8, 0xFFFfff, "Установить");
  65. }
  66.  
  67. void DrawLogo()
  68. {
  69.         #define LX -46*6+WINW/2
  70.         #define LY 25
  71.         WriteTextLines(LX-1, LY, 0x80, 0x9F87B8, #logo, 9);
  72.         WriteTextLines(LX+3, LY, 0x80, 0x7ED1E3, #logo, 9);
  73.  
  74.         pause(1);
  75.  
  76.         WriteTextLines(LX+1, LY, 0x80, 0xEC008C, #logo, 9);
  77.         WriteTextLines(LX,   LY, 0x80, 0xEC008C, #logo, 9);
  78. }
  79.  
  80.  
  81.  
  82.  
  83. void EventInstall()
  84. {
  85.         //#include "..\lib\added_sysdir.c";
  86.         //SetAdditionalSystemDirectory("kolibrios", abspath("install/kolibrios")+1);
  87.         ini_set_int stdcall ("/sys/settings/taskbar.ini", "Flags", "Attachment", 0);
  88.         copyf("/kolibrios/KolibriNext/settings", "/sys/settings");
  89.  
  90.         RestartProcessByName("/sys/@icon", MULTIPLE);
  91.         RestartProcessByName("/sys/@taskbar", SINGLE);
  92.         RestartProcessByName("/sys/@docky", SINGLE);
  93.  
  94.         RunProgram("/sys/media/kiv", "\\S__/kolibrios/res/Wallpapers/Free yourself.jpg");
  95. }
  96.  
  97. void Operation_Draw_Progress(dword filename) { debug("copying: "); debugln(filename); }