Rev 8438 | Rev 8452 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8438 | Rev 8446 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | /*==== INCLUDES ====*/ |
|
- | 2 | ||
1 | #include |
3 | //#include |
- | 4 | #include |
|
2 | #include "fitz.h" |
5 | #include "fitz.h" |
3 | #include "mupdf.h" |
6 | #include "mupdf.h" |
4 | #include "pdfapp.h" |
7 | #include "pdfapp.h" |
5 | #include "icons/allbtns.h" |
8 | #include "icons/allbtns.h" |
6 | #include "kolibri.h" |
9 | #include "kolibri.h" |
Line 7... | Line -... | ||
7 | - | ||
8 | void run_app() |
- | |
9 | { |
- | |
10 | return; |
- | |
Line 11... | Line 10... | ||
11 | } |
10 | |
Line 12... | Line 11... | ||
12 | 11 | ||
13 | /*==== DATA ====*/ |
12 | /*==== DATA ====*/ |
Line 56... | Line 55... | ||
56 | void RunApp(char app[], char param[]); |
55 | void RunApp(char app[], char param[]); |
57 | void winblit(pdfapp_t *app); |
56 | void winblit(pdfapp_t *app); |
58 | void DrawPagination(void); |
57 | void DrawPagination(void); |
59 | void HandleNewPageNumber(unsigned char key); |
58 | void HandleNewPageNumber(unsigned char key); |
60 | void ApplyNewPageNumber(void); |
59 | void ApplyNewPageNumber(void); |
61 | void DrawWindow(void); |
60 | void DrawMainWindow(void); |
Line 62... | Line 61... | ||
62 | 61 | ||
63 | 62 | ||
64 | // not implemented yet |
63 | // not implemented yet |
Line 228... | Line 227... | ||
228 | return; |
227 | return; |
229 | } |
228 | } |
230 | if (key==ASCII_KEY_ESC) |
229 | if (key==ASCII_KEY_ESC) |
231 | { |
230 | { |
232 | key_mode_enter_page_number = 0; |
231 | key_mode_enter_page_number = 0; |
233 | DrawWindow(); |
232 | DrawMainWindow(); |
234 | return; |
233 | return; |
235 | } |
234 | } |
Line 236... | Line 235... | ||
236 | 235 | ||
237 | itoa(new_page_number, label_new_page, 10); |
236 | itoa(new_page_number, label_new_page, 10); |
238 | strcat(label_new_page, "_"); |
237 | strcat(label_new_page, "_"); |
239 | kol_paint_bar(show_area_x, 6, show_area_w, 22, 0xFDF88E); |
238 | kol_paint_bar(show_area_x, 6, show_area_w, 22, 0xFDF88E); |
Line 240... | Line 239... | ||
240 | __menuet__write_text(show_area_x + show_area_w/2 - strlen(label_new_page)*6/2, 14, 0x000000, label_new_page, strlen(label_new_page)); |
239 | kos_text(show_area_x + show_area_w/2 - strlen(label_new_page)*6/2, 14, 0x000000, label_new_page, strlen(label_new_page)); |
241 | 240 | ||
Line 242... | Line 241... | ||
242 | if (new_page_number > gapp.pagecount) ApplyNewPageNumber(); |
241 | if (new_page_number > gapp.pagecount) ApplyNewPageNumber(); |
Line 252... | Line 251... | ||
252 | void DrawPagination(void) |
251 | void DrawPagination(void) |
253 | { |
252 | { |
254 | char pages_display[12]; |
253 | char pages_display[12]; |
255 | kol_paint_bar(show_area_x, 6, show_area_w, 22, 0xF4F4F4); |
254 | kol_paint_bar(show_area_x, 6, show_area_w, 22, 0xF4F4F4); |
256 | sprintf (pages_display, "%d/%d", gapp.pageno, gapp.pagecount); |
255 | sprintf (pages_display, "%d/%d", gapp.pageno, gapp.pagecount); |
257 | __menuet__write_text(show_area_x + show_area_w/2 - strlen(pages_display)*6/2, 14, 0x000000, pages_display, strlen(pages_display)); |
256 | kos_text(show_area_x + show_area_w/2 - strlen(pages_display)*6/2, 14, 0x000000, pages_display, strlen(pages_display)); |
258 | } |
257 | } |
Line 259... | Line 258... | ||
259 | 258 | ||
260 | void DrawToolbarButton(int x, char image_id) |
259 | void DrawToolbarButton(int x, char image_id) |
261 | { |
260 | { |
262 | __menuet__make_button(x, 5, 26-1, 24-1, 10 + image_id + BT_HIDE, 0); |
261 | kol_btn_define(x, 5, 26-1, 24-1, 10 + image_id + BT_HIDE, 0); |
263 | __menuet__putimage(x, 5, 26, 24, image_id * 24 * 26 * 3 + toolbar_image); |
262 | draw_bitmap(image_id * 24 * 26 * 3 + toolbar_image, x, 5, 26, 24); |
Line 264... | Line 263... | ||
264 | } |
263 | } |
265 | 264 | ||
266 | void DrawWindow(void) |
265 | void DrawMainWindow(void) |
267 | { |
266 | { |
268 | kol_paint_bar(0, 0, Form.client_width, TOOLBAR_HEIGHT - 1, 0xe1e1e1); // bar on the top (buttons holder) |
267 | kol_paint_bar(0, 0, Form.client_width, TOOLBAR_HEIGHT - 1, 0xe1e1e1); // bar on the top (buttons holder) |
269 | kol_paint_bar(0, TOOLBAR_HEIGHT - 1, Form.client_width, 1, 0x7F7F7F); |
268 | kol_paint_bar(0, TOOLBAR_HEIGHT - 1, Form.client_width, 1, 0x7F7F7F); |
Line 274... | Line 273... | ||
274 | DrawToolbarButton(126,7); //rotate right |
273 | DrawToolbarButton(126,7); //rotate right |
275 | DrawToolbarButton(Form.client_width - 160,3); //show help |
274 | DrawToolbarButton(Form.client_width - 160,3); //show help |
276 | show_area_x = Form.client_width - show_area_w - 34; |
275 | show_area_x = Form.client_width - show_area_w - 34; |
277 | DrawToolbarButton(show_area_x - 26,4); //prev page |
276 | DrawToolbarButton(show_area_x - 26,4); //prev page |
278 | DrawToolbarButton(show_area_x + show_area_w,5); //nex page |
277 | DrawToolbarButton(show_area_x + show_area_w,5); //nex page |
279 | __menuet__make_button(show_area_x-1, 5, show_area_w+1, 23, 20 + BT_HIDE, 0xA4A4A4); |
278 | kol_btn_define(show_area_x-1, 5, show_area_w+1, 23, 20 + BT_HIDE, 0xA4A4A4); |
280 | kol_paint_bar(show_area_x, 5, show_area_w, 1, 0xA4A4A4); |
279 | kol_paint_bar(show_area_x, 5, show_area_w, 1, 0xA4A4A4); |
281 | kol_paint_bar(show_area_x, 28, show_area_w, 1, 0xA4A4A4); |
280 | kol_paint_bar(show_area_x, 28, show_area_w, 1, 0xA4A4A4); |
282 | winblit(&gapp); |
281 | winblit(&gapp); |
283 | DrawPageSides(); |
282 | DrawPageSides(); |
284 | } |
283 | } |
Line 332... | Line 331... | ||
332 | r.p20 = 0; |
331 | r.p20 = 0; |
333 | r.p21 = app; |
332 | r.p21 = app; |
334 | kol_file_70(&r); |
333 | kol_file_70(&r); |
335 | } |
334 | } |
Line 336... | Line -... | ||
336 | - | ||
337 | 335 | ||
338 | void PageZoomIn(void) |
336 | void PageZoomIn(void) |
339 | { |
337 | { |
340 | pdfapp_onkey(&gapp, '+'); |
338 | pdfapp_onkey(&gapp, '+'); |
341 | DrawPageSides(); |
339 | DrawPageSides(); |
Line 396... | Line 394... | ||
396 | wintitle(&gapp, 0, full_argv); |
394 | wintitle(&gapp, 0, full_argv); |
Line 397... | Line 395... | ||
397 | 395 | ||
Line 398... | Line 396... | ||
398 | kol_board_puts("Inital paint\n"); |
396 | kol_board_puts("Inital paint\n"); |
399 | 397 | ||
400 | int butt, key, screen_max_x, screen_max_y; |
398 | int butt, key, screen_max_x, screen_max_y; |
Line 401... | Line 399... | ||
401 | __menuet__get_screen_max(&screen_max_x, &screen_max_y); |
399 | kos_screen_max(&screen_max_x, &screen_max_y); |
402 | __menuet__set_bitfield_for_wanted_events(EVENT_REDRAW+EVENT_KEY+EVENT_BUTTON+EVENT_MOUSE_CHANGE); |
400 | kol_event_mask(EVENT_REDRAW+EVENT_KEY+EVENT_BUTTON+EVENT_MOUSE_CHANGE); |
403 | 401 | ||
404 | for(;;) |
402 | for(;;) |
405 | { |
403 | { |
406 | switch(__menuet__wait_for_event()) |
404 | switch(get_os_event()) |
407 | { |
405 | { |
408 | case evReDraw: |
406 | case evReDraw: |
409 | // gapp.shrinkwrap = 2; |
407 | // gapp.shrinkwrap = 2; |
410 | __menuet__window_redraw(1); |
408 | BeginDraw(); |
411 | __menuet__define_window(screen_max_x / 2 - 350-50+kos_random(50), |
409 | kol_wnd_define(screen_max_x / 2 - 350-50+kos_random(50), |
412 | screen_max_y / 2 - 300-50+kos_random(50), |
410 | screen_max_y / 2 - 300-50+kos_random(50), |
- | 411 | 700, 600, 0x73000000, 0x800000FF, Title); |
|
413 | 700, 600, 0x73000000, 0x800000FF, Title); |
412 | EndDraw(); |
414 | __menuet__window_redraw(2); |
413 | get_proc_info((char*)&Form); |
415 | __menuet__get_process_table(&Form, PID_WHOAMI); |
414 | |
416 | if (Form.window_state > 2) continue; //fix rolled up |
415 | if (Form.window_state > 2) continue; // if Rolled-up |
417 | 416 | ||
Line 418... | Line 417... | ||
418 | // ?? |
417 | // Minimal size (700x600) |
419 | Form.client_width++; //fix for Menuet kernel bug |
418 | if (Form.winx_size < 700) kos_move_window(OLD, OLD, 700, OLD); |
Line 420... | Line 419... | ||
420 | Form.client_height++; //fix for Menuet kernel bug |
419 | if (Form.winy_size < 600) kos_move_window(OLD, OLD, OLD, 600); |
421 | 420 | ||
422 | DrawWindow(); |
421 | DrawMainWindow(); |
423 | break; |
422 | break; |
424 | 423 | ||
425 | case evKey: |
424 | case evKey: |
426 | key = __menuet__getkey(); |
425 | key = kol_get_key(); |
427 | if (key_mode_enter_page_number) |
426 | if (key_mode_enter_page_number) |
428 | { |
427 | { |
429 | HandleNewPageNumber(key); |
428 | HandleNewPageNumber(key); |
430 | break; |
429 | break; |
431 | } |
430 | } |
432 | if (key==ASCII_KEY_ESC) DrawWindow(); //close help |
431 | if (key==ASCII_KEY_ESC) DrawMainWindow(); //close help |
Line 442... | Line 441... | ||
442 | if (key=='-') PageZoomOut(); |
441 | if (key=='-') PageZoomOut(); |
443 | if ((key=='=') || (key=='+')) PageZoomIn(); |
442 | if ((key=='=') || (key=='+')) PageZoomIn(); |
444 | break; |
443 | break; |
Line 445... | Line 444... | ||
445 | 444 | ||
446 | case evButton: |
445 | case evButton: |
447 | butt = __menuet__get_button_id(); |
446 | butt = get_os_button(); |
448 | if(butt==1) exit(0); |
447 | if(butt==1) exit(0); |
449 | if(butt==10) RunOpenApp(argv[0]); |
448 | if(butt==10) RunOpenApp(argv[0]); |
450 | if(butt==11) PageZoomOut(); //magnify - |
449 | if(butt==11) PageZoomOut(); //magnify - |
451 | if(butt==12) PageZoomIn(); //magnify + |
450 | if(butt==12) PageZoomIn(); //magnify + |
452 | if(butt==13) //show help |
451 | if(butt==13) //show help |
453 | { |
452 | { |
454 | kol_paint_bar(0, TOOLBAR_HEIGHT, Form.client_width, Form.client_height - TOOLBAR_HEIGHT, 0xF2F2F2); |
453 | kol_paint_bar(0, TOOLBAR_HEIGHT, Form.client_width, Form.client_height - TOOLBAR_HEIGHT, 0xF2F2F2); |
455 | __menuet__write_text(20, TOOLBAR_HEIGHT + 20 , 0x90000000, "uPDF for KolibriOS v1.2", 0); |
454 | kos_text(20, TOOLBAR_HEIGHT + 20 , 0x90000000, "uPDF for KolibriOS v1.2", 0); |
456 | __menuet__write_text(21, TOOLBAR_HEIGHT + 20 , 0x90000000, "uPDF for KolibriOS v1.2", 0); |
455 | kos_text(21, TOOLBAR_HEIGHT + 20 , 0x90000000, "uPDF for KolibriOS v1.2", 0); |
457 | for (ii=0; help[ii]!=0; ii++) { |
456 | for (ii=0; help[ii]!=0; ii++) { |
458 | __menuet__write_text(20, TOOLBAR_HEIGHT + 60 + ii * 15, 0x80000000, help[ii], 0); |
457 | kos_text(20, TOOLBAR_HEIGHT + 60 + ii * 15, 0x80000000, help[ii], 0); |
459 | } |
458 | } |
460 | } |
459 | } |
461 | if(butt==14) pdfapp_onkey(&gapp, '['); //previous page |
460 | if(butt==14) pdfapp_onkey(&gapp, '['); //previous page |
462 | if(butt==15) pdfapp_onkey(&gapp, ']'); //next page |
461 | if(butt==15) pdfapp_onkey(&gapp, ']'); //next page |