Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/modules/engines/software_xcb


Modified Files:
        evas_engine.c 


Log Message:


make hinting an engine api thnig - engine apis need to be mroe easily updated
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/modules/engines/software_xcb/evas_engine.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- evas_engine.c       15 Jan 2006 06:21:05 -0000      1.2
+++ evas_engine.c       28 Feb 2006 04:07:48 -0000      1.3
@@ -4,99 +4,101 @@
 #include "evas_engine_api_software_xcb.h"
 #include "Evas_Engine_Software_Xcb.h"
 
-static void *evas_engine_software_xcb_info(Evas *e);
-static void evas_engine_software_xcb_info_free(Evas *e, void *info);
-static void evas_engine_software_xcb_setup(Evas *e, void *info);
-static void *evas_engine_software_xcb_output_setup(int w, int h, int rot, 
XCBConnection *conn, XCBDRAWABLE draw, XCBVISUALTYPE *vis, XCBCOLORMAP cmap, 
int depth, int debug, int grayscale, int max_colors, XCBDRAWABLE mask, int 
shape_dither);
-static void evas_engine_software_xcb_output_free(void *data);
-static void evas_engine_software_xcb_output_resize(void *data, int w, int h);
-static void evas_engine_software_xcb_output_tile_size_set(void *data, int w, 
int h);
-static void evas_engine_software_xcb_output_redraws_rect_add(void *data, int 
x, int y, int w, int h);
-static void evas_engine_software_xcb_output_redraws_rect_del(void *data, int 
x, int y, int w, int h);
-static void evas_engine_software_xcb_output_redraws_clear(void *data);
-static void *evas_engine_software_xcb_output_redraws_next_update_get(void 
*data, int *x, int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch);
-static void evas_engine_software_xcb_output_redraws_next_update_push(void 
*data, void *surface, int x, int y, int w, int h);
-static void evas_engine_software_xcb_output_flush(void *data);
-static void *evas_engine_software_xcb_context_new(void *data);
-static void evas_engine_software_xcb_context_free(void *data, void *context);
-static void evas_engine_software_xcb_context_clip_set(void *data, void 
*context, int x, int y, int w, int h);
-static void evas_engine_software_xcb_context_clip_clip(void *data, void 
*context, int x, int y, int w, int h);
-static void evas_engine_software_xcb_context_clip_unset(void *data, void 
*context);
-static int evas_engine_software_xcb_context_clip_get(void *data, void 
*context, int *x, int *y, int *w, int *h);
-static void evas_engine_software_xcb_context_color_set(void *data, void 
*context, int r, int g, int b, int a);
-static int evas_engine_software_xcb_context_color_get(void *data, void 
*context, int *r, int *g, int *b, int *a);
-static void evas_engine_software_xcb_context_multiplier_set(void *data, void 
*context, int r, int g, int b, int a);
-static void evas_engine_software_xcb_context_multiplier_unset(void *data, void 
*context);
-static int evas_engine_software_xcb_context_multiplier_get(void *data, void 
*context, int *r, int *g, int *b, int *a);
-static void evas_engine_software_xcb_context_cutout_add(void *data, void 
*context, int x, int y, int w, int h);
-static void evas_engine_software_xcb_context_cutout_clear(void *data, void 
*context);
-static void evas_engine_software_xcb_context_anti_alias_set(void *data, void 
*context, unsigned char aa);
-static unsigned char evas_engine_software_xcb_context_anti_alias_get(void 
*data, void *context);
-static void evas_engine_software_xcb_context_color_interpolation_set(void 
*data, void *context, int color_space);
-static int evas_engine_software_xcb_context_color_interpolation_get(void 
*data, void *context);
-static void evas_engine_software_xcb_rectangle_draw(void *data, void *context, 
void *surface, int x, int y, int w, int h);
-static void evas_engine_software_xcb_line_draw(void *data, void *context, void 
*surface, int x1, int y1, int x2, int y2);
-static void *evas_engine_software_xcb_polygon_point_add(void *data, void 
*context, void *polygon, int x, int y);
-static void *evas_engine_software_xcb_polygon_points_clear(void *data, void 
*context, void *polygon);
-static void evas_engine_software_xcb_polygon_draw(void *data, void *context, 
void *surface, void *polygon);
-static void *evas_engine_software_xcb_gradient_color_add(void *data, void 
*context, void *gradient, int r, int g, int b, int a, int distance);
-static void *evas_engine_software_xcb_gradient_colors_clear(void *data, void 
*context, void *gradient);
-static void evas_engine_software_xcb_gradient_free(void *data, void *gradient);
-static void evas_engine_software_xcb_gradient_fill_set(void *data, void 
*gradient, int x, int y, int w, int h);
-static void evas_engine_software_xcb_gradient_type_set(void *data, void 
*gradient, char *name);
-static void evas_engine_software_xcb_gradient_type_params_set(void *data, void 
*gradient, char *params);
-static void *evas_engine_software_xcb_gradient_geometry_init(void *data, void 
*gradient, int spread);
-static int  evas_engine_software_xcb_gradient_alpha_get(void *data, void 
*gradient, int spread);
-static void evas_engine_software_xcb_gradient_map(void *data, void *context, 
void *gradient, int spread);
-static void evas_engine_software_xcb_gradient_draw(void *data, void *context, 
void *surface, void *gradient, int x, int y, int w, int h, double angle, int 
spread);
-static void *evas_engine_software_xcb_image_load(void *data, char *file, char 
*key, int *error);
-static void *evas_engine_software_xcb_image_new_from_data(void *data, int w, 
int h, DATA32 *image_data);
-static void *evas_engine_software_xcb_image_new_from_copied_data(void *data, 
int w, int h, DATA32 *image_data);
-static void evas_engine_software_xcb_image_free(void *data, void *image);
-static void evas_engine_software_xcb_image_size_get(void *data, void *image, 
int *w, int *h);
-static void *evas_engine_software_xcb_image_size_set(void *data, void *image, 
int w, int h);
-static void *evas_engine_software_xcb_image_dirty_region(void *data, void 
*image, int x, int y, int w, int h);
-static void *evas_engine_software_xcb_image_data_get(void *data, void *image, 
int to_write, DATA32 **image_data);
-static void *evas_engine_software_xcb_image_data_put(void *data, void *image, 
DATA32 *image_data);
-static void *evas_engine_software_xcb_image_alpha_set(void *data, void *image, 
int has_alpha);
-static int evas_engine_software_xcb_image_alpha_get(void *data, void *image);
-static void evas_engine_software_xcb_image_draw(void *data, void *context, 
void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int 
dst_x, int dst_y, int dst_w, int dst_h, int smooth);
-static char *evas_engine_software_xcb_image_comment_get(void *data, void 
*image, char *key);
-static char *evas_engine_software_xcb_image_format_get(void *data, void 
*image);
-static void evas_engine_software_xcb_image_cache_flush(void *data);
-static void evas_engine_software_xcb_image_cache_set(void *data, int bytes);
-static int evas_engine_software_xcb_image_cache_get(void *data);
-static void *evas_engine_software_xcb_font_load(void *data, char *name, int 
size);
-static void *evas_engine_software_xcb_font_memory_load(void *data, char *name, 
int size, const void *fdata, int fdata_size);
-static void *evas_engine_software_xcb_font_add(void *data, void *font, char 
*name, int size);
-static void *evas_engine_software_xcb_font_memory_add(void *data, void *font, 
char *name, int size, const void *fdata, int fdata_size);
-static void evas_engine_software_xcb_font_free(void *data, void *font);
-static int evas_engine_software_xcb_font_ascent_get(void *data, void *font);
-static int evas_engine_software_xcb_font_descent_get(void *data, void *font);
-static int evas_engine_software_xcb_font_max_ascent_get(void *data, void 
*font);
-static int evas_engine_software_xcb_font_max_descent_get(void *data, void 
*font);
-static void evas_engine_software_xcb_font_string_size_get(void *data, void 
*font, char *text, int *w, int *h);
-static int evas_engine_software_xcb_font_inset_get(void *data, void *font, 
char *text);
-static int evas_engine_software_xcb_font_h_advance_get(void *data, void *font, 
char *text);
-static int evas_engine_software_xcb_font_v_advance_get(void *data, void *font, 
char *text);
-static int evas_engine_software_xcb_font_char_coords_get(void *data, void 
*font, char *text, int pos, int *cx, int *cy, int *cw, int *ch);
-static int evas_engine_software_xcb_font_char_at_coords_get(void *data, void 
*font, char *text, int x, int y, int *cx, int *cy, int *cw, int *ch);
-static void evas_engine_software_xcb_font_draw(void *data, void *context, void 
*surface, void *font, int x, int y, int w, int h, int ow, int oh, char *text);
-static void evas_engine_software_xcb_font_cache_flush(void *data);
-static void evas_engine_software_xcb_font_cache_set(void *data, int bytes);
-static int evas_engine_software_xcb_font_cache_get(void *data);
-
-
-static XCBVISUALTYPE *evas_engine_software_xcb_best_visual_get(XCBConnection 
*conn, int screen);
-static XCBCOLORMAP evas_engine_software_xcb_best_colormap_get(XCBConnection 
*conn, int screen);
-static int evas_engine_software_xcb_best_depth_get(XCBConnection *conn, int 
screen);
-static Evas_Performance *evas_engine_software_xcb_output_perf_new(Evas *e, 
XCBConnection *conn, XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, 
int depth);
-static Evas_Performance *evas_engine_software_xcb_output_perf_test(Evas *e, 
XCBConnection *conn, XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, 
int depth);
-static char *evas_engine_software_xcb_output_perf_data(Evas_Performance *perf);
-static char *evas_engine_software_xcb_output_perf_key(Evas_Performance *perf);
-static void evas_engine_software_xcb_output_perf_free(Evas_Performance *perf);
-static void evas_engine_software_xcb_output_perf_build(Evas_Performance *perf, 
const char *data);
-static void evas_engine_software_xcb_output_perf_device_store(Evas_Performance 
*perf);
+static void *eng_info(Evas *e);
+static void eng_info_free(Evas *e, void *info);
+static void eng_setup(Evas *e, void *info);
+static void *eng_output_setup(int w, int h, int rot, XCBConnection *conn, 
XCBDRAWABLE draw, XCBVISUALTYPE *vis, XCBCOLORMAP cmap, int depth, int debug, 
int grayscale, int max_colors, XCBDRAWABLE mask, int shape_dither);
+static void eng_output_free(void *data);
+static void eng_output_resize(void *data, int w, int h);
+static void eng_output_tile_size_set(void *data, int w, int h);
+static void eng_output_redraws_rect_add(void *data, int x, int y, int w, int 
h);
+static void eng_output_redraws_rect_del(void *data, int x, int y, int w, int 
h);
+static void eng_output_redraws_clear(void *data);
+static void *eng_output_redraws_next_update_get(void *data, int *x, int *y, 
int *w, int *h, int *cx, int *cy, int *cw, int *ch);
+static void eng_output_redraws_next_update_push(void *data, void *surface, int 
x, int y, int w, int h);
+static void eng_output_flush(void *data);
+static void *eng_context_new(void *data);
+static void eng_context_free(void *data, void *context);
+static void eng_context_clip_set(void *data, void *context, int x, int y, int 
w, int h);
+static void eng_context_clip_clip(void *data, void *context, int x, int y, int 
w, int h);
+static void eng_context_clip_unset(void *data, void *context);
+static int eng_context_clip_get(void *data, void *context, int *x, int *y, int 
*w, int *h);
+static void eng_context_color_set(void *data, void *context, int r, int g, int 
b, int a);
+static int eng_context_color_get(void *data, void *context, int *r, int *g, 
int *b, int *a);
+static void eng_context_multiplier_set(void *data, void *context, int r, int 
g, int b, int a);
+static void eng_context_multiplier_unset(void *data, void *context);
+static int eng_context_multiplier_get(void *data, void *context, int *r, int 
*g, int *b, int *a);
+static void eng_context_cutout_add(void *data, void *context, int x, int y, 
int w, int h);
+static void eng_context_cutout_clear(void *data, void *context);
+static void eng_context_anti_alias_set(void *data, void *context, unsigned 
char aa);
+static unsigned char eng_context_anti_alias_get(void *data, void *context);
+static void eng_context_color_interpolation_set(void *data, void *context, int 
color_space);
+static int eng_context_color_interpolation_get(void *data, void *context);
+static void eng_rectangle_draw(void *data, void *context, void *surface, int 
x, int y, int w, int h);
+static void eng_line_draw(void *data, void *context, void *surface, int x1, 
int y1, int x2, int y2);
+static void *eng_polygon_point_add(void *data, void *context, void *polygon, 
int x, int y);
+static void *eng_polygon_points_clear(void *data, void *context, void 
*polygon);
+static void eng_polygon_draw(void *data, void *context, void *surface, void 
*polygon);
+static void *eng_gradient_color_add(void *data, void *context, void *gradient, 
int r, int g, int b, int a, int distance);
+static void *eng_gradient_colors_clear(void *data, void *context, void 
*gradient);
+static void eng_gradient_free(void *data, void *gradient);
+static void eng_gradient_fill_set(void *data, void *gradient, int x, int y, 
int w, int h);
+static void eng_gradient_type_set(void *data, void *gradient, char *name);
+static void eng_gradient_type_params_set(void *data, void *gradient, char 
*params);
+static void *eng_gradient_geometry_init(void *data, void *gradient, int 
spread);
+static int  eng_gradient_alpha_get(void *data, void *gradient, int spread);
+static void eng_gradient_map(void *data, void *context, void *gradient, int 
spread);
+static void eng_gradient_draw(void *data, void *context, void *surface, void 
*gradient, int x, int y, int w, int h, double angle, int spread);
+static void *eng_image_load(void *data, char *file, char *key, int *error);
+static void *eng_image_new_from_data(void *data, int w, int h, DATA32 
*image_data);
+static void *eng_image_new_from_copied_data(void *data, int w, int h, DATA32 
*image_data);
+static void eng_image_free(void *data, void *image);
+static void eng_image_size_get(void *data, void *image, int *w, int *h);
+static void *eng_image_size_set(void *data, void *image, int w, int h);
+static void *eng_image_dirty_region(void *data, void *image, int x, int y, int 
w, int h);
+static void *eng_image_data_get(void *data, void *image, int to_write, DATA32 
**image_data);
+static void *eng_image_data_put(void *data, void *image, DATA32 *image_data);
+static void *eng_image_alpha_set(void *data, void *image, int has_alpha);
+static int eng_image_alpha_get(void *data, void *image);
+static void eng_image_draw(void *data, void *context, void *surface, void 
*image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int 
dst_w, int dst_h, int smooth);
+static char *eng_image_comment_get(void *data, void *image, char *key);
+static char *eng_image_format_get(void *data, void *image);
+static void eng_image_cache_flush(void *data);
+static void eng_image_cache_set(void *data, int bytes);
+static int eng_image_cache_get(void *data);
+static void *eng_font_load(void *data, char *name, int size);
+static void *eng_font_memory_load(void *data, char *name, int size, const void 
*fdata, int fdata_size);
+static void *eng_font_add(void *data, void *font, char *name, int size);
+static void *eng_font_memory_add(void *data, void *font, char *name, int size, 
const void *fdata, int fdata_size);
+static void eng_font_free(void *data, void *font);
+static int eng_font_ascent_get(void *data, void *font);
+static int eng_font_descent_get(void *data, void *font);
+static int eng_font_max_ascent_get(void *data, void *font);
+static int eng_font_max_descent_get(void *data, void *font);
+static void eng_font_string_size_get(void *data, void *font, char *text, int 
*w, int *h);
+static int eng_font_inset_get(void *data, void *font, char *text);
+static int eng_font_h_advance_get(void *data, void *font, char *text);
+static int eng_font_v_advance_get(void *data, void *font, char *text);
+static int eng_font_char_coords_get(void *data, void *font, char *text, int 
pos, int *cx, int *cy, int *cw, int *ch);
+static int eng_font_char_at_coords_get(void *data, void *font, char *text, int 
x, int y, int *cx, int *cy, int *cw, int *ch);
+static void eng_font_draw(void *data, void *context, void *surface, void 
*font, int x, int y, int w, int h, int ow, int oh, char *text);
+static void eng_font_cache_flush(void *data);
+static void eng_font_cache_set(void *data, int bytes);
+static int eng_font_cache_get(void *data);
+
+static void eng_font_hinting_set(void *data, void *font, int hinting);
+static int eng_font_hinting_can_hint(void *data, int hinting);
+
+static XCBVISUALTYPE *eng_best_visual_get(XCBConnection *conn, int screen);
+static XCBCOLORMAP eng_best_colormap_get(XCBConnection *conn, int screen);
+static int eng_best_depth_get(XCBConnection *conn, int screen);
+static Evas_Performance *eng_output_perf_new(Evas *e, XCBConnection *conn, 
XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth);
+static Evas_Performance *eng_output_perf_test(Evas *e, XCBConnection *conn, 
XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth);
+static char *eng_output_perf_data(Evas_Performance *perf);
+static char *eng_output_perf_key(Evas_Performance *perf);
+static void eng_output_perf_free(Evas_Performance *perf);
+static void eng_output_perf_build(Evas_Performance *perf, const char *data);
+static void eng_output_perf_device_store(Evas_Performance *perf);
 
 typedef struct _Render_Engine Render_Engine;
 
