diff --git a/data/Tupfile.lua b/data/Tupfile.lua index 704d5b2619..d4e69779f0 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -646,7 +646,6 @@ tup.append_table(img_files, { {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"}, }) tup.append_table(extra_files, { - {"kolibrios/develop/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"}, {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"}, {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"}, {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"}, diff --git a/programs/cmm/TWB/TWB.c b/programs/cmm/TWB/TWB.c index 5608ec5403..5a814a6781 100644 --- a/programs/cmm/TWB/TWB.c +++ b/programs/cmm/TWB/TWB.c @@ -446,7 +446,7 @@ void TWebBrowser::SetStyle() { if (value = tag.get_value_of("alt=")) && (strlen(value) _start) && (img_y < _start + _height) - { - if (cache.has(url.get(i))) - DrawLibimgImage(img_x + _x, img_y-_start + _y, cache.current_buf, cache.current_size); - } + && (cache.has(url.get(i))) draw(_x, _y, _start, i); } } -void DrawLibimgImage(dword _x, _y, _data, _data_len) +bool _img::draw(int _x, _y, _start, i) { libimg_image im; - img_decode stdcall (_data, _data_len, 0); - $or eax, eax - $jz __ERROR__ - - im.image = EAX; - im.set_vars(); - im.draw(_x, _y, im.w, im.h, 0, 0); -__ERROR__: + img_decode stdcall (cache.current_buf, cache.current_size, 0); + if (EAX) { + im.image = EAX; + im.draw(xywh.get(i*4) + _x, xywh.get(i*4+1) - _start + _y, im.w, im.h, 0, 0); + } } /* @@ -136,12 +140,3 @@ ImageCache ImgCache; */ -#else -dword _img::add(dword _path, _x, _y) {}; -void _img::clear() {}; -dword _img::current_url() {}; -bool _img::next_url() {}; -void _img::set_data(dword _data, _data_len) {}; -void _img::draw(int _x, _y, _start, _height) {}; - -#endif \ No newline at end of file diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c index 358dd3b036..607598e40b 100644 --- a/programs/cmm/browser/WebView.c +++ b/programs/cmm/browser/WebView.c @@ -31,7 +31,7 @@ char editbox_icons[] = FROM "res/editbox_icons.raw"; -char version[]="WebView 2.7c"; +char version[]="WebView 2.7e"; #include "texts.h" #include "cache.h" @@ -236,7 +236,7 @@ void main() if (http.transfer <= 0) break; http.receive(); EventUpdateProgressBar(); - CheckContentType(); + if (http_get_type==PAGE) CheckContentType(); if (http.receive_result != 0) break; if (http.status_code >= 300) && (http.status_code < 400) { @@ -259,7 +259,7 @@ void main() } else if (http_get_type==IMG) { cache.add(WB1.page_img.current_url(), http.content_pointer, http.content_received, IMG); - WB1.page_img.set_data(cache.data.get_last(), http.content_received); + WB1.page_img.set_size(http.content_pointer, http.content_received); GetImg(); } } diff --git a/programs/cmm/codeview/highlight_c.h b/programs/cmm/browser/res/highlight_c.h similarity index 100% rename from programs/cmm/codeview/highlight_c.h rename to programs/cmm/browser/res/highlight_c.h diff --git a/programs/cmm/codeview/Tupfile.lua b/programs/cmm/codeview/Tupfile.lua deleted file mode 100644 index c39061bc4c..0000000000 --- a/programs/cmm/codeview/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("codeview.c", "c-- /D=AUTOBUILD /D=$(C_LANG) %f" .. tup.getconfig("KPACK_CMD"), "codeview.com") diff --git a/programs/cmm/codeview/codeview.c b/programs/cmm/codeview/codeview.c deleted file mode 100644 index 457c146e65..0000000000 --- a/programs/cmm/codeview/codeview.c +++ /dev/null @@ -1,249 +0,0 @@ - -#define MEMSIZE 4096 * 200 -#define NO_IMG true - -//libraries -#include "..\lib\gui.h" -#include "..\lib\draw_buf.h" -#include "..\lib\list_box.h" -#include "..\lib\cursor.h" -#include "..\lib\collection.h" -#include "..\lib\random.h" -#include "..\lib\clipboard.h" - -// *.obj libraries -#include "..\lib\obj\box_lib.h" -#include "..\lib\obj\libio.h" -#include "..\lib\obj\libimg.h" -#include "..\lib\obj\iconv.h" -#include "..\lib\obj\proc_lib.h" - -//useful patterns -#include "..\lib\patterns\simple_open_dialog.h" -#include "..\lib\patterns\toolbar_button.h" - -char homepage[] = FROM "html\\homepage.htm""\0"; -char page_not_found[] = FROM "html\\page_not_found_en.htm""\0"; - -char version[]="C-- Code View"; -char accept_language[]= "Accept-Language: en\n"; - -#define URL_SERVICE_HOME "CodeView:home" - - - -proc_info Form; - - -dword TOOLBAR_H = 40; -dword STATUSBAR_H = 0; - - -bool debug_mode = false; - -bool open_in_a_new_window = false; - -enum { - REFRESH_BUTTON, - EDIT_SOURCE, - OPEN_PAGE, -}; - -#define URL_SIZE 4000; -#include "..\TWB\TWB.c" -TWebBrowser WB1; -#include "highlight_c.h" - -char default_dir[] = "/rd/1"; -od_filter filter2 = { 16, "C\0H\0C--\0H--\0CPP\0\0" }; - -char current_path[URL_SIZE+1]; -char edit_path[URL_SIZE+1]; -int mouse_twb; -edit_box address_box = {250,60,30,0xffffff,0x94AECE,0xffffff,0xffffff,0x10000000,URL_SIZE-2,#edit_path,#mouse_twb,2,19,19}; - -#define SKIN_Y 24 - -void LoadLibraries() -{ - load_dll(boxlib, #box_lib_init,0); - load_dll(libio, #libio_init,1); - load_dll(libimg, #libimg_init,1); - load_dll(iconv_lib, #iconv_open,0); - load_dll(Proc_lib, #OpenDialog_init,0); - OpenDialog_init stdcall (#o_dialog); -} - -void main() -{ - int i, id; - LoadLibraries(); - if (param) strcpy(#current_path, #param); else strcpy(#current_path, URL_SERVICE_HOME); - WB1.list.SetFont(8, 14, 10011000b); - WB1.list.no_selection = true; - SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); - loop() switch(WaitEvent()) - { - case evMouse: - edit_box_mouse stdcall (#address_box); - mouse.get(); - if (WB1.list.MouseScroll(mouse.vert)) WB1.DrawPage(); - scrollbar_v_mouse (#scroll_wv); - if (WB1.list.first != scroll_wv.position) - { - WB1.list.first = scroll_wv.position; - WB1.DrawPage(); - break; - } - break; - - case evButton: - id = GetButtonID(); - if (1==id) ExitProcess(); - if (OPEN_PAGE==id) EventOpenDialog(); - break; - - case evKey: - GetKeys(); - - if (SCAN_CODE_F5 == key_scancode) { - OpenPage(#current_path); - } - if (SCAN_CODE_F3 == key_scancode) { - RunProgram("/rd/1/tinypad", #current_path); - } - - if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) { - if (key_scancode == SCAN_CODE_KEY_O) {EventOpenDialog();break;} - } - - if (address_box.flags & 0b10) - { - if (key_ascii == ASCII_KEY_ENTER) { - OpenPage(#edit_path); - } - else { - EAX = key_editbox; - edit_box_key stdcall(#address_box); - } - } - else - { - #define KEY_SCROLL_N 11 - if (SCAN_CODE_UP == key_scancode) for (i=0;i2) break; - if (Form.height<120) { MoveSize(OLD,OLD,OLD,120); break; } - if (Form.width<280) { MoveSize(OLD,OLD,280,OLD); break; } - SetElementSizes(); - draw_window(); - break; - } -} - -void SetElementSizes() -{ - address_box.top = TOOLBAR_H/2-10; - address_box.left = address_box.top+43; - address_box.width = Form.cwidth - address_box.left - address_box.left -14; - WB1.list.SetSizes(0, TOOLBAR_H, Form.width - 10 - scroll_wv.size_x, - Form.cheight - TOOLBAR_H - STATUSBAR_H, BASIC_LINE_H); - WB1.list.wheel_size = 7 * BASIC_LINE_H; - WB1.list.column_max = WB1.list.w - scroll_wv.size_x / WB1.list.font_w; - WB1.list.visible = WB1.list.h; - if (WB1.list.w!=DrawBuf.bufw) { - DrawBuf.Init(WB1.list.x, WB1.list.y, WB1.list.w, 32700); - OpenPage(#current_path); - } -} - -void draw_window() -{ - DrawBar(0,0, Form.cwidth,TOOLBAR_H-2, sc.work); - DrawBar(0,TOOLBAR_H-2, Form.cwidth,1, 0xD7D0D3); - DrawBar(0,TOOLBAR_H-1, Form.cwidth,1, sc.work_graph); - DrawRectangle(address_box.left-3, address_box.top-3, address_box.width+4, 25,sc.work_graph); - DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,STATUSBAR_H, sc.work); - DrawBar(0,Form.cheight - STATUSBAR_H, Form.cwidth,1, sc.work_graph); - DrawEditBoxWebView(); - if (!WB1.header) { - OpenPage(#current_path); - } else { - WB1.DrawPage(); - DrawEditBoxWebView(); - } - DrawRectangle(scroll_wv.start_x, scroll_wv.start_y, scroll_wv.size_x, scroll_wv.size_y-1, scroll_wv.bckg_col); - DrawTopPanelButton(OPEN_PAGE, 10, address_box.top-3, 0, false); -} - - -void OpenPage(dword _path) -{ - dword buf, size; - strcpy(#current_path, _path); - if (streq(_path, URL_SERVICE_HOME)) { - LoadInternalPage(#homepage, sizeof(homepage)); - return; - } - file_size stdcall (_path); - if (EBX) - { - size = EBX; - buf = malloc(size); - ReadFile(0, size, buf, _path); - ShowCodeSource(); - free(buf); - return; - } - LoadInternalPage(NULL,NULL); -} - -DrawEditBoxWebView() -{ - int skin_x_offset; - DrawBar(address_box.left-2, address_box.top-2, address_box.width+3, 2, address_box.color); - DrawBar(address_box.left-2, address_box.top, 2, 22, address_box.color); - address_box.size = address_box.pos = address_box.shift = address_box.shift_old = strlen(#edit_path); - address_box.offset = 0; - edit_box_draw stdcall(#address_box); - skin_x_offset = 51; -} - -void LoadInternalPage(dword _bufpos, _bufsize) -{ - if (!_bufpos) || (!_bufsize) { - LoadInternalPage(#page_not_found, sizeof(page_not_found)); - return; - } - strcpy(#edit_path, #current_path); - DrawEditBoxWebView(); - - WB1.list.first = 0; - WB1.ParseHtml(_bufpos, _bufsize); - WB1.DrawPage(); -} - -void EventOpenDialog() -{ - OpenDialog_start stdcall (#o_dialog); - if (o_dialog.status) { - OpenPage(#openfile_path); - } -} - - -void DrawStatusBar() {return;}; -void EventClickLink() {return;}; -void EventShowLinkMenu() {return;}; - -char anchor[256]; - -stop: \ No newline at end of file diff --git a/programs/cmm/codeview/compile_en.bat b/programs/cmm/codeview/compile_en.bat deleted file mode 100644 index 4dd246dfc4..0000000000 --- a/programs/cmm/codeview/compile_en.bat +++ /dev/null @@ -1,5 +0,0 @@ -@c-- CodeView.c -@del CodeView -@rename CodeView.com CodeView -@del warning.txt -@pause \ No newline at end of file diff --git a/programs/cmm/codeview/html/homepage.htm b/programs/cmm/codeview/html/homepage.htm deleted file mode 100644 index b715310528..0000000000 --- a/programs/cmm/codeview/html/homepage.htm +++ /dev/null @@ -1,13 +0,0 @@ - - -Homepage - - - -
-CodeView is a sipmle C--/C/C++ code viewer based on TWB component.
-
-Press Ctrl+O to open a file. - - - \ No newline at end of file diff --git a/programs/cmm/codeview/html/page_not_found_en.htm b/programs/cmm/codeview/html/page_not_found_en.htm deleted file mode 100644 index e1ab939c6a..0000000000 --- a/programs/cmm/codeview/html/page_not_found_en.htm +++ /dev/null @@ -1,10 +0,0 @@ - - - - File not found - - -

 File not found

- Please, check file address, there may have been made a typo. - - \ No newline at end of file