From: <enl...@li...> - 2001-03-21 23:53:50
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test/fnt Modified Files: Makefile.in Log Message: naughty naughty... fix fix... |
From: <enl...@li...> - 2001-03-21 23:54:20
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: etox.c Log Message: naughty naughty... fix fix... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- etox.c 2001/03/21 05:18:44 1.10 +++ etox.c 2001/03/21 23:53:48 1.11 @@ -1212,6 +1212,7 @@ } e->vertical_align = vertical_align; e->alpha_mod = 255; + return e; } void etox_set_alpha_mod(Etox *e, int amod) { |
From: <enl...@li...> - 2001-03-21 23:54:20
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test.c Log Message: naughty naughty... fix fix... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etox_test.c 2001/03/21 05:18:44 1.5 +++ etox_test.c 2001/03/21 23:53:48 1.6 @@ -65,7 +65,8 @@ root_win = DefaultRootWindow(disp); e = evas_new_all(disp, root_win, 128, 0, win_w, win_h, - 0, 216, 4 * 1024 * 1024, 4 * 1024 * 1024, + RENDER_METHOD_ALPHA_SOFTWARE, + 216, 4 * 1024 * 1024, 4 * 1024 * 1024, FNTDIR); win = evas_get_window(e); |
From: <enl...@li...> - 2001-04-11 23:27:28
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test/style Modified Files: sh_ol.style Log Message: blader's fixes to etox :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/style/sh_ol.style,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- sh_ol.style 2001/03/18 21:43:07 1.1 +++ sh_ol.style 2001/04/11 23:27:28 1.2 @@ -1,6 +1,6 @@ -sh= 3 3 128 -ol= -1 1 255 -ol= 1 -1 255 -ol= 1 1 255 -ol= -1 -1 255 -fg= 0 0 255 +sh= 2 2 128 +ol= 0 -1 255 +ol= 1 0 255 +ol= 0 1 255 +ol= -1 0 255 +fg= 0 0 255 |
From: <enl...@li...> - 2001-04-11 23:27:58
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox Modified Files: AUTHORS Log Message: blader's fixes to etox :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/AUTHORS,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- AUTHORS 2001/03/18 21:44:00 1.2 +++ AUTHORS 2001/04/11 23:27:28 1.3 @@ -1,2 +1,3 @@ Mandrake <man...@ma...> Adam Kisiel <ki...@if...> +BLAdER (redalb) <bl...@ne...> |
From: <enl...@li...> - 2001-04-11 23:27:58
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: Makefile.am Added Files: etox_test_new.c Log Message: blader's fixes to etox :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.am 2001/03/18 21:43:07 1.3 +++ Makefile.am 2001/04/11 23:27:28 1.4 @@ -10,9 +10,14 @@ -DBINDIR=\"$(bindir)\" \ -DDATADIR=\"$(datadir)\" -bin_PROGRAMS = etox_test +bin_PROGRAMS = etox_test etox_test_new etox_test_SOURCES = etox_test.c +etox_test_new_SOURCES = etox_test_new.c -etox_test_LDADD = $(top_builddir)/src/libetox.la +# You'll need this if you want to use gdb.. +#etox_test_LDFLAGS = -static +#etox_test_new_LDFLAGS = -static +etox_test_LDADD = $(top_builddir)/src/libetox.la +etox_test_new_LDADD = $(top_builddir)/src/libetox.la |
From: <enl...@li...> - 2001-04-11 23:28:21
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Added Files: etox_color.c etox_get.c etox_obstacle.c etox_set.c etox_style.c Log Message: more of bladers stuff |
From: <enl...@li...> - 2001-04-11 23:32:05
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test.c Log Message: final commit :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etox_test.c 2001/04/08 18:40:07 1.7 +++ etox_test.c 2001/04/11 23:32:04 1.8 @@ -32,14 +32,14 @@ Evas e; Evas_Object o[3], rect[NRECTS], rect_2; - E_Font_Style *e_font_style; - Etox *e_etox; - Etox *e_etox_2; - Etox *et_up_label; - Etox *et_down_label; + Etox_Style e_font_style; + Etox e_etox; + Etox e_etox_2; + Etox et_up_label; + Etox et_down_label; XSetWindowAttributes att; Evas_Render_Method method; - E_Text_Color *tcl; + Etox_Color tcl; int down; double t1, t2; @@ -81,8 +81,8 @@ cm = evas_get_optimal_colormap(e, disp); depth = evas_get_colors(e); - etox_add_path_to_font_style_path(DATADIR"/etox/style"); - etox_add_path_to_font_style_path("./style"); + etox_style_add_path(DATADIR"/etox/style"); + etox_style_add_path("./style"); o[0] = evas_add_image_from_file(e, IMGDIR"sky001.png"); evas_lower(e, o[0]); @@ -98,28 +98,23 @@ evas_set_layer(e, o[2], 50); evas_show(e, o[2]); - e_font_style = E_load_font_style("sh_ol.style"); - - e_etox = Etox_new("Etox name"); - e_etox->evas = e; - e_etox->text = NULL; - e_etox->text_len = 0; - etox_set_font_style(e_etox, e_font_style); + e_font_style = etox_style_new("sh_ol.style"); + + e_etox = etox_new(e, "Etox name"); + etox_set_style(e_etox, e_font_style); etox_set_layer(e_etox, 10); - e_etox->font = strdup("cinema"); - e_etox->font_size = 10; - e_etox->x = 0; - e_etox->y = 0; - e_etox->w=450; - e_etox->h=1000; - etox_clip_rect_new(e_etox, 100, 90, 50, 400); + etox_set_font(e_etox, "cinema", 10); + etox_move(e_etox, 0, 0); + etox_resize(e_etox, 450, 1000); + + etox_obstacle_add(e_etox, 100, 80, 50, 400); rect[0] = evas_add_rectangle(e); evas_set_color(e, rect[0], 20, 40, 200, 150); evas_resize(e, rect[0], 50, 400); - evas_move(e, rect[0], 105, 90); + evas_move(e, rect[0], 105, 80); evas_set_layer(e, rect[0], 10); evas_show(e, rect[0]); - etox_clip_rect_new(e_etox, 350, 150, 100, 100); + etox_obstacle_add(e_etox, 350, 150, 100, 100); rect[1] = evas_add_rectangle(e); evas_set_color(e, rect[1], 20, 200, 40, 150); evas_resize(e, rect[1], 100, 100); @@ -127,10 +122,10 @@ evas_set_layer(e, rect[1], 10); evas_show(e, rect[1]); - strcpy(txt,"~color=fg 255 2 2~~color=ol 0 0 0~~color=sh 0 0 0~~valign=bottom~~font=morpheus~~size=20~"); + strcpy(txt,"~color=fg 255 2 2 255~~color=ol 0 0 0 255~~color=sh 0 0 0 255~~valign=bottom~~font=morpheus~~size=20~"); strcat(txt,"~align=center~~size=25~~font=cinema~Th~font=morpheus~~size=20~e Gospel of Tux (v1.0)\n\n"); - strcat(txt,"~font=notepad~~size=12~~color=fg 255 255 255~~align~In the beginning Turing created the Machine.\n\n"); + strcat(txt,"~font=nationff~~size=12~~color=fg 255 255 255 255~~align~In the beginning Turing created the Machine.\n\n"); strcat(txt,"~align=center~And the Machine was crufty and bodacious, existing in "); strcat(txt,"theory only. And von Neumann looked upon the Machine, "); @@ -148,7 +143,7 @@ strcat(txt,"Systems unto the earth.\n\n"); - strcat(txt,"~style~The first Systems were mighty giants; many great "); + strcat(txt,"~style~~align=right~The first Systems were mighty giants; many great "); strcat(txt,"works of renown did they accomplish. Among them were "); strcat(txt,"Colossus, the codebreaker; ENIAC, the targeter; EDSAC "); strcat(txt,"and MULTIVAC and all manner of froody creatures "); @@ -159,7 +154,7 @@ strcat(txt,"the Ancients. This was the First Age, the age of "); strcat(txt,"Lore.\n\n"); - strcat(txt,"Now the sons of Marketing looked upon the children of "); + strcat(txt,"~align=left~Now the sons of Marketing looked upon the children of "); strcat(txt,"Turing, and saw that they were swift of mind and "); strcat(txt,"terse of name and had many great and baleful "); strcat(txt,"attributes. And they said unto themselves, \"Let us go "); @@ -175,8 +170,7 @@ strcat(txt,"despising and being despised by the true Engineers, "); strcat(txt,"the children of von Neumann. "); - etox_set_alpha_mod(e_etox, 255); - etox_set_word_wrap(e_etox, WORD_WRAP_FORCE); + etox_set_alpha(e_etox, 255); etox_set_text(e_etox, txt); etox_x = 5; etox_y = 0; etox_move(e_etox, etox_x, etox_y); @@ -190,25 +184,22 @@ evas_show(e, rect[2]); evas_lower(e, rect[2]); - e_etox_2 = Etox_new("Showoff"); - e_etox_2->evas = e; - etox_set_font_style(e_etox_2, e_font_style); + e_etox_2 = etox_new(e, "Showoff"); + etox_set_style(e_etox_2, e_font_style); etox_set_layer(e_etox_2, 15); - e_etox_2->font = strdup("cinema"); - e_etox_2->font_size = 10; - e_etox_2->w=210; - e_etox_2->h=400; - etox_set_alpha_mod(e_etox_2, 255); - - strcpy(txt,"~color=fg 255 255 255~~color=ol 0 0 0~~color=sh 0 0 0~~valign=bottom~~font=notepad~~size=14~Various vertical and horizontal alignments:\n"); - strcat(txt,"~color=fg 255 2 2~~color=ol 0 0 0~~color=sh 0 0 0~~valign=bottom~~font=cinema~"); + etox_set_font(e_etox_2, "cinema", 10); + etox_resize(e_etox_2, 210, 400); + etox_set_alpha(e_etox_2, 100); + + strcpy(txt,"~color=fg 255 255 255 255~~color=ol 0 0 0 255~~color=sh 0 0 0 255~~valign=bottom~~font=notepad~~size=14~Various vertical and horizontal alignments:\n"); + strcat(txt,"~color=fg 255 2 2 255~~color=ol 0 0 0 255~~color=sh 0 0 0 255~~valign=bottom~~font=cinema~"); strcat(txt,"~valign=top~~align=left~~size=25~B~size=23~B~size=21~B~size=19~B~size=17~B\n"); strcat(txt,"~valign=center~~align=center~~size=25~B~size=23~B~size=21~B~size=19~B~size=17~B\n"); strcat(txt,"~valign=bottom~~align=right~~size=25~B~size=23~B~size=21~B~size=19~B~size=17~B\n"); etox_set_text(e_etox_2, txt); etox_set_layer(e_etox_2, 15); - etox_move(e_etox_2,420,75); + etox_move(e_etox_2, 420, 75); etox_show(e_etox_2); rect_2 = evas_add_rectangle(e); @@ -218,28 +209,24 @@ evas_set_layer(e, rect_2, 14); evas_show(e, rect_2); - tcl = malloc(sizeof(E_Text_Color)); - tcl->fg.r = 255; - tcl->fg.g = 255; - tcl->fg.b = 255; - tcl->ol.r = 20; - tcl->ol.g = 20; - tcl->ol.b = 100; - tcl->sh.r = 100; - tcl->sh.g = 30; - tcl->sh.b = 30; - - et_up_label = Etox_new_all(e, "UP label", 400, 5, 200, 100, - 60, "cinema", "sh_ol.style", 15, tcl, - 0, ALIGN_CENTER, ALIGN_BOTTOM); - etox_set_alpha_mod(et_up_label, 0); + tcl = etox_color_new(); + etox_color_set_member(tcl, "fg", 255, 255, 255, 255); + etox_color_set_member(tcl, "ol", 20, 20, 100, 255); + etox_color_set_member(tcl, "sh", 100, 30, 30, 255); + + et_up_label = etox_new_all(e, "UP label", 400, 5, 200, 100, + "cinema", 15, "sh_ol.style", tcl, + ETOX_ALIGN_CENTER, ETOX_ALIGN_BOTTOM, + 60, 0); + etox_set_alpha(et_up_label, 0); etox_set_text(et_up_label, "GO UP !!!"); etox_show(et_up_label); - et_down_label = Etox_new_all(e, "DOWN label", 400, 430, 200, 100, - 60, "cinema", "sh_ol.style", 15, tcl, - 0, ALIGN_CENTER, ALIGN_BOTTOM); - etox_set_alpha_mod(et_down_label, 0); + et_down_label = etox_new_all(e, "UP label", 400, 430, 200, 100, + "cinema", 15, "sh_ol.style", tcl, + ETOX_ALIGN_CENTER, ETOX_ALIGN_BOTTOM, + 60, 0); + etox_set_alpha(et_down_label, 0); etox_set_text(et_down_label, "GO DOWN !!!"); etox_show(et_down_label); @@ -301,7 +288,7 @@ etox_free(et_up_label); etox_free(e_etox_2); etox_free(e_etox); - free(tcl); + etox_color_free(tcl); for (i=0; i<3; i++) evas_del_object(e, o[i]); for (i=0; i<NRECTS; i++) @@ -322,22 +309,25 @@ { double shift; double dx, dy; - + double ex, ey, ew, eh; + + etox_get_geometry(e_etox, &ex, &ey, &ew, &eh); + shift = floor((get_time() - t1) / 0.04); - if (!(((e_etox->x - etox_x) == 0) && (e_etox->y - etox_y) == 0)) + if (!(((ex - etox_x) == 0) && (ey - etox_y) == 0)) { - dx = (shift < fabs(e_etox->x - etox_x)) ? - -(shift * (fabs(e_etox->x - etox_x)/(e_etox->x - etox_x))) : - -(e_etox->x - etox_x); - dy = (shift < fabs(e_etox->y - etox_y)) ? - -(shift * (fabs(e_etox->y - etox_y)/(e_etox->y - etox_y))) : - -(e_etox->y - etox_y); + dx = (shift < fabs(ex - etox_x)) ? + -(shift * (fabs(ex - etox_x)/(ex - etox_x))) : + -(ex - etox_x); + dy = (shift < fabs(ey - etox_y)) ? + -(shift * (fabs(ey - etox_y)/(ey - etox_y))) : + -(ey - etox_y); if (dx) { double ox, oy, ow, oh; int j; - etox_move(e_etox, e_etox->x+dx, e_etox->y); + etox_move(e_etox, ex+dx, ey); for (j=0; j<NRECTS; j++) { @@ -349,7 +339,7 @@ { double ox, oy, ow, oh; int j; - etox_move(e_etox, e_etox->x, e_etox->y+dy); + etox_move(e_etox, ex, ey+dy); for (j=0; j<NRECTS; j++) { @@ -358,20 +348,20 @@ } } } - if (alpha_up_goal < etox_get_alpha_mod(et_up_label)) { - etox_set_alpha_mod(et_up_label, (etox_get_alpha_mod(et_up_label) - (shift * 10)) < 0 ? 0 : etox_get_alpha_mod(et_up_label) - (shift * 10)); + if (alpha_up_goal < etox_get_alpha(et_up_label)) { + etox_set_alpha(et_up_label, (etox_get_alpha(et_up_label) - (shift * 10)) < 0 ? 0 : etox_get_alpha(et_up_label) - (shift * 10)); } - if (alpha_up_goal > etox_get_alpha_mod(et_up_label)) { - etox_set_alpha_mod(et_up_label, etox_get_alpha_mod(et_up_label) + (shift * 10)); - if (etox_get_alpha_mod(et_up_label) >= 255) + if (alpha_up_goal > etox_get_alpha(et_up_label)) { + etox_set_alpha(et_up_label, etox_get_alpha(et_up_label) + (shift * 10)); + if (etox_get_alpha(et_up_label) >= 255) alpha_up_goal = 0; } - if (alpha_down_goal < etox_get_alpha_mod(et_down_label)) { - etox_set_alpha_mod(et_down_label, (etox_get_alpha_mod(et_down_label) - (shift * 10)) < 0 ? 0 : etox_get_alpha_mod(et_down_label) - (shift * 10)); + if (alpha_down_goal < etox_get_alpha(et_down_label)) { + etox_set_alpha(et_down_label, (etox_get_alpha(et_down_label) - (shift * 10)) < 0 ? 0 : etox_get_alpha(et_down_label) - (shift * 10)); } - if (alpha_down_goal > etox_get_alpha_mod(et_down_label)) { - etox_set_alpha_mod(et_down_label, etox_get_alpha_mod(et_down_label) + (shift * 10)); - if (etox_get_alpha_mod(et_down_label) >= 255) + if (alpha_down_goal > etox_get_alpha(et_down_label)) { + etox_set_alpha(et_down_label, etox_get_alpha(et_down_label) + (shift * 10)); + if (etox_get_alpha(et_down_label) >= 255) alpha_down_goal = 0; } t1 = get_time(); |
From: <enl...@li...> - 2001-04-12 18:06:59
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test.c etox_test_new.c Log Message: make etox_test* handle resizes and onyl resize the viewport.. u'll notice things scale.... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- etox_test.c 2001/04/11 23:32:04 1.8 +++ etox_test.c 2001/04/12 18:06:58 1.9 @@ -49,9 +49,6 @@ Display *disp; Window win; Window root_win; - Visual *vis; - Colormap cm; - int depth; char txt[4096]; @@ -72,15 +69,13 @@ win = evas_get_window(e); /* tell X what events we are interested in */ - XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | - PointerMotionMask | ExposureMask); + XSelectInput(disp, win, + ButtonPressMask | ButtonReleaseMask | + PointerMotionMask | ExposureMask | + StructureNotifyMask | SubstructureNotifyMask | + VisibilityChangeMask); XMapWindow(disp, win); -// XSync(disp, False); - vis = evas_get_optimal_visual(e, disp); - cm = evas_get_optimal_colormap(e, disp); - depth = evas_get_colors(e); - etox_style_add_path(DATADIR"/etox/style"); etox_style_add_path("./style"); @@ -248,7 +243,16 @@ XNextEvent(disp, &ev); switch(ev.type) { - case Expose: + case ConfigureNotify: + /* window resized */ + printf("resize to %i %i\n", + ev.xconfigure.width, + ev.xconfigure.height); + evas_set_output_size(e, + ev.xconfigure.width, + ev.xconfigure.height); + break; + case Expose: /* window rectangle was exposed - add it to the list of */ /* rectangles we need to re-render */ evas_update_rect(e, @@ -266,7 +270,7 @@ if (button == 1) { Evas_Object obj; - + obj = evas_object_at_position(e, mouse_x, mouse_y); if (obj == o[1]) @@ -294,7 +298,7 @@ for (i=0; i<NRECTS; i++) evas_del_object(e, rect[i]); evas_del_object(e, rect_2); - + evas_free(e); exit(0); } @@ -304,7 +308,7 @@ break; } } - + if ((get_time() - t1) > 0.04) { double shift; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_new.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etox_test_new.c 2001/04/11 23:27:28 1.1 +++ etox_test_new.c 2001/04/12 18:06:58 1.2 @@ -76,9 +76,6 @@ Display *disp; Window win; - Visual *vis; - Colormap cm; - int depth; char txt[4096]; @@ -93,11 +90,8 @@ FNTDIR); win = evas_get_window(e); XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | - PointerMotionMask | ExposureMask); + PointerMotionMask | ExposureMask | StructureNotifyMask); XMapWindow(disp, win); - vis = evas_get_optimal_visual(e, disp); - cm = evas_get_optimal_colormap(e, disp); - depth = evas_get_colors(e); etox_style_add_path(DATADIR"/etox/style"); etox_style_add_path("./style"); @@ -205,6 +199,13 @@ XNextEvent(disp, &ev); switch (ev.type) { + case ConfigureNotify: + printf("resize to %i %i\n", + ev.xconfigure.width, + ev.xconfigure.height); + evas_set_output_size(e, + ev.xconfigure.width, + ev.xconfigure.height); case ButtonPress: { int button, mouse_x, mouse_y; |
From: <enl...@li...> - 2001-04-12 18:41:43
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test/img Modified Files: Makefile.am Added Files: evas_test_image_0.png evas_test_image_1.png evas_test_image_2.png Log Message: add these.. why did they vanish? :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/img/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 2001/03/19 02:12:00 1.1 +++ Makefile.am 2001/04/12 18:41:34 1.2 @@ -1,5 +1,6 @@ etoxdir = $(datadir)/etox/img etox_DATA = \ -arrow_down.png arrow_up.png sky001.png +arrow_down.png arrow_up.png sky001.png evas_test_image_0.png \ +evas_test_image_1.png evas_test_image_2.png EXTRA_DIST = $(etox_DATA) |
From: <enl...@li...> - 2001-04-12 18:59:58
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test_new.c Log Message: add opts.. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_new.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etox_test_new.c 2001/04/12 18:06:58 1.2 +++ etox_test_new.c 2001/04/12 18:59:57 1.3 @@ -68,6 +68,7 @@ Evas_Object o[8]; Evas_Render_Method method; int down; + int x, y, w, h; Etox_Style st; Etox_Color ec; @@ -81,12 +82,28 @@ win_w = 640; win_h = 580; + method = RENDER_METHOD_ALPHA_SOFTWARE; + if (argv > 1) + { + if (!strcmp(argv[1], "x11")) method = RENDER_METHOD_BASIC_HARDWARE; + if (!strcmp(argv[1], "soft")) method = RENDER_METHOD_ALPHA_SOFTWARE; + if (!strcmp(argv[1], "hard")) method = RENDER_METHOD_3D_HARDWARE; + if (!strcmp(argv[1], "render")) method = RENDER_METHOD_ALPHA_HARDWARE; + if (!strcmp(argv[1], "-h")) + { + printf("options:\n" + "\t %s [x11 | soft | hard | render]\n" + "Where the option selects the evas rendering engine.\n", + argv[0]); + exit(0); + } + } disp = XOpenDisplay(NULL); win = DefaultRootWindow(disp); e = evas_new_all(disp, win, 128, 0, win_w, win_h, method, - 216, 4 * 1024, 4 * 1024 * 1024, + 216, 8 * 1024 * 1024, 1 * 1024 * 1024, FNTDIR); win = evas_get_window(e); XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | @@ -112,37 +129,43 @@ "nationff", 10, "sh_ol.style", ec, ETOX_ALIGN_CENTER, ETOX_ALIGN_BOTTOM, 255, 0); - - ob[0] = etox_obstacle_add(et, 61, 323, 130, 137); - o[1] = evas_add_image_from_file(e, IMGDIR"evas_test_image_0.png"); - evas_move(e, o[1], 76, 323); - evas_raise(e, o[1]); + + x = 60, y = 320; + o[1] = evas_add_image_from_file(e, IMGDIR"evas_test_image_0.png"); + evas_get_image_size(e, o[1], &w, &h); + ob[0] = etox_obstacle_add(et, x, y, w, h); + evas_move(e, o[1], x, y); + evas_raise(e, o[1]); evas_show(e, o[1]); evas_callback_add(e, o[1], CALLBACK_MOUSE_DOWN, mouse_down, NULL); evas_callback_add(e, o[1], CALLBACK_MOUSE_UP, mouse_up, ob[0]); evas_callback_add(e, o[1], CALLBACK_MOUSE_MOVE, mouse_move, NULL); - ob[1] = etox_obstacle_add(et, 0, 60, 170, 120); - o[2] = evas_add_image_from_file(e, IMGDIR"evas_test_image_1.png"); - evas_move(e, o[2], 15, 60); + x = 200, y = 60; + o[2] = evas_add_image_from_file(e, IMGDIR"evas_test_image_1.png"); + evas_get_image_size(e, o[2], &w, &h); + ob[1] = etox_obstacle_add(et, x, y, w, h); + evas_move(e, o[2], x, y); evas_raise(e, o[2]); evas_show(e, o[2]); evas_callback_add(e, o[2], CALLBACK_MOUSE_DOWN, mouse_down, NULL); evas_callback_add(e, o[2], CALLBACK_MOUSE_UP, mouse_up, ob[1]); evas_callback_add(e, o[2], CALLBACK_MOUSE_MOVE, mouse_move, NULL); - ob[2] = etox_obstacle_add(et, 251, 357, 130, 90); - o[3] = evas_add_image_from_file(e, IMGDIR"evas_test_image_2.png"); - evas_move(e, o[3], 266, 357); + x = 400, y = 100; + o[3] = evas_add_image_from_file(e, IMGDIR"evas_test_image_2.png"); + evas_get_image_size(e, o[3], &w, &h); + ob[2] = etox_obstacle_add(et, x, y, w, h); + evas_move(e, o[3], x, y); evas_raise(e, o[3]); evas_show(e, o[3]); evas_callback_add(e, o[3], CALLBACK_MOUSE_DOWN, mouse_down, NULL); evas_callback_add(e, o[3], CALLBACK_MOUSE_UP, mouse_up, ob[2]); evas_callback_add(e, o[3], CALLBACK_MOUSE_MOVE, mouse_move, NULL); - strcpy(txt, "~font=borzoib~~size=20~The Etox Test Program\n\n"); + strcpy(txt, "~font=cinema~~size=16~~color=fg 255 240 180 255~The Etox Test Program\n"); - strcat(txt, "~size=10~Etox is a text layout abstraction, built "); + strcat(txt, "~font=notepad~~size=10~~color=fg 255 255 255 255~Etox is a text layout abstraction, built "); strcat(txt, "on top of Evas. It is to text, what Ebits is to images."); strcat(txt, " It is intended to abstract text layout to allow different"); strcat(txt, " fonts, colors, styles (outline, shadowed, etc.), word "); @@ -151,11 +174,11 @@ strcat(txt, "Try moving the images (obstacles) around, and see how "); strcat(txt, "etox perfectly wraps the text around them. Middle-clicking "); - strcat(txt, "an image will remove it..\n\n\n"); + strcat(txt, "an image will remove it..\n\n"); strcat(txt, "~align=left~About E17:\n\n"); - strcat(txt, "~size~~font~E17 is already beginning to use a powerful "); + strcat(txt, "~size=10~~font=notepad~E17 is already beginning to use a powerful "); strcat(txt, "object model system. I like to call this system the "); strcat(txt, "\"fork() & exec()\" object model. Unlike other desktops "); strcat(txt, "who like to invent new \"interesting\" ways of doing "); @@ -178,12 +201,6 @@ strcat(txt, "application launcher panels, configuration panels "); strcat(txt, "(background selection and more) and general file browsing "); strcat(txt, "and management.\n\n"); - - strcat(txt, "~align=center~Next definitely is the ability to change "); - strcat(txt, "backgrounds of views. I have to make the whole background "); - strcat(txt, "handling abstraction decent as it will be recycled for "); - strcat(txt, "views, general windows with widgets, shelves inside of views "); - strcat(txt, "- in fact anything that needs a background."); etox_set_text(et, txt); etox_show(et); |
From: <enl...@li...> - 2001-04-12 20:25:29
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test_new.c Log Message: oops segv.. fix fix :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_new.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etox_test_new.c 2001/04/12 18:59:57 1.3 +++ etox_test_new.c 2001/04/12 20:25:28 1.4 @@ -84,7 +84,7 @@ win_h = 580; method = RENDER_METHOD_ALPHA_SOFTWARE; - if (argv > 1) + if (argc > 1) { if (!strcmp(argv[1], "x11")) method = RENDER_METHOD_BASIC_HARDWARE; if (!strcmp(argv[1], "soft")) method = RENDER_METHOD_ALPHA_SOFTWARE; |
From: <enl...@li...> - 2001-04-12 20:30:28
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test.c etox_test_new.c Log Message: clean fix.... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- etox_test.c 2001/04/12 18:06:58 1.9 +++ etox_test.c 2001/04/12 20:30:28 1.10 @@ -53,6 +53,22 @@ char txt[4096]; win_w = 640; win_h = 480; + method = RENDER_METHOD_ALPHA_SOFTWARE; + if (argc > 1) + { + if (!strcmp(argv[1], "x11")) method = RENDER_METHOD_BASIC_HARDWARE; + if (!strcmp(argv[1], "soft")) method = RENDER_METHOD_ALPHA_SOFTWARE; + if (!strcmp(argv[1], "hard")) method = RENDER_METHOD_3D_HARDWARE; + if (!strcmp(argv[1], "render")) method = RENDER_METHOD_ALPHA_HARDWARE; + if (!strcmp(argv[1], "-h")) + { + printf("options:\n" + "\t %s [x11 | soft | hard | render]\n" + "Where the option selects the evas rendering engine.\n", + argv[0]); + exit(0); + } + } /* the program... */ /* connect to X */ @@ -62,8 +78,8 @@ root_win = DefaultRootWindow(disp); e = evas_new_all(disp, root_win, 128, 0, win_w, win_h, - RENDER_METHOD_ALPHA_SOFTWARE, - 216, 4 * 1024 * 1024, 4 * 1024 * 1024, + method, + 216, 8 * 1024 * 1024, 2 * 1024 * 1024, FNTDIR); win = evas_get_window(e); @@ -120,7 +136,7 @@ strcpy(txt,"~color=fg 255 2 2 255~~color=ol 0 0 0 255~~color=sh 0 0 0 255~~valign=bottom~~font=morpheus~~size=20~"); strcat(txt,"~align=center~~size=25~~font=cinema~Th~font=morpheus~~size=20~e Gospel of Tux (v1.0)\n\n"); - strcat(txt,"~font=nationff~~size=12~~color=fg 255 255 255 255~~align~In the beginning Turing created the Machine.\n\n"); + strcat(txt,"~font=notepad~~size=12~~color=fg 255 255 255 255~~align~In the beginning Turing created the Machine.\n\n"); strcat(txt,"~align=center~And the Machine was crufty and bodacious, existing in "); strcat(txt,"theory only. And von Neumann looked upon the Machine, "); @@ -245,9 +261,6 @@ { case ConfigureNotify: /* window resized */ - printf("resize to %i %i\n", - ev.xconfigure.width, - ev.xconfigure.height); evas_set_output_size(e, ev.xconfigure.width, ev.xconfigure.height); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_new.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etox_test_new.c 2001/04/12 20:25:28 1.4 +++ etox_test_new.c 2001/04/12 20:30:28 1.5 @@ -103,7 +103,7 @@ disp = XOpenDisplay(NULL); win = DefaultRootWindow(disp); e = evas_new_all(disp, win, 128, 0, win_w, win_h, method, - 216, 8 * 1024 * 1024, 1 * 1024 * 1024, + 216, 8 * 1024 * 1024, 2 * 1024 * 1024, FNTDIR); win = evas_get_window(e); XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | @@ -217,9 +217,6 @@ switch (ev.type) { case ConfigureNotify: - printf("resize to %i %i\n", - ev.xconfigure.width, - ev.xconfigure.height); evas_set_output_size(e, ev.xconfigure.width, ev.xconfigure.height); |
From: <enl...@li...> - 2001-04-12 22:15:13
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: etox_set.c Log Message: allow for literal "~~" in the etox text string to denote a single "~" in the raw text =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox_set.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etox_set.c 2001/04/12 17:37:54 1.3 +++ etox_set.c 2001/04/12 22:15:13 1.4 @@ -297,6 +297,50 @@ /* Search for a closing char */ s2 = strstr(cur_end,"~"); + if ((cur_end[0] == '~')) + { + /* New line or a new font face - building a new bit */ + double obj_x, obj_y, obj_w, obj_h; + + /* Create a new bit list */ + if (cur_line) + cur_line = realloc(cur_line,sizeof(Etox_Bit) * + (cur_line_bit_count + 1)); + else + cur_line = malloc(sizeof(Etox_Bit) * (cur_line_bit_count + 1)); + + /* Create the next bit */ + cur_line[cur_line_bit_count] = _etox_bit_new(); + if ((last_token == 0) && (cur_line_bit_count > 0)) + { + char *new_line; + + new_line = malloc(sizeof(char) * (strlen(needles[2]) + 1)); + strcpy(new_line, needles[2]); + cur_line[cur_line_bit_count]->text = strdup(new_line); + free(new_line); + } + else + cur_line[cur_line_bit_count]->text = strdup(needles[2]); + + cur_line[cur_line_bit_count]->font = strdup(cur_font); + cur_line[cur_line_bit_count]->font_style = cur_font_style; + cur_line[cur_line_bit_count]->font_style->in_use++; + cur_line[cur_line_bit_count]->font_size = cur_font_size; + + /* Set the object in the proper place */ + cur_line[cur_line_bit_count]->x = cur_x; + cur_line[cur_line_bit_count]->y = cur_y; + + /* Create the Evas objects */ + _etox_bit_create_objects(cur_line[cur_line_bit_count], e, + cur_text_color); + + cur_x = cur_line[cur_line_bit_count]->x + + cur_line[cur_line_bit_count]->w; + + cur_line_bit_count += 1; + } if (s2 && (s2 != (cur_end+1))) { s3 = strstr(cur_end,"="); @@ -436,7 +480,7 @@ &cur_beg, &cur_end); } else - { + { last_token = cur_token; cur_token = _etox_search_tokens((s2 + 1),needles,3, &cur_beg, &cur_end); |
From: <enl...@li...> - 2001-04-12 23:14:53
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: etox_test_new.c Log Message: handle screen to world coord transforms since we allow out evas to not have a 1:1 ratio between outptu and canvas coords =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_new.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etox_test_new.c 2001/04/12 20:30:28 1.5 +++ etox_test_new.c 2001/04/12 23:14:50 1.6 @@ -10,54 +10,55 @@ Etox et; char txt[4096]; +double down_x, down_y; +double ox, oy; + void mouse_down (void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) { - evas_put_data(_e, _o, "clicked", (void *)1); - evas_put_data(_e, _o, "x", (void *)_x); - evas_put_data(_e, _o, "y", (void *)_y); - evas_set_layer(_e, _o, 200); + evas_put_data(_e, _o, "clicked", (void *)1); + evas_set_layer(_e, _o, 200); + evas_get_geometry(_e, _o, &ox, &oy, NULL, NULL); + down_x = evas_screen_x_to_world(_e, _x); + down_y = evas_screen_y_to_world(_e, _y); } void mouse_up (void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) { - Etox_Obstacle ob; - double ox, oy, w, h; - int x, y; - - evas_remove_data(_e, _o, "clicked"); - evas_set_layer(_e, _o, 50); - - ob = _data; - - if (_b == 2) - { - etox_obstacle_del(et, ob); - evas_hide(_e, _o); - return; - } - - evas_get_geometry(_e, _o, &ox, &oy, &w, &h); - x = evas_get_data(_e, _o, "x"); - y = evas_get_data(_e, _o, "y"); - etox_obstacle_set(et, ob, (ox + _x - x) - 15, oy + _y - y, w + 10, h); + Etox_Obstacle ob; + double x, y, w, h; + + evas_remove_data(_e, _o, "clicked"); + evas_set_layer(_e, _o, 50); + + ob = _data; + + if (_b == 2) + { + etox_obstacle_del(et, ob); + evas_hide(_e, _o); + return; + } + x = evas_screen_x_to_world(_e, _x); + y = evas_screen_y_to_world(_e, _y); + + evas_move(_e, _o, ox + x - down_x, oy + y - down_y); + evas_get_geometry(_e, _o, NULL, NULL, &w, &h); + + etox_obstacle_set(et, ob, ox + x - down_x, oy + y - down_y, w, h); } void mouse_move (void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y) { if (evas_get_data(_e, _o, "clicked")) - { - double ox, oy; - int x, y; - - evas_get_geometry(_e, _o, &ox, &oy, NULL, NULL); - x = evas_get_data(_e, _o, "x"); - y = evas_get_data(_e, _o, "y"); - evas_put_data(_e, _o, "x", (void *)_x); - evas_put_data(_e, _o, "y", (void *)_y); - evas_move(_e, _o, ox + _x - x, oy + _y - y); + { + double x, y; + + x = evas_screen_x_to_world(_e, _x); + y = evas_screen_y_to_world(_e, _y); + evas_move(_e, _o, ox + x - down_x, oy + y - down_y); } } |
From: <enl...@li...> - 2001-08-19 22:34:38
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test Modified Files: Makefile.am etox_test_drag.c Log Message: might be ab idea to include the fonts used :) and install them :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 2001/08/17 12:20:33 1.5 +++ Makefile.am 2001/08/19 22:34:35 1.6 @@ -1,6 +1,8 @@ AUTOMAKE_OPTIONS = 1.4 foreign MAINTAINERCLEANFILES = Makefile.in +SUBDIRS = fnt img style + CFLAGS = -g -W -Wall -Wno-implicit INCLUDES = -I$(top_srcdir)/src @evas_cflags@ @ewd_cflags@ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test_drag.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etox_test_drag.c 2001/08/19 17:10:47 1.2 +++ etox_test_drag.c 2001/08/19 22:34:35 1.3 @@ -109,6 +109,7 @@ XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | PointerMotionMask | ExposureMask | StructureNotifyMask); XMapWindow(disp, win); + XSync(disp, False); etox_style_add_path(STLDIR); etox_style_add_path("./style"); |
From: <enl...@li...> - 2001-08-19 22:34:38
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/test/fnt Modified Files: Makefile.am Makefile.in Added Files: nationff.ttf Log Message: might be ab idea to include the fonts used :) and install them :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/fnt/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 2001/03/18 21:43:07 1.2 +++ Makefile.am 2001/08/19 22:34:35 1.3 @@ -3,6 +3,7 @@ cinema.ttf \ grunge.ttf \ morpheus.ttf \ +nationff.ttf \ notepad.ttf etoxdir = $(datadir)/etox/fnt etox_DATA = \ @@ -10,4 +11,5 @@ cinema.ttf \ grunge.ttf \ morpheus.ttf \ -notepad.ttf +notepad.ttf \ +nationff.ttf =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/test/fnt/Attic/Makefile.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.in 2001/03/21 23:53:48 1.3 +++ Makefile.in 2001/08/19 22:34:35 1.4 @@ -61,7 +61,6 @@ host_triplet = @host@ AS = @AS@ CC = @CC@ -DLLDFLAGS = @DLLDFLAGS@ DLLTOOL = @DLLTOOL@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ @@ -70,25 +69,26 @@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ -evas_includes = @evas_includes@ +ebits_cflags = @ebits_cflags@ +ebits_libs = @ebits_libs@ +ecore_cflags = @ecore_cflags@ +ecore_libs = @ecore_libs@ +edb_cflags = @edb_cflags@ +edb_libs = @edb_libs@ +evas_cflags = @evas_cflags@ evas_libs = @evas_libs@ -gl_includes = @gl_includes@ -gl_ldflags = @gl_ldflags@ -gl_libs = @gl_libs@ -ttf_includes = @ttf_includes@ -ttf_libs = @ttf_libs@ -x_cflags = @x_cflags@ -x_includes = @x_includes@ -x_ldflags = @x_ldflags@ -x_libs = @x_libs@ +ewd_cflags = @ewd_cflags@ +ewd_libs = @ewd_libs@ +imlib2_cflags = @imlib2_cflags@ +imlib2_libs = @imlib2_libs@ -EXTRA_DIST = andover.ttf cinema.ttf grunge.ttf morpheus.ttf notepad.ttf +EXTRA_DIST = andover.ttf cinema.ttf grunge.ttf morpheus.ttf nationff.ttf notepad.ttf etoxdir = $(datadir)/etox/fnt -etox_DATA = andover.ttf cinema.ttf grunge.ttf morpheus.ttf notepad.ttf +etox_DATA = andover.ttf cinema.ttf grunge.ttf morpheus.ttf notepad.ttf nationff.ttf mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = ../../config.h +CONFIG_HEADER = ../../etox-config.h CONFIG_CLEAN_FILES = DATA = $(etox_DATA) |
From: <enl...@li...> - 2004-06-24 06:06:44
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/m4 Log Message: Directory /cvsroot/enlightenment/e17/libs/etox/m4 added to the repository |
From: <enl...@li...> - 2004-06-24 06:11:40
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/m4 Added Files: ac_expand_dir.m4 ac_path_generic.m4 Log Message: autofool cleanups... argh! i hate autofools! |
From: <enl...@li...> - 2004-06-24 06:12:18
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox Modified Files: autogen.sh Log Message: autofool cleanups... argh! i hate autofools! =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/autogen.sh,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- autogen.sh 13 May 2004 19:22:41 -0000 1.4 +++ autogen.sh 24 Jun 2004 06:11:33 -0000 1.5 @@ -1,35 +1,13 @@ -#! /bin/sh +#!/bin/sh -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +rm -rf autom4te.cache +rm -f aclocal.m4 -THEDIR="`pwd`" -cd "$srcdir" -DIE=0 - -set -x -autoheader -libtoolize --ltdl --force --copy -aclocal -automake --foreign --add-missing -autoconf - -set +x - -if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the $0 command line." - echo "" -fi - -cd "$THEDIR" - -$srcdir/configure "$@" - -echo "Now type:" -echo -echo "make" -echo "make install" -echo -echo "have fun." +echo "Running aclocal..."; aclocal $ACLOCAL_FLAGS -I m4 \ +&& echo "Running autoheader..."; autoheader \ +&& echo "Running autoconf..."; autoconf \ +&& echo "Running libtoolize..."; libtoolize --automake \ +&& echo "Running automake..."; automake --add-missing --copy --gnu +### If you want this, uncomment it. +./configure "$@" |
From: <enl...@li...> - 2004-11-13 11:17:28
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src/style Modified Files: etox_style.c Log Message: 1. actually FORMAt correctly on resizes... 2. dont LEAK! =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/style/etox_style.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etox_style.c 6 Oct 2004 04:48:49 -0000 1.5 +++ etox_style.c 13 Nov 2004 11:17:14 -0000 1.6 @@ -34,6 +34,7 @@ * Check to see if the internal data structures has been completed. */ if (!etox_style_setup_complete) { + evas_font_path_append(evas, PACKAGE_DATA_DIR"/fonts"); etox_style_smart = evas_smart_new("etox_style_smart", NULL, etox_style_free, etox_style_set_layer, NULL, NULL, NULL, NULL, @@ -51,7 +52,6 @@ memset(es, 0, sizeof(Etox_Style)); es->evas = evas; - evas_font_path_append(es->evas, PACKAGE_DATA_DIR"/fonts"); /* * Create the Evas_Object and set the default font and font size. |
From: <enl...@li...> - 2004-11-13 11:17:51
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: etox.c etox_line.c Log Message: 1. actually FORMAt correctly on resizes... 2. dont LEAK! =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox.c,v retrieving revision 1.101 retrieving revision 1.102 diff -u -3 -r1.101 -r1.102 --- etox.c 2 Nov 2004 16:19:57 -0000 1.101 +++ etox.c 13 Nov 2004 11:17:11 -0000 1.102 @@ -12,7 +12,7 @@ static Evas_List *_etox_break_text(Etox * et, char *text); -Evas_Smart *etox_smart = NULL; +static Evas_Smart *etox_smart = NULL; /** * etox_new - create a new etox with default settings @@ -26,12 +26,14 @@ CHECK_PARAM_POINTER_RETURN("evas", evas, NULL); - if (!etox_smart) + if (!etox_smart) { + evas_font_path_append(evas, PACKAGE_DATA_DIR "/fonts"); etox_smart = evas_smart_new("etox_smart", NULL, etox_free, etox_set_layer, NULL, NULL, NULL, NULL, etox_move, etox_resize, etox_show, etox_hide, NULL, etox_set_clip, etox_unset_clip, NULL); + } /* * Create the etox and assign it's evas to draw on. @@ -39,7 +41,6 @@ et = (Etox *) calloc(1, sizeof(Etox)); et->evas = evas; - evas_font_path_append(evas, PACKAGE_DATA_DIR "/fonts"); et->smart_obj = evas_object_smart_add(evas, etox_smart); evas_object_smart_data_set(et->smart_obj, et); @@ -684,7 +685,7 @@ * etox_get_length() includes the \n's at the end of each line * whereas et->length does not. */ - ret = (char *) calloc(et->length, sizeof(char)); + ret = (char *) calloc(et->length + 1, sizeof(char)); temp = ret; @@ -693,7 +694,7 @@ */ for (l = et->lines; l; l = l->next) { line = l->data; - etox_line_get_text(line, temp, et->length); + etox_line_get_text(line, temp, et->length + 1); /* * FIXME: Currently, in etox_line_get_text(), line->length @@ -937,7 +938,16 @@ * Layout lines if appropriate. */ if (et->lines) - etox_layout(et); + { + char *text; + + text = etox_get_text(obj); + if (text) + { + etox_set_text(obj, text); + free(text); + } + } /* * Adjust the clip box to display the contents correctly. We need to =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox_line.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- etox_line.c 30 Oct 2004 04:42:23 -0000 1.45 +++ etox_line.c 13 Nov 2004 11:17:13 -0000 1.46 @@ -361,7 +361,7 @@ char *temp; Evas_Object *es; Evas_List *l; - int sum = 0; + int sum = 0, pos = 0; CHECK_PARAM_POINTER("line", line); CHECK_PARAM_POINTER("buf", buf); @@ -371,8 +371,11 @@ * of the buffer. Then append a \n to the buffer at the end of the * line. */ + if (len < 1) return; + buf[0] = 0; for (l = line->bits; l; l = l->next) { int t; + int tlen; es = l->data; sum += etox_style_length(es); @@ -384,8 +387,15 @@ temp = "\t"; else temp = etox_style_get_text(es); - if (snprintf(buf, len, "%s%s", buf, temp) < len) - fprintf(stderr, "WARNING! Etox concatenated a line."); + tlen = strlen(temp); + if (pos + tlen < len) { + pos += tlen; + strcat(buf, temp); + } + else { + strncat(buf, temp, (len - pos)); + pos = len - 1; + } free(temp); } line->length = sum; @@ -539,6 +549,7 @@ if (t == ETOX_BIT_TYPE_WRAP_MARKER) { line->bits = evas_list_remove(line->bits, marker); + evas_object_del(marker); } } |
From: <enl...@li...> - 2004-11-17 11:54:22
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: etox.c Log Message: append now works... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -3 -r1.102 -r1.103 --- etox.c 13 Nov 2004 11:17:11 -0000 1.102 +++ etox.c 17 Nov 2004 11:54:14 -0000 1.103 @@ -199,6 +199,22 @@ CHECK_PARAM_POINTER("obj", obj); CHECK_PARAM_POINTER("text", text); + { + char *text2; + + text2 = etox_get_text(obj); + if (text2) + { + text2 = realloc(text2, strlen(text2) + strlen(text) + 1); + strcat(text2, text); + } + else + text2 = strdup(text); + etox_set_text(obj, text2); + free(text2); + return; + } +#if 0 et = evas_object_smart_data_get(obj); /* @@ -266,6 +282,7 @@ etox_layout(et); if (et->lines && evas_object_visible_get(obj)) evas_object_show(et->clip); +#endif } /** |
From: <enl...@li...> - 2005-01-29 03:46:25
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src/style Modified Files: etox_style.c Log Message: bart's etox patches - seem to work with ewl. fixed an infinite loop issue with re-layout =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/style/etox_style.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etox_style.c 7 Dec 2004 02:52:23 -0000 1.7 +++ etox_style.c 29 Jan 2005 03:46:17 -0000 1.8 @@ -6,6 +6,8 @@ #define DEFAULT_FONT "nationff" #define DEFAULT_SIZE 12 +//#define DEBUG ON + void __etox_style_update_position(Etox_Style *es); void __etox_style_update_dimensions(Etox_Style *es); void __etox_style_callback_dispatcher(void *_data, Evas *_e, Evas_Object *_o, @@ -428,6 +430,9 @@ */ void etox_style_set_text(Evas_Object *obj, char *text) { +#ifdef DEBUG + printf("etox_style_set_text() - called. text is (%s)\n", text); +#endif int i, scount; char *temp; Etox_Style *es; @@ -444,6 +449,9 @@ * characters needed. */ scount = es->length = strlen(text); +#ifdef DEBUG + printf("etox_style_set_text() - strlen returned %d\n", es->length); +#endif while (--scount > 0 && isspace(text[scount])); scount++; @@ -465,6 +473,9 @@ */ temp[scount + (2 * i)] = '\0'; evas_object_text_text_set(es->bit, temp); +#ifdef DEBUG + printf("etox_style_set_text() - setting object text to (%s)\n", temp); +#endif FREE(temp); /* |
From: <enl...@li...> - 2005-01-29 03:46:25
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: Etox.h etox.c etox_line.c etox_selection.c Log Message: bart's etox patches - seem to work with ewl. fixed an infinite loop issue with re-layout =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/Etox.h,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- Etox.h 30 Dec 2004 20:58:45 -0000 1.54 +++ Etox.h 29 Jan 2005 03:46:07 -0000 1.55 @@ -251,6 +251,9 @@ Etox_Context *context); Etox_Rect *etox_selection_get_geometry(Etox_Selection *selected, int *num); +/** Printout the text buffer to support debugging */ +void etox_print_text(Evas_Object *obj); + #ifdef __cplusplus } #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox.c,v retrieving revision 1.111 retrieving revision 1.112 diff -u -3 -r1.111 -r1.112 --- etox.c 30 Dec 2004 23:44:52 -0000 1.111 +++ etox.c 29 Jan 2005 03:46:08 -0000 1.112 @@ -1,6 +1,9 @@ +#include <ctype.h> #include "config.h" #include "Etox_private.h" +//#define DEBUG ON + static void etox_free(Evas_Object * et); static void etox_show(Evas_Object * et); static void etox_hide(Evas_Object * et); @@ -382,6 +385,9 @@ et->tw = line->w; } +#ifdef DEBUG + printf("etox_set_text() - calling etox_layout()\n"); +#endif etox_layout(et); if (et->lines && evas_object_visible_get(obj)) evas_object_show(et->clip); @@ -412,7 +418,9 @@ */ if (!et->lines) return NULL; - +#ifdef DEBUG + printf("etox_get_text() - etox length = %d\n", et->length); +#endif ret = (char *) calloc(et->length + 1, sizeof(char)); temp = ret; @@ -422,7 +430,13 @@ len = et->length; for (l = et->lines; l; l = l->next) { line = l->data; +#ifdef DEBUG + printf("etox_get_text() - getting up to %d characters\n", len); +#endif etox_line_get_text(line, temp, len); +#ifdef DEBUG + printf("etox_get_text() - line text is : (%s)\n", temp); +#endif /* * FIXME: Currently, in etox_line_get_text(), line->length @@ -436,6 +450,9 @@ Etox_Line * nline = l->next->data; if (!(nline->flags & ETOX_LINE_WRAPPED)) { strcat(temp, "\n"); +#ifdef DEBUG + printf("etox_get_text() - appended newline\n"); +#endif temp++; len--; } @@ -478,6 +495,9 @@ et->lines = NULL; evas_object_hide(et->clip); + + // Reset the active selections + etox_selection_free_by_etox(obj); } /** @@ -500,6 +520,9 @@ else et->flags &= ~ETOX_SOFT_WRAP; +#ifdef DEBUG + printf("\netox_set_soft_wrap() - calling etox_layout()\n"); +#endif etox_layout(et); } @@ -557,6 +580,9 @@ else et->flags &= ~ETOX_BREAK_WORDS; +#ifdef DEBUG + printf("\netox_set_word_wrap() - calling etox_layout()\n"); +#endif etox_layout(et); } @@ -631,7 +657,12 @@ * Layout lines if appropriate. */ if (et->lines) + { +#ifdef DEBUG + printf("\netox_move() - calling etox_layout()\n"); +#endif etox_layout(et); + } /* * Adjust the clip box to display the contents correctly. We need to @@ -653,6 +684,9 @@ */ static void etox_resize(Evas_Object * obj, Evas_Coord w, Evas_Coord h) { +#ifdef DEBUG + printf("\netox_resize() - called. w=%d h=%d\n", w, h); +#endif Etox *et; CHECK_PARAM_POINTER("obj", obj); @@ -668,6 +702,9 @@ /* * Layout lines if appropriate. */ +#ifdef DEBUG + printf("etox_resize() - calling etox_layout()\n"); +#endif etox_layout(et); /* @@ -948,6 +985,9 @@ if (obst) et->obstacles = evas_list_append(et->obstacles, obst); +#ifdef DEBUG + printf("\netox_obstacle_add() - calling etox_layout()\n"); +#endif etox_layout(et); return obst; @@ -1081,6 +1121,9 @@ etox_line_append(line, bit); evas_object_show(bit); + // We just converted 1 character into 8, so adjust the line length + line->length += 7; + break; /* @@ -1115,6 +1158,9 @@ if (*walk == '\r' && *text == '\n') { walk++; text++; + // This skips a character that was counted in the + // original length, so decrement length by 1. +//?? et->length--; } if (line->w > et->tw) @@ -1165,6 +1211,10 @@ */ void etox_layout(Etox * et) { +#ifdef DEBUG + printf("\netox_layout() - called\n"); + printf("etox_layout() - etox size is w=%d, h=%d\n", et->w, et->h); +#endif int y; Etox_Line *line; Evas_List *l; @@ -1208,6 +1258,13 @@ line->x = et->x; line->y = y; +#ifdef DEBUG + char *tmpLine = calloc(256, sizeof(char)); + etox_line_get_text(line, tmpLine, 256); + printf("\n\netox_layout() - current line is : %s\n", tmpLine); + free(tmpLine); +#endif + /* * Unwrap lines if they were wrapped */ @@ -1234,6 +1291,9 @@ ll = ll->next; } +#ifdef DEBUG + printf("etox_layout() - performing initial line layout\n"); +#endif etox_line_layout(line); /* @@ -1241,14 +1301,31 @@ * the width affects alignment. */ if ((et->flags & ETOX_SOFT_WRAP) && (line->w > et->w)) { - etox_line_wrap(et, line); +#ifdef DEBUG + printf("etox_layout() - line needs wrapping. calling etox_line_wrap()\n"); +#endif + int index = etox_line_wrap(et, line); + if (index >= 0) + { +#ifdef DEBUG + printf("etox_layout() - re-laying out wrapped line.\n"); +#endif etox_line_layout(line); + } } +#ifdef DEBUG + printf("etox_layout() - line complete. current etox size is w=%d, h=%d\n", et->w, et->h); +#endif l = l->next; y += line->h; } et->th = y - et->y; +#ifdef DEBUG + printf("etox_layout() - Unwrapped text size is w=%d, h=%d\n", et->tw, et->th); + printf("etox_layout() - etox size is w=%d, h=%d\n", et->w, et->h); + printf("etox_layout() - done.\n\n"); +#endif } Etox_Line * @@ -1274,22 +1351,52 @@ Etox_Line * etox_index_to_line(Etox *et, int *i) { - int len = 0; +#ifdef DEBUG + printf("etox_index_to_line() - called. index = %d\n", *i); +#endif + int begin_line_index = 0; + int line_length; Evas_List *l; Etox_Line *line = NULL;; l = et->lines; while (l) { line = l->data; - len += line->length; - if (*i < len) - break; +#ifdef DEBUG + printf("etox_index_to_line() - checking line :\n"); + etox_line_print_bits(line); + printf("etox_index_to_line() - line length is %d\n", line->length); +#endif + line_length = line->length; + if (!(line->flags & ETOX_LINE_WRAPPED)) + { +#ifdef DEBUG + printf("etox_index_to_line() - not a wrapped line. length++\n"); +#endif + line_length++; + } +#ifdef DEBUG + else + { + printf("etox_index_to_line() - wrapped line\n"); + } +#endif + if (*i < (begin_line_index + line_length)) break; + + begin_line_index += line_length; +#ifdef DEBUG + printf("etox_index_to_line() - begin_line_index is %d\n", begin_line_index); +#endif l = l->next; } if (line) - *i -= len - line->length; - + { +#ifdef DEBUG + printf("etox_index_to_line() - found line!\n"); +#endif + *i -= begin_line_index; + } return line; } @@ -1306,6 +1413,42 @@ } } +/** Printout the text buffer to support debugging */ +void +etox_print_text(Evas_Object *obj) +{ + char *charptr_orig = etox_get_text(obj); + char *charptr = charptr_orig; + int char_num = 0; + while (*charptr) + { + // Print line prefix with index + if (char_num == 0) + { + printf("\netox_print_lines() - %5.5d : ", (charptr-charptr_orig)); + } + + // Print characters for printables, decimal otherwise + if (isprint(*charptr)) + { + printf(" %c ", *charptr); + } + else + { + printf("%2.2d ", *charptr); + } + fflush(stdout); + + // 16 characters per line + if (++char_num == 16) + { + char_num = 0; + } + charptr++; + } + free(charptr_orig); +} + /** * etox_text_geometry_get - get the desired text geometry * @obj: the etox to get the geometry from =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox_line.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- etox_line.c 30 Dec 2004 20:58:45 -0000 1.48 +++ etox_line.c 29 Jan 2005 03:46:09 -0000 1.49 @@ -3,6 +3,9 @@ #include <ctype.h> #include <string.h> +//#define DEBUG ON + + /* * etox_line_new - create a new line with the specified alignment * @align: the alignment of the current line @@ -237,16 +240,25 @@ /* * Move the evas object into place. */ +#ifdef DEBUG + printf("etox_line_layout() - moving bit to %d,%d. Bit text is (%s)\n", + x, ty, etox_style_get_text(bit)); +#endif evas_object_move(bit, x, ty); } +#ifdef DEBUG else printf("Encountered an obstacle!!\n"); +#endif /* * Move horizontally to place the next bit. */ x += tw; } +#ifdef DEBUG + printf("etox_line_layout() - done\n"); +#endif } /* @@ -358,6 +370,9 @@ */ void etox_line_get_text(Etox_Line * line, char *buf, int len) { +#ifdef DEBUG + printf("etox_line_get_text() - called. len = %d\n", len); +#endif char *temp; Evas_Object *es; Evas_List *l; @@ -379,26 +394,44 @@ es = l->data; sum += etox_style_length(es); +#ifdef DEBUG + printf("etox_line_get_text() - etox_style_length() returned %d\n", etox_style_length(es)); +#endif t = etox_style_get_type(es); if (t == ETOX_BIT_TYPE_WRAP_MARKER) continue; else if (t == ETOX_BIT_TYPE_TAB) + { temp = strdup("\t"); + sum -= 7; // etox_style_length returns 8 but we're only inserting 1 + } else temp = etox_style_get_text(es); tlen = strlen(temp); +#ifdef DEBUG + printf("etox_line_get_text() - actual length of returned text is %d\n", tlen); +#endif if (pos + tlen < len) { +#ifdef DEBUG + printf("etox_line_get_text() - appending %d characters at pos = %d\n", tlen, pos); +#endif pos += tlen; strcat(buf, temp); } else { +#ifdef DEBUG + printf("etox_line_get_text() - appending %d characters (limited) at pos = %d\n", (len-pos), pos); +#endif strncat(buf, temp, (len - pos)); - pos = len - 1; + pos = len; } free(temp); } line->length = sum; +#ifdef DEBUG + printf("etox_line_get_text() - done\n"); +#endif } int @@ -407,8 +440,35 @@ Evas_List *ll; Evas_Object *bit = NULL, *marker; Evas_Coord x, w, y, h; - int index = -1; + int index = -1, ok = 0; +#ifdef DEBUG + printf("etox_line_wrap() - trying to wrap line:\n"); + etox_line_print_bits(line); +#endif + + ok= 1; + for (ll = line->bits; ll; ll = ll->next) + { + bit = ll->data; + char *tmp; + + tmp = etox_style_get_text(bit); + evas_object_geometry_get(bit, &x, &y, &w, &h); + /* if we are down to 1 character... or 1 char +space - abort */ + if ( + (strlen(tmp) <= 1) || + ((strlen(tmp) == 2) && (tmp[1] == ' ')) + ) { + if (w > et->w) { + ok = 0; + } + } + FREE(tmp); + } + if (!ok) { + return -1; + } /* iterate through the bits to find the one on the border */ ll = line->bits; while (ll) { @@ -441,13 +501,17 @@ /* don't start a new line with a space */ while (index < strlen(tmp) && isspace(tmp[index])) index++; + FREE(tmp); } /* Wrap if we've found a reasonable position */ if (index > 0 || (index == 0 && bit != line->bits->data)) { +#ifdef DEBUG + printf("etox_line_wrap() - going to split line at index %d of bit:" + "(%s)\n", index, etox_style_get_text(bit)); +#endif etox_line_split(line, bit, index); - ll = evas_list_find_list(et->lines, line); ll = ll->next; @@ -470,7 +534,7 @@ etox_line_append(line, marker); } else - index = 0; + index = -1; return index; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox_selection.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- etox_selection.c 30 Dec 2004 20:58:45 -0000 1.17 +++ etox_selection.c 29 Jan 2005 03:46:17 -0000 1.18 @@ -1,4 +1,7 @@ #include "Etox_private.h" +#include <ctype.h> + +//#define DEBUG ON Evas_List *active_selections = NULL; @@ -66,6 +69,7 @@ Evas_Object *s1, Evas_Object *s2, int i1, int i2) { Evas_Object *temp; + Evas_Object *temp2; Etox_Selection *selected; /* @@ -83,7 +87,7 @@ * Split on the ending index, we use the original s2 for the end, * since it's the bit portion before the split. */ - etox_split_bit(l2, s2, i2); + temp2 = etox_split_bit(l2, s2, i2+1); // split after the end character selected = calloc(1, sizeof(Etox_Selection)); memset(selected, 0, sizeof(Etox_Selection)); @@ -98,7 +102,17 @@ active_selections = evas_list_prepend(active_selections, selected); + // If any bits were split, re-layout the etox. + /** @TODO : If there are multiple selections created in an etox, the layout + * will be repeated for each. It would be optimal to hold off the layouts + * until the selections were all created */ + if (temp != s1 || temp2 != s2) + { +#ifdef DEBUG + printf("etox_selection_new() - bit(s) were split. calling etox_layout()\n"); +#endif etox_layout(etox); + } return selected; } @@ -260,6 +274,9 @@ i = *index; pos = strstr(text + i, match); +#ifdef DEBUG + printf("\etox_select_str() - found string at index %d\n", (pos-(text+i))); +#endif if (pos == NULL) { @@ -269,9 +286,8 @@ } si = pos - text; - ei = si + strlen(match); - - printf("si: %d, ei: %d\n", si, ei); + // The end index should point to the last character in the match text + ei = si + strlen(match) - 1; if (index) *index = ei; @@ -346,6 +362,9 @@ } } +#ifdef DEBUG + printf("etox_selection_apply_context() - calling etox_layout()\n"); +#endif etox_layout(selected->etox); } @@ -380,6 +399,9 @@ l = evas_list_find_list(selected->etox->lines, selected->start.line); + // Start with the second line (if any) + l = l->next; + count++; /* count the first line */ while (l) { Etox_Line *line = l->data; @@ -392,8 +414,6 @@ l = l->next; } - printf("count: %d\n", count); - rects = calloc(count, sizeof(Etox_Rect)); /* start and end line also */ /* first line */ @@ -405,6 +425,10 @@ etox_line_get_geometry(selected->start.line, &x, &y, &w, &h); rects->w = x + w - rects->x; rects->h = y + h - rects->y; +#ifdef DEBUG + printf("etox_selection_get_geometry() - first line rect is %dx%d @ %d,%d\n", + rects->w, rects->h, rects->x, rects->y); +#endif cur = rects; /* printf("cur1: %d\n", cur); */ @@ -436,6 +460,10 @@ cur->w = x + w - cur->x; cur->h = y + h - cur->y; +#ifdef DEBUG + printf("etox_selection_get_geometry() - last line rect is %dx%d @ %d,%d\n", + cur->w, cur->h, cur->x, cur->y); +#endif if (num) *num = count; return rects; |