Subversion Repositories Kolibri OS

Rev

Rev 7654 | Blame | 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); }