@@ -109,101 +111,104 @@
    int               end : 1;
 };
 
-Evas_Func evas_engine_software_xcb_func =
+static Evas_Func eng_func =
 {
-   evas_engine_software_xcb_info,
-   evas_engine_software_xcb_info_free,
-   evas_engine_software_xcb_setup,
-   evas_engine_software_xcb_output_free,
-   evas_engine_software_xcb_output_resize,
-   evas_engine_software_xcb_output_tile_size_set,
-   evas_engine_software_xcb_output_redraws_rect_add,
-   evas_engine_software_xcb_output_redraws_rect_del,
-   evas_engine_software_xcb_output_redraws_clear,
-   evas_engine_software_xcb_output_redraws_next_update_get,
-   evas_engine_software_xcb_output_redraws_next_update_push,
-   evas_engine_software_xcb_output_flush,
+   eng_info,
+   eng_info_free,
+   eng_setup,
+   eng_output_free,
+   eng_output_resize,
+   eng_output_tile_size_set,
+   eng_output_redraws_rect_add,
+   eng_output_redraws_rect_del,
+   eng_output_redraws_clear,
+   eng_output_redraws_next_update_get,
+   eng_output_redraws_next_update_push,
+   eng_output_flush,
    /* draw context virtual methods */
-   evas_engine_software_xcb_context_new,
-   evas_engine_software_xcb_context_free,
-   evas_engine_software_xcb_context_clip_set,
-   evas_engine_software_xcb_context_clip_clip,
-   evas_engine_software_xcb_context_clip_unset,
-   evas_engine_software_xcb_context_clip_get,
-   evas_engine_software_xcb_context_color_set,
-   evas_engine_software_xcb_context_color_get,
-   evas_engine_software_xcb_context_multiplier_set,
-   evas_engine_software_xcb_context_multiplier_unset,
-   evas_engine_software_xcb_context_multiplier_get,
-   evas_engine_software_xcb_context_cutout_add,
-   evas_engine_software_xcb_context_cutout_clear,
-   evas_engine_software_xcb_context_anti_alias_set,
-   evas_engine_software_xcb_context_anti_alias_get,
-   evas_engine_software_xcb_context_color_interpolation_set,
-   evas_engine_software_xcb_context_color_interpolation_get,
+   eng_context_new,
+   eng_context_free,
+   eng_context_clip_set,
+   eng_context_clip_clip,
+   eng_context_clip_unset,
+   eng_context_clip_get,
+   eng_context_color_set,
+   eng_context_color_get,
+   eng_context_multiplier_set,
+   eng_context_multiplier_unset,
+   eng_context_multiplier_get,
+   eng_context_cutout_add,
+   eng_context_cutout_clear,
+   eng_context_anti_alias_set,
+   eng_context_anti_alias_get,
+   eng_context_color_interpolation_set,
+   eng_context_color_interpolation_get,
    /* rectangle draw funcs */
-   evas_engine_software_xcb_rectangle_draw,
+   eng_rectangle_draw,
    /* line draw funcs */
-   evas_engine_software_xcb_line_draw,
+   eng_line_draw,
    /* polygon draw funcs */
-   evas_engine_software_xcb_polygon_point_add,
-   evas_engine_software_xcb_polygon_points_clear,
-   evas_engine_software_xcb_polygon_draw,
+   eng_polygon_point_add,
+   eng_polygon_points_clear,
+   eng_polygon_draw,
    /* gradient draw funcs */
-   evas_engine_software_xcb_gradient_color_add,
-   evas_engine_software_xcb_gradient_colors_clear,
-   evas_engine_software_xcb_gradient_free,
-   evas_engine_software_xcb_gradient_fill_set,
-   evas_engine_software_xcb_gradient_type_set,
-   evas_engine_software_xcb_gradient_type_params_set,
-   evas_engine_software_xcb_gradient_geometry_init,
-   evas_engine_software_xcb_gradient_alpha_get,
-   evas_engine_software_xcb_gradient_map,
-   evas_engine_software_xcb_gradient_draw,
+   eng_gradient_color_add,
+   eng_gradient_colors_clear,
+   eng_gradient_free,
+   eng_gradient_fill_set,
+   eng_gradient_type_set,
+   eng_gradient_type_params_set,
+   eng_gradient_geometry_init,
+   eng_gradient_alpha_get,
+   eng_gradient_map,
+   eng_gradient_draw,
    /* image draw funcs */
-   evas_engine_software_xcb_image_load,
-   evas_engine_software_xcb_image_new_from_data,
-   evas_engine_software_xcb_image_new_from_copied_data,
-   evas_engine_software_xcb_image_free,
-   evas_engine_software_xcb_image_size_get,
-   evas_engine_software_xcb_image_size_set,
-   evas_engine_software_xcb_image_dirty_region,
-   evas_engine_software_xcb_image_data_get,
-   evas_engine_software_xcb_image_data_put,
-   evas_engine_software_xcb_image_alpha_set,
-   evas_engine_software_xcb_image_alpha_get,
-   evas_engine_software_xcb_image_draw,
-   evas_engine_software_xcb_image_comment_get,
-   evas_engine_software_xcb_image_format_get,
+   eng_image_load,
+   eng_image_new_from_data,
+   eng_image_new_from_copied_data,
+   eng_image_free,
+   eng_image_size_get,
+   eng_image_size_set,
+   eng_image_dirty_region,
+   eng_image_data_get,
+   eng_image_data_put,
+   eng_image_alpha_set,
+   eng_image_alpha_get,
+   eng_image_draw,
+   eng_image_comment_get,
+   eng_image_format_get,
    /* image cache funcs */
-   evas_engine_software_xcb_image_cache_flush,
-   evas_engine_software_xcb_image_cache_set,
-   evas_engine_software_xcb_image_cache_get,
+   eng_image_cache_flush,
+   eng_image_cache_set,
+   eng_image_cache_get,
    /* font draw functions */
-   evas_engine_software_xcb_font_load,
-   evas_engine_software_xcb_font_memory_load,
-   evas_engine_software_xcb_font_add,
-   evas_engine_software_xcb_font_memory_add,
-   evas_engine_software_xcb_font_free,
-   evas_engine_software_xcb_font_ascent_get,
-   evas_engine_software_xcb_font_descent_get,
-   evas_engine_software_xcb_font_max_ascent_get,
-   evas_engine_software_xcb_font_max_descent_get,
-   evas_engine_software_xcb_font_string_size_get,
-   evas_engine_software_xcb_font_inset_get,
-   evas_engine_software_xcb_font_h_advance_get,
-   evas_engine_software_xcb_font_v_advance_get,
-   evas_engine_software_xcb_font_char_coords_get,
-   evas_engine_software_xcb_font_char_at_coords_get,
-   evas_engine_software_xcb_font_draw,
+   eng_font_load,
+   eng_font_memory_load,
+   eng_font_add,
+   eng_font_memory_add,
+   eng_font_free,
+   eng_font_ascent_get,
+   eng_font_descent_get,
+   eng_font_max_ascent_get,
+   eng_font_max_descent_get,
+   eng_font_string_size_get,
+   eng_font_inset_get,
+   eng_font_h_advance_get,
+   eng_font_v_advance_get,
+   eng_font_char_coords_get,
+   eng_font_char_at_coords_get,
+   eng_font_draw,
    /* font cache functions */
-   evas_engine_software_xcb_font_cache_flush,
-   evas_engine_software_xcb_font_cache_set,
-   evas_engine_software_xcb_font_cache_get
+   eng_font_cache_flush,
+   eng_font_cache_set,
+   eng_font_cache_get,
+     
+   eng_font_hinting_set,
+   eng_font_hinting_can_hint
 };
 
 static void *
