All pastes #1180198 Raw Edit

Untitled

public cpp v1 · immutable
#1180198 ·published 2008-08-21 00:15 UTC
rendered paste body
#include <stdio.h>#include <ewl/Ewl.h>#include <Evas.h>	static voidcb_window_destroy(Ewl_Widget *w, void *ev, void *data){	ewl_main_quit();}	static voidcb_window_close(Ewl_Widget *w, void *ev, void *data){	ewl_widget_destroy(w);}	static voidcb_image_reveal(Ewl_Widget *w, void *ev, void *data){}	static voidcb_key_down(Ewl_Widget *w, void *ev, void *data){	Ewl_Event_Key_Down *e;	Evas_Object *img;	Ewl_Embed *emb;	Evas_Coord img_w, img_h;	int *_data;	int i;	e = (Ewl_Event_Key_Down*)ev;	if(!strcmp(e->base.keyname, "q")			|| !strcmp(e->base.keyname, "Escape")) {		Ewl_Widget *win;		win = ewl_widget_name_find("main_win");		ewl_widget_destroy(win);	} else {		Ewl_Widget *win, *o; 		Evas_Object *img; 		Ewl_Embed *emb; 		Evas_Coord img_w, img_h; 		int *data; 		int i; 		win = ewl_widget_name_find("main_win"); 		o = ewl_widget_name_find("image"); 		img = (Evas_Object*)EWL_IMAGE(o)->image; 		if(!img) 			return; 		evas_object_image_size_set(img, CURRENT_W(win), CURRENT_H(win)); 		evas_object_image_size_get(img, &img_w, &img_h); 		data = (int*)evas_object_image_data_get(img, 1);         		if(!data) 			return;		evas_object_image_data_update_add(img, 0, 0, img_w, img_h);	}}int main(int argc, char **argv){	Ewl_Widget *win, *o;        if(!ewl_init(&argc, argv)) {		fprintf(stderr, "Unable to init EWL.\n");		exit(-1);	}	win = ewl_window_new();	ewl_window_title_set(EWL_WINDOW(win), "FBReader");	ewl_window_class_set(EWL_WINDOW(win), "fbreader");	ewl_window_name_set(EWL_WINDOW(win), "fbreader");	ewl_object_fill_policy_set(EWL_OBJECT(win), EWL_FLAG_FILL_ALL);	ewl_object_size_request(EWL_OBJECT(win), 600, 800);	ewl_callback_append(win, EWL_CALLBACK_DELETE_WINDOW, cb_window_close, NULL);	ewl_callback_append(win, EWL_CALLBACK_KEY_DOWN, cb_key_down, NULL);	ewl_callback_append(win, EWL_CALLBACK_DESTROY, cb_window_destroy, NULL);	ewl_widget_name_set(win, "main_win");	ewl_theme_data_str_set(EWL_WIDGET(win), "/window/group", "ewl/blank");	ewl_widget_show(win);	o = ewl_image_new();	EWL_IMAGE(o)->image = NULL;	ewl_object_fill_policy_set(EWL_OBJECT(o), EWL_FLAG_FILL_FILL);	ewl_container_child_append(EWL_CONTAINER(win), o);	ewl_callback_append(o, EWL_CALLBACK_REVEAL, cb_image_reveal, NULL);	ewl_object_position_request(EWL_OBJECT(o), CURRENT_X(win), CURRENT_Y(win));	ewl_object_size_request(EWL_OBJECT(o), CURRENT_W(win), CURRENT_H(win));	ewl_widget_name_set(o, "image");	ewl_widget_show(o);	ewl_main();	return 0;}