forked from enlightenment/efl
small change - not worth chglogging... make evas gl x11 header not
need xlib.h anymore... :) SVN revision: 82378
This commit is contained in:
parent
240c0637fb
commit
478de3ec76
|
@ -58,6 +58,8 @@ struct _Render_Updates
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
evas_render_updates_internal(Evas *eo_e, unsigned char make_updates, unsigned char do_draw, Evas_Render_Done_Cb done_func, void *done_data, Evas_Event_Cb updates_func, void *updates_data, Eina_Bool do_async);
|
evas_render_updates_internal(Evas *eo_e, unsigned char make_updates, unsigned char do_draw, Evas_Render_Done_Cb done_func, void *done_data, Evas_Event_Cb updates_func, void *updates_data, Eina_Bool do_async);
|
||||||
|
static void
|
||||||
|
_evas_render_mode_eval(Evas_Public_Data *e);
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_damage_rectangle_add(Evas *eo_e, int x, int y, int w, int h)
|
evas_damage_rectangle_add(Evas *eo_e, int x, int y, int w, int h)
|
||||||
|
@ -1551,6 +1553,7 @@ evas_render_updates_internal(Evas *eo_e,
|
||||||
{
|
{
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
|
|
||||||
|
_evas_render_mode_eval(e);
|
||||||
while ((surface =
|
while ((surface =
|
||||||
e->engine.func->output_redraws_next_update_get
|
e->engine.func->output_redraws_next_update_get
|
||||||
(e->engine.data.output,
|
(e->engine.data.output,
|
||||||
|
@ -2120,4 +2123,25 @@ evas_render_object_recalc(Evas_Object *eo_obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_evas_render_mode_eval(Evas_Public_Data *e) // eo
|
||||||
|
{
|
||||||
|
Evas_Opset opset;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!e->engine.func) return;
|
||||||
|
if (!e->engine.func->opset_eval) return;
|
||||||
|
|
||||||
|
// XXX1: walk thru active objects - figure out render ops
|
||||||
|
for (i = 0; i < e->active_objects.count; ++i)
|
||||||
|
{
|
||||||
|
Evas_Object_Protected_Data *obj = eina_array_data_get(&e->active_objects, i); // eo
|
||||||
|
Evas_Object *eo_obj; // eo
|
||||||
|
|
||||||
|
if (!obj) continue;
|
||||||
|
eo_obj = obj->object; // eo
|
||||||
|
}
|
||||||
|
e->engine.func->opset_eval(e->engine.data.output, &opset);
|
||||||
|
}
|
||||||
|
|
||||||
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
|
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/
|
||||||
|
|
|
@ -34,6 +34,7 @@ typedef struct _Evas_Font_Description Evas_Font_Description;
|
||||||
typedef struct _Evas_Data_Node Evas_Data_Node;
|
typedef struct _Evas_Data_Node Evas_Data_Node;
|
||||||
typedef struct _Evas_Func_Node Evas_Func_Node;
|
typedef struct _Evas_Func_Node Evas_Func_Node;
|
||||||
typedef RGBA_Image_Loadopts Evas_Image_Load_Opts;
|
typedef RGBA_Image_Loadopts Evas_Image_Load_Opts;
|
||||||
|
typedef struct _Evas_Opset Evas_Opset;
|
||||||
typedef struct _Evas_Func Evas_Func;
|
typedef struct _Evas_Func Evas_Func;
|
||||||
typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func;
|
typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func;
|
||||||
typedef struct _Evas_Image_Save_Func Evas_Image_Save_Func;
|
typedef struct _Evas_Image_Save_Func Evas_Image_Save_Func;
|
||||||
|
@ -753,6 +754,42 @@ struct _Evas_Object_Func
|
||||||
int (*get_opaque_rect) (Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
int (*get_opaque_rect) (Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
||||||
|
|
||||||
int (*can_map) (Evas_Object *obj);
|
int (*can_map) (Evas_Object *obj);
|
||||||
|
|
||||||
|
int (*opset_get) (Evas_Object *obj);
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum _Evas_Optype
|
||||||
|
{
|
||||||
|
EVAS_OP_FILL_COLOR,
|
||||||
|
EVAS_OP_BLEND_COLOR,
|
||||||
|
EVAS_OP_COPY_PIXELS,
|
||||||
|
EVAS_OP_BLEND_PIXELS,
|
||||||
|
EVAS_OP_BLEND_ALPHA_MUL_PIXELS,
|
||||||
|
EVAS_OP_BLEND_COLOR_MUL_PIXELS,
|
||||||
|
EVAS_OP_SCALE_NEAREST_COPY_PIXELS,
|
||||||
|
EVAS_OP_BLEND_NEAREST_COPY_PIXELS,
|
||||||
|
EVAS_OP_SCALE_NEAREST_COPY_ALPHA_MUL_PIXELS,
|
||||||
|
EVAS_OP_BLEND_NEAREST_COPY_COLOR_MUL_PIXELS,
|
||||||
|
EVAS_OP_SCALE_SMOOTH_COPY_PIXELS,
|
||||||
|
EVAS_OP_BLEND_SMOOTH_COPY_PIXELS,
|
||||||
|
EVAS_OP_SCALE_SMOOTH_COPY_ALPHA_MUL_PIXELS,
|
||||||
|
EVAS_OP_BLEND_SMOOTH_COPY_COLOR_MUL_PIXELS,
|
||||||
|
EVAS_OP_BLEND_COLOR_ALPHA_MASK,
|
||||||
|
EVAS_OP_MAP_COPY_PIXELS,
|
||||||
|
EVAS_OP_MAP_BLEND_PIXELS,
|
||||||
|
EVAS_OP_MAP_COPY_ALPHA_MUL_PIXELS,
|
||||||
|
EVAS_OP_MAP_BLEND_COLOR_MUL_PIXELS,
|
||||||
|
EVAS_OP_MAP_90MUL_COPY_PIXELS,
|
||||||
|
EVAS_OP_MAP_90MUL_BLEND_PIXELS,
|
||||||
|
EVAS_OP_MAP_90MUL_COPY_ALPHA_MUL_PIXELS,
|
||||||
|
EVAS_OP_MAP_90MUL_BLEND_COLOR_MUL_PIXELS,
|
||||||
|
EVAS_OP_COUNT // marker for last one
|
||||||
|
// XXX: line? poly? or just made up of strips of the above?
|
||||||
|
} Evas_Optype;
|
||||||
|
|
||||||
|
struct _Evas_Opset
|
||||||
|
{
|
||||||
|
Eina_Bool ops[EVAS_OP_COUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Evas_Func
|
struct _Evas_Func
|
||||||
|
@ -899,6 +936,9 @@ struct _Evas_Func
|
||||||
|
|
||||||
/* max size query */
|
/* max size query */
|
||||||
void (*image_max_size_get) (void *data, int *maxw, int *maxh);
|
void (*image_max_size_get) (void *data, int *maxw, int *maxh);
|
||||||
|
|
||||||
|
/* pre-seed the engine with the kind of ops it will need */
|
||||||
|
void (*opset_eval) (void *data, Evas_Opset *ops);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Evas_Image_Load_Func
|
struct _Evas_Image_Load_Func
|
||||||
|
|
|
@ -3438,7 +3438,7 @@ ecore_evas_gl_x11_options_new_internal(const char *disp_name, Ecore_X_Window par
|
||||||
evas_output_size_set(ee->evas, w, h);
|
evas_output_size_set(ee->evas, w, h);
|
||||||
evas_output_viewport_set(ee->evas, 0, 0, w, h);
|
evas_output_viewport_set(ee->evas, 0, 0, w, h);
|
||||||
|
|
||||||
if (parent == 0) parent = DefaultRootWindow(ecore_x_display_get());
|
if (parent == 0) parent = ecore_x_window_root_first_get();
|
||||||
edata->win_root = parent;
|
edata->win_root = parent;
|
||||||
|
|
||||||
if (edata->win_root != 0)
|
if (edata->win_root != 0)
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#ifndef _EVAS_ENGINE_GL_X11_H
|
#ifndef _EVAS_ENGINE_GL_X11_H
|
||||||
#define _EVAS_ENGINE_GL_X11_H
|
#define _EVAS_ENGINE_GL_X11_H
|
||||||
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
|
|
||||||
typedef struct _Evas_Engine_Info_GL_X11 Evas_Engine_Info_GL_X11;
|
typedef struct _Evas_Engine_Info_GL_X11 Evas_Engine_Info_GL_X11;
|
||||||
|
|
||||||
/* have this feature */
|
/* have this feature */
|
||||||
|
@ -25,21 +23,21 @@ struct _Evas_Engine_Info_GL_X11
|
||||||
|
|
||||||
/* engine specific data & parameters it needs to set up */
|
/* engine specific data & parameters it needs to set up */
|
||||||
struct {
|
struct {
|
||||||
Display *display;
|
void *display;
|
||||||
Drawable drawable;
|
unsigned long drawable;
|
||||||
Visual *visual;
|
void *visual;
|
||||||
Colormap colormap;
|
unsigned long colormap;
|
||||||
int depth;
|
int depth;
|
||||||
int screen;
|
int screen;
|
||||||
int rotation;
|
int rotation;
|
||||||
unsigned int destination_alpha : 1;
|
unsigned int destination_alpha : 1;
|
||||||
} info;
|
} info;
|
||||||
/* engine specific function calls to query stuff about the destination */
|
/* engine specific function calls to query stuff about the destination */
|
||||||
/* engine (what visual & colormap & depth to use, performance info etc. */
|
/* engine (what visual & colormap & depth to use, performance info etc. */
|
||||||
struct {
|
struct {
|
||||||
Visual * (*best_visual_get) (Evas_Engine_Info_GL_X11 *einfo);
|
void *(*best_visual_get) (Evas_Engine_Info_GL_X11 *einfo);
|
||||||
Colormap (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
|
unsigned long (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
|
||||||
int (*best_depth_get) (Evas_Engine_Info_GL_X11 *einfo);
|
int (*best_depth_get) (Evas_Engine_Info_GL_X11 *einfo);
|
||||||
} func;
|
} func;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|
Loading…
Reference in New Issue