-evas_engine_software_xcb_info(Evas *e)
+eng_info(Evas *e)
 {
    Evas_Engine_Info_Software_Xcb *info;
 
@@ -213,22 +218,22 @@
    info->info.debug = 0;
    info->info.alloc_grayscale = 0;
    info->info.alloc_colors_max = 216;
-   info->func.best_visual_get = evas_engine_software_xcb_best_visual_get;
-   info->func.best_colormap_get = evas_engine_software_xcb_best_colormap_get;
-   info->func.best_depth_get = evas_engine_software_xcb_best_depth_get;
-   info->func.performance_test = evas_engine_software_xcb_output_perf_test;
-   info->func.performance_free = evas_engine_software_xcb_output_perf_free;
-   info->func.performance_data_get = evas_engine_software_xcb_output_perf_data;
-   info->func.performance_key_get = evas_engine_software_xcb_output_perf_key;
-   info->func.performance_new = evas_engine_software_xcb_output_perf_new;
-   info->func.performance_build = evas_engine_software_xcb_output_perf_build;
-   info->func.performance_device_store = 
evas_engine_software_xcb_output_perf_device_store;
+   info->func.best_visual_get = eng_best_visual_get;
+   info->func.best_colormap_get = eng_best_colormap_get;
+   info->func.best_depth_get = eng_best_depth_get;
+   info->func.performance_test = eng_output_perf_test;
+   info->func.performance_free = eng_output_perf_free;
+   info->func.performance_data_get = eng_output_perf_data;
+   info->func.performance_key_get = eng_output_perf_key;
+   info->func.performance_new = eng_output_perf_new;
+   info->func.performance_build = eng_output_perf_build;
+   info->func.performance_device_store = eng_output_perf_device_store;
    return info;
    e = NULL;
 }
 
 static void
