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
|
||||
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
|
||||
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;
|
||||
|
||||
_evas_render_mode_eval(e);
|
||||
while ((surface =
|
||||
e->engine.func->output_redraws_next_update_get
|
||||
(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 :*/
|
||||
|
|
|
@ -34,6 +34,7 @@ typedef struct _Evas_Font_Description Evas_Font_Description;
|
|||
typedef struct _Evas_Data_Node Evas_Data_Node;
|
||||
typedef struct _Evas_Func_Node Evas_Func_Node;
|
||||
typedef RGBA_Image_Loadopts Evas_Image_Load_Opts;
|
||||
typedef struct _Evas_Opset Evas_Opset;
|
||||
typedef struct _Evas_Func Evas_Func;
|
||||
typedef struct _Evas_Image_Load_Func Evas_Image_Load_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 (*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
|
||||
|
@ -899,6 +936,9 @@ struct _Evas_Func
|
|||
|
||||
/* max size query */
|
||||
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
|
||||
|
|
|
@ -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_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;
|
||||
|
||||
if (edata->win_root != 0)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
#ifndef _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;
|
||||
|
||||
/* have this feature */
|
||||
|
@ -25,10 +23,10 @@ struct _Evas_Engine_Info_GL_X11
|
|||
|
||||
/* engine specific data & parameters it needs to set up */
|
||||
struct {
|
||||
Display *display;
|
||||
Drawable drawable;
|
||||
Visual *visual;
|
||||
Colormap colormap;
|
||||
void *display;
|
||||
unsigned long drawable;
|
||||
void *visual;
|
||||
unsigned long colormap;
|
||||
int depth;
|
||||
int screen;
|
||||
int rotation;
|
||||
|
@ -37,8 +35,8 @@ struct _Evas_Engine_Info_GL_X11
|
|||
/* engine specific function calls to query stuff about the destination */
|
||||
/* engine (what visual & colormap & depth to use, performance info etc. */
|
||||
struct {
|
||||
Visual * (*best_visual_get) (Evas_Engine_Info_GL_X11 *einfo);
|
||||
Colormap (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
|
||||
void *(*best_visual_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);
|
||||
} func;
|
||||
|
||||
|
|
Loading…
Reference in New Issue