void destroy_cb ( Ewl_Widget *w, void *event, void *data ) { ewl_widget_destroy ( w ); ewl_main_quit(); //double cropwidth=ewl_pdf_pdf_page_get(EWL_PDF(pdfwidget))->page->getCropWidth(); //int docwidth,docheight; //epdf_page_size_get (EWL_PDF(pdfwidget)->pdf_page,&docwidth,&docheight); //fprintf(stderr,"full:%d crop:%f",docwidth,cropwidth); }
static void eke_gui_ewl_exit_cb(Ewl_Widget *w, void *ev, void *data) { ewl_widget_destroy(w); ewl_main_quit(); return; ev = NULL; data = NULL; }
static void _main_window_close (Ewl_Widget *w, void *ev_data, void *user_data) { ewl_widget_destroy (w); ewl_main_quit (); }
int main (int argc, char *argv[]) { Ecore_List *str_data = NULL; Ewl_Widget *window; Ewl_Widget *hbox; Ewl_Widget *list; Ewl_Model *model; Ewl_View *view; Ewl_Widget *dvi; Ewl_Widget *sp; const Edvi_Document *document; int page_count; int i; if (argc == 1) { printf ("Usage: %s dvi_file\n", argv[0]); return EXIT_FAILURE; } printf ("[DVI] version : %s\n", edvi_version_get ()); if (!edvi_init (300, "cx", 4, 1.0, 1.0, 0, 255, 255, 255, 0, 0, 0)) return EXIT_FAILURE; ewl_init (&argc, (char **)argv); str_data = ecore_list_new(); ecore_list_free_cb_set (str_data, free); /* We open the dvi file */ dvi = ewl_dvi_new (); if (!ewl_dvi_file_set (EWL_DVI (dvi), argv[1])) { printf ("Can not load the document %s\nExiting...", argv[1]); ecore_list_destroy (str_data); ewl_main_quit(); return EXIT_FAILURE; } window = ewl_window_new (); ewl_window_title_set (EWL_WINDOW (window), "Ewl Dvi Test Application"); ewl_callback_append (window, EWL_CALLBACK_DELETE_WINDOW, _quit_cb, str_data); hbox = ewl_hbox_new (); ewl_box_homogeneous_set (EWL_BOX (hbox), FALSE); ewl_container_child_append (EWL_CONTAINER (window), hbox); ewl_widget_show (hbox); sp = ewl_scrollpane_new (); ewl_container_child_append (EWL_CONTAINER (hbox), sp); ewl_widget_show (sp); document = ewl_dvi_dvi_document_get (EWL_DVI (dvi)); page_count = edvi_document_page_count_get (document); for (i = 0; i < page_count; i++) { char row_text[64]; char *txt; snprintf (row_text, 64, "%d", i + 1); txt = strdup (row_text); ecore_list_append(str_data, txt); } model = ewl_model_ecore_list_instance(); view = ewl_label_view_get(); list = ewl_list_new (); ewl_mvc_model_set(EWL_MVC(list), model); ewl_mvc_view_set(EWL_MVC(list), view); ewl_mvc_data_set(EWL_MVC(list), str_data); ewl_callback_append (list, EWL_CALLBACK_VALUE_CHANGED, EWL_CALLBACK_FUNCTION (_change_page_cb), dvi); ewl_container_child_append (EWL_CONTAINER (sp), list); ewl_widget_show (list); ewl_dvi_mag_set (EWL_DVI (dvi), 0.5); ewl_container_child_append (EWL_CONTAINER (hbox), dvi); ewl_widget_show (dvi); ewl_widget_show (window); ewl_main (); edvi_shutdown (); return EXIT_SUCCESS; }
void destroy_cb(Ewl_Widget *w, void *event, void *data) { ewl_widget_destroy(w); ewl_main_quit(); }
void cb_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); curwidget=ewl_widget_name_find("pdfwidget"); switch(k) { case 0: ewl_pdf_page_next(EWL_PDF(curwidget)); resize_and_rescale(curscale); fprintf(stderr,"l:%d; r:%d; t:%d; b:%d\n",get_left_margin(),get_right_margin(),get_top_margin(),get_bottom_margin()); //update_statusbar(); break; case 9: ewl_pdf_page_previous(EWL_PDF(curwidget)); resize_and_rescale(curscale); //update_statusbar(); break; case 8: curscale+=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); //update_statusbar(); break; case 7: curscale-=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); //update_statusbar(); break; /*case 6: if(ewl_pdf_orientation_get(EWL_PDF(curwidget))==EPDF_PAGE_ORIENTATION_LANDSCAPE) ewl_pdf_orientation_set(EWL_PDF(curwidget),EPDF_PAGE_ORIENTATION_PORTRAIT); else ewl_pdf_orientation_set(EWL_PDF(curwidget),EPDF_PAGE_ORIENTATION_LANDSCAPE); resize_and_rescale(curscale); //update_statusbar(); break;*/ case 1: move_hscrollbar(EWL_SCROLLPANE(scrollpane), -get_horizontal_pan_inc()); break; case 2: move_hscrollbar(EWL_SCROLLPANE(scrollpane), get_horizontal_pan_inc()); break; case 3: move_vscrollbar(EWL_SCROLLPANE(scrollpane), get_vertical_pan_inc()); break; case 4: move_vscrollbar(EWL_SCROLLPANE(scrollpane), -get_vertical_pan_inc()); break; case 5: if(fitmode==0) fitmode=1; else if(fitmode==1) fitmode=0; calculate_margins(); resize_and_rescale(curscale); break; case K_RETURN: ewl_widget_show(menu); ewl_widget_focus_send(menu); break; case K_ESCAPE: ewl_main_quit(); break; default: return; } }
void cb_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); curwidget=ewl_widget_name_find("pdfwidget"); switch(k) { case 0: ewl_pdf_page_next(EWL_PDF(curwidget)); resize_and_rescale(curscale); break; case 9: ewl_pdf_page_previous(EWL_PDF(curwidget)); resize_and_rescale(curscale); break; case 8: curscale+=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); break; case 7: curscale-=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); break; case 6: change_orientation(curwidget); resize_and_rescale(curscale); break; case 1: move_hscrollbar(EWL_SCROLLPANE(scrollpane), -1); break; case 2: move_hscrollbar(EWL_SCROLLPANE(scrollpane), 1); break; case 3: move_vscrollbar(EWL_SCROLLPANE(scrollpane), 1); break; case 4: move_vscrollbar(EWL_SCROLLPANE(scrollpane), -1); break; case 5: if(fitmode==0) fitmode=1; else if(fitmode==1) fitmode=0; calculate_margins(); resize_and_rescale(curscale); break; case K_RETURN: ewl_widget_show(menu); ewl_widget_focus_send(menu); break; case K_ESCAPE: ewl_main_quit(); break; default: return; } }