-evas_engine_software_xcb_info_free(Evas *e, void *info)
+eng_info_free(Evas *e, void *info)
 {
    Evas_Engine_Info_Software_Xcb *in;
 
@@ -237,7 +242,7 @@
 }
 
 static void
-evas_engine_software_xcb_setup(Evas *e, void *in)
+eng_setup(Evas *e, void *in)
 {
    Render_Engine *re;
    Evas_Engine_Info_Software_Xcb *info;
@@ -245,7 +250,7 @@
    info = (Evas_Engine_Info_Software_Xcb *)in;
    if (!e->engine.data.output)
      e->engine.data.output =
-     evas_engine_software_xcb_output_setup(e->output.w,
+     eng_output_setup(e->output.w,
                                           e->output.h,
                                           info->info.rotation,
                                           info->info.conn,
@@ -270,7 +275,7 @@
 }
 
 static void *
-evas_engine_software_xcb_output_setup(int            w,
+eng_output_setup(int            w,
                                      int            h,
                                      int            rot,
                                      XCBConnection *conn,
@@ -340,7 +345,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_free(void *data)
+eng_output_free(void *data)
 {
    Render_Engine *re;
 
@@ -355,7 +360,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_resize(void *data, int w, int h)
+eng_output_resize(void *data, int w, int h)
 {
    Render_Engine *re;
 
@@ -370,7 +375,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_tile_size_set(void *data, int w, int h)
+eng_output_tile_size_set(void *data, int w, int h)
 {
    Render_Engine *re;
 
@@ -379,7 +384,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_redraws_rect_add(void *data, int x, int y, int 
w, int h)
+eng_output_redraws_rect_add(void *data, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -388,7 +393,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_redraws_rect_del(void *data, int x, int y, int 
w, int h)
+eng_output_redraws_rect_del(void *data, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -397,7 +402,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_redraws_clear(void *data)
+eng_output_redraws_clear(void *data)
 {
    Render_Engine *re;
 
@@ -406,7 +411,7 @@
 }
 
 static void *
-evas_engine_software_xcb_output_redraws_next_update_get(void *data, int *x, 
int *y, int *w, int *h, int *cx, int *cy, int *cw, int *ch)
+eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, 
int *cx, int *cy, int *cw, int *ch)
 {
    Render_Engine *re;
    RGBA_Image *surface;
@@ -443,7 +448,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_redraws_next_update_push(void *data, void 
*surface, int x, int y, int w, int h)
+eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, 
int w, int h)
 {
    Render_Engine *re;
 
@@ -454,7 +459,7 @@
 }
 
 static void
-evas_engine_software_xcb_output_flush(void *data)
+eng_output_flush(void *data)
 {
    Render_Engine *re;
 
@@ -463,7 +468,7 @@
 }
 
 static void *
-evas_engine_software_xcb_context_new(void *data)
+eng_context_new(void *data)
 {
    Render_Engine *re;
 
@@ -472,7 +477,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_free(void *data, void *context)
+eng_context_free(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -481,7 +486,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_clip_set(void *data, void *context, int x, 
int y, int w, int h)
+eng_context_clip_set(void *data, void *context, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -490,7 +495,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_clip_clip(void *data, void *context, int x, 
int y, int w, int h)
+eng_context_clip_clip(void *data, void *context, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -499,7 +504,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_clip_unset(void *data, void *context)
+eng_context_clip_unset(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -508,7 +513,7 @@
 }
 
 static int
-evas_engine_software_xcb_context_clip_get(void *data, void *context, int *x, 
int *y, int *w, int *h)
+eng_context_clip_get(void *data, void *context, int *x, int *y, int *w, int *h)
 {
    Render_Engine *re;
 
@@ -521,7 +526,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_color_set(void *data, void *context, int r, 
int g, int b, int a)
+eng_context_color_set(void *data, void *context, int r, int g, int b, int a)
 {
    Render_Engine *re;
 
@@ -530,7 +535,7 @@
 }
 
 static int
-evas_engine_software_xcb_context_color_get(void *data, void *context, int *r, 
int *g, int *b, int *a)
+eng_context_color_get(void *data, void *context, int *r, int *g, int *b, int 
*a)
 {
    Render_Engine *re;
 
@@ -543,7 +548,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_multiplier_set(void *data, void *context, int 
r, int g, int b, int a)
+eng_context_multiplier_set(void *data, void *context, int r, int g, int b, int 
a)
 {
    Render_Engine *re;
 
@@ -552,7 +557,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_multiplier_unset(void *data, void *context)
+eng_context_multiplier_unset(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -561,7 +566,7 @@
 }
 
 static int
-evas_engine_software_xcb_context_multiplier_get(void *data, void *context, int 
*r, int *g, int *b, int *a)
+eng_context_multiplier_get(void *data, void *context, int *r, int *g, int *b, 
int *a)
 {
    Render_Engine *re;
 
@@ -574,7 +579,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_cutout_add(void *data, void *context, int x, 
int y, int w, int h)
+eng_context_cutout_add(void *data, void *context, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -583,7 +588,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_cutout_clear(void *data, void *context)
+eng_context_cutout_clear(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -592,7 +597,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_anti_alias_set(void *data, void *context, 
unsigned char aa)
+eng_context_anti_alias_set(void *data, void *context, unsigned char aa)
 {
    Render_Engine *re;
 
@@ -601,7 +606,7 @@
 }
 
 static unsigned char
-evas_engine_software_xcb_context_anti_alias_get(void *data, void *context)
+eng_context_anti_alias_get(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -610,7 +615,7 @@
 }
 
 static void
-evas_engine_software_xcb_context_color_interpolation_set(void *data, void 
*context, int color_space)
+eng_context_color_interpolation_set(void *data, void *context, int color_space)
 {
    Render_Engine *re;
 
@@ -619,7 +624,7 @@
 }
 
 static int
-evas_engine_software_xcb_context_color_interpolation_get(void *data, void 
*context)
+eng_context_color_interpolation_get(void *data, void *context)
 {
    Render_Engine *re;
 
@@ -633,7 +638,7 @@
 
 
 static void
-evas_engine_software_xcb_rectangle_draw(void *data, void *context, void 
*surface, int x, int y, int w, int h)
+eng_rectangle_draw(void *data, void *context, void *surface, int x, int y, int 
w, int h)
 {
    Render_Engine *re;
 
@@ -646,7 +651,7 @@
 }
 
 static void
-evas_engine_software_xcb_line_draw(void *data, void *context, void *surface, 
int x1, int y1, int x2, int y2)
+eng_line_draw(void *data, void *context, void *surface, int x1, int y1, int 
x2, int y2)
 {
    Render_Engine *re;
 
@@ -659,7 +664,7 @@
 }
 
 static void *
-evas_engine_software_xcb_polygon_point_add(void *data, void *context, void 
*polygon, int x, int y)
+eng_polygon_point_add(void *data, void *context, void *polygon, int x, int y)
 {
    Render_Engine *re;
 
@@ -669,7 +674,7 @@
 }
 
 static void *
-evas_engine_software_xcb_polygon_points_clear(void *data, void *context, void 
*polygon)
+eng_polygon_points_clear(void *data, void *context, void *polygon)
 {
    Render_Engine *re;
 
@@ -679,7 +684,7 @@
 }
 
 static void
-evas_engine_software_xcb_polygon_draw(void *data, void *context, void 
*surface, void *polygon)
+eng_polygon_draw(void *data, void *context, void *surface, void *polygon)
 {
    Render_Engine *re;
 
@@ -692,7 +697,7 @@
 }
 
 static void *
-evas_engine_software_xcb_gradient_color_add(void *data, void *context, void 
*gradient, int r, int g, int b, int a, int distance)
+eng_gradient_color_add(void *data, void *context, void *gradient, int r, int 
g, int b, int a, int distance)
 {
    Render_Engine *re;
 
@@ -705,7 +710,7 @@
 }
 
 static void *
-evas_engine_software_xcb_gradient_colors_clear(void *data, void *context, void 
*gradient)
+eng_gradient_colors_clear(void *data, void *context, void *gradient)
 {
    Render_Engine *re;
 
@@ -716,7 +721,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_free(void *data, void *gradient)
+eng_gradient_free(void *data, void *gradient)
 {
    Render_Engine *re;
 
@@ -725,7 +730,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_fill_set(void *data, void *gradient, int x, 
int y, int w, int h)
+eng_gradient_fill_set(void *data, void *gradient, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -734,7 +739,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_type_set(void *data, void *gradient, char 
*name)
+eng_gradient_type_set(void *data, void *gradient, char *name)
 {
    Render_Engine *re;
 
@@ -743,7 +748,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_type_params_set(void *data, void *gradient, 
char *params)
+eng_gradient_type_params_set(void *data, void *gradient, char *params)
 {
    Render_Engine *re;
 
@@ -752,7 +757,7 @@
 }
 
 static void *
-evas_engine_software_xcb_gradient_geometry_init(void *data, void *gradient, 
int spread)
+eng_gradient_geometry_init(void *data, void *gradient, int spread)
 {
    Render_Engine *re;
 
@@ -762,7 +767,7 @@
 }
 
 static int
-evas_engine_software_xcb_gradient_alpha_get(void *data, void *gradient, int 
spread)
+eng_gradient_alpha_get(void *data, void *gradient, int spread)
 {
    Render_Engine *re;
 
@@ -771,7 +776,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_map(void *data, void *context, void 
*gradient, int spread)
+eng_gradient_map(void *data, void *context, void *gradient, int spread)
 {
    Render_Engine *re;
 
@@ -781,7 +786,7 @@
 }
 
 static void
-evas_engine_software_xcb_gradient_draw(void *data, void *context, void 
*surface, void *gradient, int x, int y, int w, int h, double angle, int spread)
+eng_gradient_draw(void *data, void *context, void *surface, void *gradient, 
int x, int y, int w, int h, double angle, int spread)
 {
    Render_Engine *re;
 
@@ -794,7 +799,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_load(void *data, char *file, char *key, int 
*error)
+eng_image_load(void *data, char *file, char *key, int *error)
 {
    Render_Engine *re;
 
@@ -804,7 +809,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_new_from_data(void *data, int w, int h, DATA32 
*image_data)
+eng_image_new_from_data(void *data, int w, int h, DATA32 *image_data)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -825,7 +830,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_new_from_copied_data(void *data, int w, int h, 
DATA32 *image_data)
+eng_image_new_from_copied_data(void *data, int w, int h, DATA32 *image_data)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -839,7 +844,7 @@
 }
 
 static void
-evas_engine_software_xcb_image_free(void *data, void *image)
+eng_image_free(void *data, void *image)
 {
    Render_Engine *re;
 
@@ -848,7 +853,7 @@
 }
 
 static void
-evas_engine_software_xcb_image_size_get(void *data, void *image, int *w, int 
*h)
+eng_image_size_get(void *data, void *image, int *w, int *h)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -860,7 +865,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_size_set(void *data, void *image, int w, int h)
+eng_image_size_set(void *data, void *image, int w, int h)
 {
    Render_Engine *re;
    RGBA_Image *im, *im_old;
@@ -883,7 +888,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_dirty_region(void *data, void *image, int x, 
int y, int w, int h)
+eng_image_dirty_region(void *data, void *image, int x, int y, int w, int h)
 {
    Render_Engine *re;
 
@@ -897,7 +902,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_data_get(void *data, void *image, int to_write, 
DATA32 **image_data)
+eng_image_data_get(void *data, void *image, int to_write, DATA32 **image_data)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -926,7 +931,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_data_put(void *data, void *image, DATA32 
*image_data)
+eng_image_data_put(void *data, void *image, DATA32 *image_data)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -940,7 +945,7 @@
        w = im->image->w;
        h = im->image->h;
        evas_common_image_unref(im);
-       return evas_engine_software_xcb_image_new_from_data(data, w, h, 
image_data);
+       return eng_image_new_from_data(data, w, h, image_data);
      }
    /* hmmm - but if we wrote... why bother? */
 /*   evas_common_image_dirty(im); */
@@ -948,7 +953,7 @@
 }
 
 static void *
-evas_engine_software_xcb_image_alpha_set(void *data, void *image, int 
has_alpha)
+eng_image_alpha_set(void *data, void *image, int has_alpha)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -978,7 +983,7 @@
 
 
 static int
-evas_engine_software_xcb_image_alpha_get(void *data, void *image)
+eng_image_alpha_get(void *data, void *image)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -990,7 +995,7 @@
 }
 
 static void
-evas_engine_software_xcb_image_draw(void *data, void *context, void *surface, 
void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, 
int dst_w, int dst_h, int smooth)
+eng_image_draw(void *data, void *context, void *surface, void *image, int 
src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int 
dst_h, int smooth)
 {
    Render_Engine *re;
 
@@ -1008,7 +1013,7 @@
 }
 
 static char *
-evas_engine_software_xcb_image_comment_get(void *data, void *image, char *key)
+eng_image_comment_get(void *data, void *image, char *key)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -1020,7 +1025,7 @@
 }
 
 static char *
-evas_engine_software_xcb_image_format_get(void *data, void *image)
+eng_image_format_get(void *data, void *image)
 {
    Render_Engine *re;
    RGBA_Image *im;
@@ -1032,7 +1037,7 @@
 }
 
 static void
-evas_engine_software_xcb_image_cache_flush(void *data)
+eng_image_cache_flush(void *data)
 {
    Render_Engine *re;
    int tmp_size;
@@ -1044,7 +1049,7 @@
 }
 
 static void
-evas_engine_software_xcb_image_cache_set(void *data, int bytes)
+eng_image_cache_set(void *data, int bytes)
 {
    Render_Engine *re;
 
@@ -1053,7 +1058,7 @@
 }
 
 static int
-evas_engine_software_xcb_image_cache_get(void *data)
+eng_image_cache_get(void *data)
 {
    Render_Engine *re;
 
@@ -1062,7 +1067,7 @@
 }
 
 static void *
-evas_engine_software_xcb_font_load(void *data, char *name, int size)
+eng_font_load(void *data, char *name, int size)
 {
    Render_Engine *re;
 
@@ -1071,7 +1076,7 @@
 }
 
 static void *
-evas_engine_software_xcb_font_memory_load(void *data, char *name, int size, 
const void *fdata, int fdata_size)
+eng_font_memory_load(void *data, char *name, int size, const void *fdata, int 
fdata_size)
 {
    Render_Engine *re;
 
@@ -1080,7 +1085,7 @@
 }
 
 static void *
-evas_engine_software_xcb_font_add(void *data, void *font, char *name, int size)
+eng_font_add(void *data, void *font, char *name, int size)
 {
    Render_Engine *re;
 
@@ -1089,7 +1094,7 @@
 }
 
 static void *
-evas_engine_software_xcb_font_memory_add(void *data, void *font, char *name, 
int size, const void *fdata, int fdata_size)
+eng_font_memory_add(void *data, void *font, char *name, int size, const void 
*fdata, int fdata_size)
 {
    Render_Engine *re;
 
@@ -1098,7 +1103,7 @@
 }
 
 static void
-evas_engine_software_xcb_font_free(void *data, void *font)
+eng_font_free(void *data, void *font)
 {
    Render_Engine *re;
 
@@ -1107,7 +1112,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_ascent_get(void *data, void *font)
+eng_font_ascent_get(void *data, void *font)
 {
    Render_Engine *re;
 
@@ -1116,7 +1121,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_descent_get(void *data, void *font)
+eng_font_descent_get(void *data, void *font)
 {
    Render_Engine *re;
 
@@ -1125,7 +1130,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_max_ascent_get(void *data, void *font)
+eng_font_max_ascent_get(void *data, void *font)
 {
    Render_Engine *re;
 
@@ -1134,7 +1139,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_max_descent_get(void *data, void *font)
+eng_font_max_descent_get(void *data, void *font)
 {
    Render_Engine *re;
 
@@ -1143,7 +1148,7 @@
 }
 
 static void
-evas_engine_software_xcb_font_string_size_get(void *data, void *font, char 
*text, int *w, int *h)
+eng_font_string_size_get(void *data, void *font, char *text, int *w, int *h)
 {
    Render_Engine *re;
 
@@ -1152,7 +1157,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_inset_get(void *data, void *font, char *text)
+eng_font_inset_get(void *data, void *font, char *text)
 {
    Render_Engine *re;
 
@@ -1161,7 +1166,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_h_advance_get(void *data, void *font, char *text)
+eng_font_h_advance_get(void *data, void *font, char *text)
 {
    Render_Engine *re;
    int h, v;
@@ -1172,7 +1177,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_v_advance_get(void *data, void *font, char *text)
+eng_font_v_advance_get(void *data, void *font, char *text)
 {
    Render_Engine *re;
    int h, v;
@@ -1183,7 +1188,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_char_coords_get(void *data, void *font, char 
*text, int pos, int *cx, int *cy, int *cw, int *ch)
+eng_font_char_coords_get(void *data, void *font, char *text, int pos, int *cx, 
int *cy, int *cw, int *ch)
 {
    Render_Engine *re;
 
@@ -1192,7 +1197,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_char_at_coords_get(void *data, void *font, char 
*text, int x, int y, int *cx, int *cy, int *cw, int *ch)
+eng_font_char_at_coords_get(void *data, void *font, char *text, int x, int y, 
int *cx, int *cy, int *cw, int *ch)
 {
    Render_Engine *re;
 
@@ -1201,7 +1206,7 @@
 }
 
 static void
-evas_engine_software_xcb_font_draw(void *data, void *context, void *surface, 
void *font, int x, int y, int w, int h, int ow, int oh, char *text)
+eng_font_draw(void *data, void *context, void *surface, void *font, int x, int 
y, int w, int h, int ow, int oh, char *text)
 {
    Render_Engine *re;
 
@@ -1252,7 +1257,7 @@
 }
 
 static void
-evas_engine_software_xcb_font_cache_flush(void *data)
+eng_font_cache_flush(void *data)
 {
    Render_Engine *re;
 
@@ -1261,7 +1266,7 @@
 }
 
 static void
-evas_engine_software_xcb_font_cache_set(void *data, int bytes)
+eng_font_cache_set(void *data, int bytes)
 {
    Render_Engine *re;
 
@@ -1270,7 +1275,7 @@
 }
 
 static int
-evas_engine_software_xcb_font_cache_get(void *data)
+eng_font_cache_get(void *data)
 {
    Render_Engine *re;
 
@@ -1278,6 +1283,24 @@
    return evas_common_font_cache_get();
 }
 
+static void
+eng_font_hinting_set(void *data, void *font, int hinting)
+{
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
+   evas_common_font_hinting_set(font, hinting);
+}
+
+static int
+eng_font_hinting_can_hint(void *data, int hinting)
+{
+   Render_Engine *re;
+   
+   re = (Render_Engine *)data;
+   return evas_common_hinting_available(hinting);
+}
+
 
 
 
@@ -1290,7 +1313,7 @@
 
 /* Convenient function for getting the best visual, colormap and depth */
 static XCBSCREEN *
-evas_engine_software_xcb_screen_get(XCBConnection *conn, int screen)
+eng_screen_get(XCBConnection *conn, int screen)
 {
    XCBSCREENIter i;
    int           cur;
@@ -1305,7 +1328,7 @@
 }
 
 static XCBVISUALTYPE *
-evas_engine_software_xcb_best_visual_get(XCBConnection *conn, int screen)
+eng_best_visual_get(XCBConnection *conn, int screen)
 {
    XCBSCREEN        *scr;
    XCBDEPTH         *d;
@@ -1313,7 +1336,7 @@
    int               cur;
 
    if (!conn) return NULL;
-   scr = evas_engine_software_xcb_screen_get(conn, screen);
+   scr = eng_screen_get(conn, screen);
    if (!scr) return NULL;
    d = XCBSCREENAllowedDepthsIter(scr).data;
    if (!d) return NULL;
@@ -1327,71 +1350,71 @@
 }
 
 static XCBCOLORMAP
-evas_engine_software_xcb_best_colormap_get(XCBConnection *conn, int screen)
+eng_best_colormap_get(XCBConnection *conn, int screen)
 {
    XCBSCREEN *scr;
    XCBCOLORMAP c;
 
    c.xid = 0;
    if (!conn) return c;
-   scr = evas_engine_software_xcb_screen_get(conn, screen);
+   scr = eng_screen_get(conn, screen);
    if (!scr) return c;
 
    return scr->default_colormap;
 }
 
 static int
-evas_engine_software_xcb_best_depth_get(XCBConnection *conn, int screen)
+eng_best_depth_get(XCBConnection *conn, int screen)
 {
    XCBSCREEN *scr;
 
    if (!conn) return 0;
-   scr = evas_engine_software_xcb_screen_get(conn, screen);
+   scr = eng_screen_get(conn, screen);
    if (!scr) return 0;
 
    return scr->root_depth;
 }
 
 static Evas_Performance *
-evas_engine_software_xcb_output_perf_new(Evas *e, XCBConnection *conn, 
XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth)
+eng_output_perf_new(Evas *e, XCBConnection *conn, XCBVISUALTYPE *vis, 
XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth)
 {
    return evas_software_xcb_outbuf_perf_new_x(conn, draw, vis, cmap, depth);
    e = NULL;
 }
 
 static Evas_Performance *
-evas_engine_software_xcb_output_perf_test(Evas *e, XCBConnection *conn, 
XCBVISUALTYPE *vis, XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth)
+eng_output_perf_test(Evas *e, XCBConnection *conn, XCBVISUALTYPE *vis, 
XCBCOLORMAP cmap, XCBDRAWABLE draw, int depth)
 {
    return evas_software_xcb_outbuf_perf_x(conn, draw, vis, cmap, depth);
    e = NULL;
 }
 
 static char *
-evas_engine_software_xcb_output_perf_data(Evas_Performance *perf)
+eng_output_perf_data(Evas_Performance *perf)
 {
    return evas_software_xcb_outbuf_perf_serialize_x(perf);
 }
 
 static char *
-evas_engine_software_xcb_output_perf_key(Evas_Performance *perf)
+eng_output_perf_key(Evas_Performance *perf)
 {
    return evas_software_xcb_outbuf_perf_serialize_info_x(perf);
 }
 
 static void
-evas_engine_software_xcb_output_perf_free(Evas_Performance *perf)
+eng_output_perf_free(Evas_Performance *perf)
 {
    evas_software_xcb_outbuf_perf_free(perf);
 }
 
 static void
-evas_engine_software_xcb_output_perf_build(Evas_Performance *perf, const char 
*data)
+eng_output_perf_build(Evas_Performance *perf, const char *data)
 {
    evas_software_xcb_outbuf_perf_deserialize_x(perf, data);
 }
 
 static void
-evas_engine_software_xcb_output_perf_device_store(Evas_Performance *perf)
+eng_output_perf_device_store(Evas_Performance *perf)
 {
    evas_software_xcb_outbuf_perf_store_x(perf);
 }
@@ -1399,7 +1422,7 @@
 int module_open(Evas_Module *em)
 {
    if (!em) return 0;
-   em->functions = (void *)(&evas_engine_software_xcb_func);
+   em->functions = (void *)(&eng_func);
    return 1;
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to