static int create_test(Ewl_Container *box) { Ewl_Widget *hseeker, *vseeker; hseeker = ewl_hseeker_new(); ewl_object_position_request(EWL_OBJECT(hseeker), 30, 0); ewl_callback_append(hseeker, EWL_CALLBACK_VALUE_CHANGED, cb_print_value, NULL); ewl_container_child_append(box, hseeker); ewl_widget_show(hseeker); vseeker = ewl_vseeker_new(); ewl_object_position_request(EWL_OBJECT(vseeker), 0, 30); ewl_callback_append(vseeker, EWL_CALLBACK_VALUE_CHANGED, cb_print_value, NULL); ewl_container_child_append(box, vseeker); ewl_widget_show(vseeker); return 1; }
void resize_and_rescale(double scale) { int docwidth,docheight; double docscale; int sp_inner; double ltrimpct=0.0,rtrimpct=0.0; //ewl_object_maximum_h_set(EWL_OBJECT(pdfwidget),99999); //ewl_object_minimum_h_set(EWL_OBJECT(pdfwidget),0); sp_inner=CURRENT_W(scrollpane)-INSET_HORIZONTAL(scrollpane)-PADDING_HORIZONTAL(scrollpane); //if(EWL_SCROLLPANE(scrollpane)->vflag) // sp_inner-=CURRENT_W(EWL_OBJECT(EWL_SCROLLPANE(scrollpane)->vscrollbar)); //ewl_pdf_size_get(EWL_PDF(pdfwidget),&docwidth,&docheight); epdf_page_size_get (EWL_PDF(pdfwidget)->pdf_page,&docwidth,&docheight); if(fitmode==0) docscale=((double)sp_inner)/((double)docwidth)*scale; else if(fitmode==1) { ltrimpct=((double)get_settings()->ltrimpad)/((double)docwidth); rtrimpct=((double)get_settings()->rtrimpad)/((double)docwidth); docscale=((double)sp_inner)/((1.0-leftmarge+ltrimpct-rightmarge+rtrimpct)*((double)docwidth))*scale; } ewl_pdf_scale_set(EWL_PDF(pdfwidget),docscale,docscale); //ewl_object_custom_w_set(EWL_OBJECT(pdfwidget),floor(((double)sp_inner)*scale)); //ewl_object_custom_w_set(EWL_OBJECT(pdfwidget),floor(((double)sp_inner)*scale)); //ewl_object_custom_h_set(EWL_OBJECT(pdfwidget),floor(((double)docheight)/((double)docwidth)*((double)sp_inner)*scale)); ewl_object_custom_w_set(EWL_OBJECT(pdfwidget),floor(((double)docwidth)*docscale)); ewl_object_custom_h_set(EWL_OBJECT(pdfwidget),floor(((double)docheight)*docscale)); //ewl_object_position_request(EWL_OBJECT(pdfwidget),0,0); ewl_widget_configure(pdfwidget); //ewl_object_custom_w_set(EWL_OBJECT(trimpane),floor(((double)docwidth)*docscale)); //ewl_object_custom_h_set(EWL_OBJECT(trimpane),floor(((double)docheight)*docscale)); ewl_object_custom_w_set(EWL_OBJECT(trimpane),floor(((double)sp_inner)*scale)); ewl_object_custom_h_set(EWL_OBJECT(trimpane),floor(((double)docheight)*docscale)); ewl_object_position_request(EWL_OBJECT(trimpane),0,0); //ewl_object_place(EWL_OBJECT(pdfwidget),0,0,floor(((double)docwidth)*docscale),floor(((double)docheight)*docscale)); ewl_widget_configure(trimpane); ewl_widget_configure(scrollpane); if(fitmode==0) ewl_scrollpane_hscrollbar_value_set(EWL_SCROLLPANE(trimpane),0.0); else if(fitmode==1) ewl_scrollpane_hscrollbar_value_set(EWL_SCROLLPANE(trimpane),(leftmarge-ltrimpct)/(leftmarge-ltrimpct+rightmarge-rtrimpct)); }
/** * popup menu for managing files in the project */ static EWL_CALLBACK_DEFN(project_file_menu) { Ewl_Widget *item; Ewl_Event_Mouse_Up *ev = ev_data; if( file_menu ) { ewl_widget_destroy(file_menu); file_menu = NULL; } else if( ev->button == 3 ) { ewl_window_raise(EWL_WINDOW(project_win)); file_menu = ewl_imenu_new(NULL, "File Options"); ewl_object_position_request(EWL_OBJECT(file_menu), ev->x, ev->y); ewl_object_fill_policy_set(EWL_OBJECT(file_menu), EWL_FLAG_FILL_NONE); ewl_container_child_append(EWL_CONTAINER(project_win), file_menu); ewl_callback_append(file_menu, EWL_CALLBACK_CONFIGURE, project_file_menu_configure, NULL); ewl_callback_call(file_menu, EWL_CALLBACK_SELECT); ewl_widget_show(file_menu); item = ewl_menu_item_new(NULL, "Save"); /* HACK FOR NON-STRING DATA HASHES */ item->data = ecore_hash_new(ecore_str_hash, ecore_str_compare); ewl_widget_data_set(item, "Action", (void *) EWLER_FILE_SAVE); ewl_callback_append(item, EWL_CALLBACK_SELECT, project_file_menu_cb, user_data); ewl_container_child_append(EWL_CONTAINER(file_menu), item); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Settings..."); /* HACK FOR NON-STRING DATA HASHES */ item->data = ecore_hash_new(ecore_str_hash, ecore_str_compare); ewl_widget_data_set(item, "Action", (void *) EWLER_FILE_SETTINGS); ewl_callback_append(item, EWL_CALLBACK_SELECT, project_file_menu_cb, user_data); ewl_container_child_append(EWL_CONTAINER(file_menu), item); ewl_widget_show(item); item = ewl_menu_item_new(NULL, "Delete"); /* HACK FOR NON-STRING DATA HASHES */ item->data = ecore_hash_new(ecore_str_hash, ecore_str_compare); ewl_widget_data_set(item, "Action", (void *) EWLER_FILE_DELETE); ewl_callback_append(item, EWL_CALLBACK_SELECT, project_file_menu_cb, user_data); ewl_container_child_append(EWL_CONTAINER(file_menu), item); ewl_widget_show(item); } }
static EWL_CALLBACK_DEFN(fg_mouse_move) { Ewler_Widget *ewler_w = user_data; Ewl_Embed *embed; Ewl_Event_Mouse_Move *ev = ev_data; if( ewler_w->mouse.state & EWLER_WIDGET_MOUSE_DOWN && ewler_w->mouse.button == 1 ) { int dx = ev->x - ewler_w->mouse.state_x; int dy = ev->y - ewler_w->mouse.state_y; if( ewler_w->source ) { int *x, *y, *u, *v; x = &ewler_w->corners.x; y = &ewler_w->corners.y; u = &ewler_w->corners.u; v = &ewler_w->corners.v; if( strstr( ewler_w->source, "left" ) ) *x += dx; if( strstr( ewler_w->source, "right" ) ) *u += dx; if( strstr( ewler_w->source, "top" ) ) { if( ev->modifiers & EWL_KEY_MODIFIER_CTRL ) *y = *v - *u + *x; else *y += dy; } if( strstr( ewler_w->source, "bottom" ) ) { if( ev->modifiers & EWL_KEY_MODIFIER_CTRL ) *v = *y + *u - *x; else *v += dy; } if( *u < *x ) *u = *x; if( *v < *y ) *v = *y; ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->fg), *x, *y, *u - *x, *v - *y); ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->bg), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->fg), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->fg), *x, *y, *u - *x, *v - *y); ewl_object_preferred_inner_size_set(EWL_OBJECT(ewler_w->w), *u - *x, *v - *y); ewl_object_minimum_size_set(EWL_OBJECT(ewler_w->w), *u - *x, *v - *y); ewl_object_geometry_request(EWL_OBJECT(ewler_w->w), *x, *y, *u - *x, *v - *y); ewler_w->mouse.state_x = ev->x; ewler_w->mouse.state_y = ev->y; } else { Ecore_List *selected; selected = form_selected(); if( selected ) { ecore_list_first_goto(selected); while( (ewler_w = ecore_list_next(selected)) ) { ewl_object_position_request(EWL_OBJECT(ewler_w->bg), CURRENT_X(ewler_w->bg) + dx, CURRENT_Y(ewler_w->bg) + dy); ewl_object_position_request(EWL_OBJECT(ewler_w->fg), CURRENT_X(ewler_w->fg) + dx, CURRENT_Y(ewler_w->fg) + dy); ewl_object_position_request(EWL_OBJECT(ewler_w->w), CURRENT_X(ewler_w->w) + dx, CURRENT_Y(ewler_w->w) + dy); ewler_w->mouse.state_x = ev->x; ewler_w->mouse.state_y = ev->y; } } } } embed = ewl_embed_widget_find(w); if( embed ) evas_event_feed_mouse_move(embed->evas, ev->x, ev->y, 0, NULL); }
void resize_and_rescale(double scale) { int docwidth,docheight; double docscale; double ltrimpct=0.0,rtrimpct=0.0; int sp_inner_w = CURRENT_W(scrollpane) - INSET_HORIZONTAL(scrollpane) - PADDING_HORIZONTAL(scrollpane); int sp_inner_h = CURRENT_H(scrollpane) - INSET_VERTICAL(scrollpane) - PADDING_VERTICAL(scrollpane); hide_hint(NULL); page_size_get(&docwidth, &docheight); int orientation_horizontal; switch(epdf_page_orientation_get(EWL_PDF(pdfwidget)->pdf_page)) { case EPDF_PAGE_ORIENTATION_PORTRAIT: case EPDF_PAGE_ORIENTATION_UPSIDEDOWN: orientation_horizontal = 0; break; case EPDF_PAGE_ORIENTATION_LANDSCAPE: case EPDF_PAGE_ORIENTATION_SEASCAPE: orientation_horizontal = 1; } if(fitmode==0) { if(orientation_horizontal) docscale = ((double)sp_inner_h)/((double)docheight)*scale; else // orientation vertical docscale = ((double)sp_inner_w)/((double)docwidth)*scale; } else if(fitmode==1) { ltrimpct=((double)get_settings()->ltrimpad)/((double)docwidth); rtrimpct=((double)get_settings()->rtrimpad)/((double)docwidth); docscale=((double)sp_inner_w)/((1.0-leftmarge+ltrimpct-rightmarge+rtrimpct)*((double)docwidth))*scale; } ewl_pdf_scale_set(EWL_PDF(pdfwidget),docscale,docscale); ewl_object_custom_w_set(EWL_OBJECT(pdfwidget),floor(((double)docwidth)*docscale)); ewl_object_custom_h_set(EWL_OBJECT(pdfwidget),floor(((double)docheight)*docscale)); ewl_widget_configure(pdfwidget); if(orientation_horizontal) { ewl_object_custom_w_set(EWL_OBJECT(trimpane), floor(((double)docwidth)*docscale)); ewl_object_custom_h_set(EWL_OBJECT(trimpane), floor(((double)sp_inner_h)*scale)); } else { ewl_object_custom_w_set(EWL_OBJECT(trimpane), floor(((double)sp_inner_w)*scale)); ewl_object_custom_h_set(EWL_OBJECT(trimpane), floor(((double)docheight)*docscale)); } ewl_object_position_request(EWL_OBJECT(trimpane),0,0); ewl_widget_configure(trimpane); ewl_widget_configure(scrollpane); if(fitmode==0) ewl_scrollpane_hscrollbar_value_set(EWL_SCROLLPANE(trimpane),0.0); else if(fitmode==1) ewl_scrollpane_hscrollbar_value_set(EWL_SCROLLPANE(trimpane),(leftmarge-ltrimpct)/(leftmarge-ltrimpct+rightmarge-rtrimpct)); }