From 034b012586fa90c8f7480e0b93cc8d621749ddb0 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Fri, 1 Jan 2016 16:35:53 +0000 Subject: [PATCH] cmm: remove stand-alone downloader app, add lib/patterns/rgb.h git-svn-id: svn://kolibrios.org@6020 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/downloader/Downloader.c | 242 ------------------------- programs/cmm/downloader/Tupfile.lua | 6 - programs/cmm/downloader/compile_en.bat | 9 - programs/cmm/lib/patterns/rgb.h | 22 +++ 4 files changed, 22 insertions(+), 257 deletions(-) delete mode 100644 programs/cmm/downloader/Downloader.c delete mode 100644 programs/cmm/downloader/Tupfile.lua delete mode 100644 programs/cmm/downloader/compile_en.bat create mode 100644 programs/cmm/lib/patterns/rgb.h diff --git a/programs/cmm/downloader/Downloader.c b/programs/cmm/downloader/Downloader.c deleted file mode 100644 index 8c38252bea..0000000000 --- a/programs/cmm/downloader/Downloader.c +++ /dev/null @@ -1,242 +0,0 @@ -#define MEMSIZE 0x100000 -//libraries -#include "..\lib\kolibri.h" -#include "..\lib\strings.h" -#include "..\lib\gui.h" -#include "..\lib\draw_buf.h" -#include "..\lib\file_system.h" -#include "..\lib\mem.h" -#include "..\lib\dll.h" -#include "..\lib\list_box.h" -//*.obj libraries -#include "..\lib\obj\box_lib.h" -#include "..\lib\obj\libio_lib.h" -#include "..\lib\obj\http.h" - -char header[]="New Downloader v0.6"; - -#ifdef LANG_RUS - char accept_language[]= "Accept-Language: ru\n"; -#else - char accept_language[]= "Accept-Language: en\n"; -#endif - -proc_info Form; -#define WIN_W 400 -#define WIN_H 220 - -#define URL param - -int mouse_twb; -edit_box address_box= {250,20,20,0xffffff,0x94AECE,0xffffff,0xffffff,0,sizeof(URL),#URL,#mouse_twb,2,19,19}; - -dword speed[2000]; -dword speed_position; -dword bufpointer; -dword bufsize; - -dword http_transfer = 0; -dword http_buffer; - -DrawBufer diagram; - -void main() -{ - int key, btn; - - char filepath[4096]; - char notify_message[4296]; - - load_dll(boxlib, #box_lib_init,0); - load_dll(libio, #libio_init,1); - load_dll(libHTTP, #http_lib_init,1); - if (!URL) strcpy(#URL, "http://builds.kolibrios.org/eng/latest-iso.7z"); - address_box.size = address_box.pos = strlen(#URL); - - SetEventMask(0x27); //a7 - loop() - { - WaitEventTimeout(40); - switch(EAX & 0xFF) - { - CASE evMouse: - if (!CheckActiveProcess(Form.ID)) break; - if (http_transfer <= 0) edit_box_mouse stdcall (#address_box); - break; - - case evButton: - btn=GetButtonID(); - if (btn==1) ExitProcess(); - Scan(btn); - break; - - case evKey: - key = GetKey(); - if (address_box.flags & 0b10) - { - EAX=key<<8; - edit_box_key stdcall(#address_box); - } - if (key==13) Scan(301); - break; - - case evReDraw: - system.color.get(); - DefineAndDrawWindow(215,100,WIN_W,WIN_H,0x73,system.color.work,#header,0); - GetProcessInfo(#Form, SelfInfo); - if (Form.status_window>2) break; - if (Form.height<120) MoveSize(OLD,OLD,OLD,120); - if (Form.width<280) MoveSize(OLD,OLD,280,OLD); - diagram.Init(20, 87, Form.cwidth - 40, Form.cheight - 87 - 28); - Draw_Window(); - break; - - default: - if (Form.width==0) break; - if (http_transfer <= 0) break; - http_receive stdcall (http_transfer); - if (EAX == 0) { - ESI = http_transfer; - bufpointer = ESI.http_msg.content_ptr; - bufsize = ESI.http_msg.content_received; - http_free stdcall (http_transfer); - http_transfer=0; - strcpy(#filepath, "/tmp0/1/"); - strcat(#filepath, #URL+strrchr(#URL, '/')); - if (!WriteFile(bufsize, bufpointer, #filepath)) - { - strcpy(#notify_message, "File saved as "); - } - else - { - strcpy(#notify_message, "Error! Can't save file as "); - } - strcat(#notify_message, #filepath); - notify(#notify_message); - address_box.color = address_box.blur_border_color = address_box.focus_border_color = 0xFFFfff; - Draw_Window(); - } - ESI = http_transfer; - speed[speed_position] = ESI.http_msg.content_received; - DrawSpeed(); - speed_position++; - } - } -} - -void DrawSpeed() -{ - int i; - int speed_in_position, speed_string; - int max_speed, start_from; - char bytes_received[70]; - - diagram.Fill(0xFCF8F7); - max_speed = speed[speed_position]; - if (speed_position < diagram.bufw) start_from = 0; else start_from = speed_position - diagram.bufw + 1; - if (speed_position>0) for (i = 0; i <= speed_position-start_from; i++) - { - if (max_speed>0) - { - speed_in_position = diagram.bufh - 1 * speed[i+start_from] / max_speed; - diagram.DrawBar(i, diagram.bufh - speed_in_position, 1, speed_in_position, 0x00A3CB); - } - } - diagram.Show(); - if (speed_position==0) return; - if (http_transfer > 0) - { - strcpy(#bytes_received, "Downloading... "); - } - else - { - strcpy(#bytes_received, "Downloading competle. "); - } - speed_string = ConvertSize(speed[speed_position-1]); - strcat(#bytes_received, speed_string); - strcat(#bytes_received, " received."); - DrawBar(diagram.bufx, diagram.bufy + diagram.bufh + 10, diagram.bufw, 9, system.color.work); - WriteText(diagram.bufx, diagram.bufy + diagram.bufh + 10, 0x80, system.color.work_text, #bytes_received); -} - -void Draw_Window() -{ - DrawBar(0,0,Form.cwidth,Form.cheight,system.color.work); //bg - if (http_transfer <= 0) - { - DrawCaptButton(diagram.bufx, 50, 120, 20, 301, system.color.work_button, system.color.work_button_text, "Start downloading"); - } - else - { - DrawCaptButton(diagram.bufx, 50, 120, 20, 302, system.color.work_button, system.color.work_button_text, "Stop downloading"); - } - if (http_transfer <= 0) && (speed_position>0) - { - DrawCaptButton(diagram.bufx+130, 50, 120, 20, 305, system.color.work_button, system.color.work_button_text, "Show in folder"); - } - WriteText(diagram.bufx, address_box.top + 4, 0x80, system.color.work_text, "URL:"); - address_box.left = strlen("URL:")*6 + 10 + diagram.bufx; - address_box.width = Form.cwidth - address_box.left - diagram.bufx - 3; - address_box.offset=0; - edit_box_draw stdcall(#address_box); - DrawRectangle(address_box.left-1, address_box.top-1, address_box.width+2, 16,address_box.color); - DrawRectangle(address_box.left-2, address_box.top-2, address_box.width+4, 18,system.color.work_graph); - - DrawRectangle(diagram.bufx-2, diagram.bufy-2, diagram.bufw+2, diagram.bufh+2, system.color.work_graph); - DrawSpeed(); -} - -void Scan(int id) -{ - if (id==301) && (http_transfer <= 0) StartDownloading(); - if (id==302) StopDownloading(); - if (id==305) RunProgram("/sys/File managers/Eolite", "/tmp0/1/"); -} - - -void StopDownloading() -{ - if (http_transfer<>0) - { - EAX = http_transfer; - EAX = EAX.http_msg.content_ptr; // get pointer to data - $push EAX // save it on the stack - http_free stdcall (http_transfer); // abort connection - $pop EAX - mem_Free(EAX); // free data - http_transfer=0; - bufsize = 0; - bufpointer = mem_Free(bufpointer); - } - address_box.color = address_box.blur_border_color = address_box.focus_border_color = 0xFFFfff; - speed_position = 0; - Draw_Window(); -} - -void StartDownloading() -{ - StopDownloading(); - speed_position = 0; - if (strncmp(#URL,"http:",5)==0) - { - address_box.color = address_box.blur_border_color = address_box.focus_border_color = 0xededed; - http_get stdcall (#URL, 0, 0, #accept_language); - http_transfer = EAX; - Draw_Window(); - if (http_transfer == 0) - { - StopDownloading(); - bufsize = 0; - bufpointer = mem_Free(bufpointer); - return; - } - } - else - { - notify("File adress should starts from http://"); - } -} - - - -stop: diff --git a/programs/cmm/downloader/Tupfile.lua b/programs/cmm/downloader/Tupfile.lua deleted file mode 100644 index 59b07470e7..0000000000 --- a/programs/cmm/downloader/Tupfile.lua +++ /dev/null @@ -1,6 +0,0 @@ -if tup.getconfig("NO_CMM") ~= "" then return end -if tup.getconfig("LANG") == "ru" -then C_LANG = "LANG_RUS" -else C_LANG = "LANG_ENG" -- this includes default case without config -end -tup.rule("Downloader.c", "c-- /D=AUTOBUILD /D=$(C_LANG) %f" .. tup.getconfig("KPACK_CMD"), "Downloader.com") diff --git a/programs/cmm/downloader/compile_en.bat b/programs/cmm/downloader/compile_en.bat deleted file mode 100644 index cbc1ee01dd..0000000000 --- a/programs/cmm/downloader/compile_en.bat +++ /dev/null @@ -1,9 +0,0 @@ -@del lang.h-- -@echo #define LANG_ENG 1 >lang.h-- - -c-- Downloader.c -@del Downloader -@rename Downloader.com Downloader -@del warning.txt -@del lang.h-- -@pause \ No newline at end of file diff --git a/programs/cmm/lib/patterns/rgb.h b/programs/cmm/lib/patterns/rgb.h new file mode 100644 index 0000000000..2e89a86c15 --- /dev/null +++ b/programs/cmm/lib/patterns/rgb.h @@ -0,0 +1,22 @@ + +struct _rgb +{ + byte r,g,b; + void DwordToRgb(); + dword RgbToDword(); +} rgb; + +void _rgb::DwordToRgb(dword _dword) +{ + r = _dword & 0xFF; _dword >>= 8; + g = _dword & 0xFF; _dword >>= 8; + b = _dword & 0xFF; _dword >>= 8; +} + +dword _rgb::RgbToDword() +{ + dword _b, _g; + _b = b << 16; + _g = g << 8; + return _b + _g + r; +}