add a call

SVN revision: 18336
This commit is contained in:
Carsten Haitzler 2005-11-06 09:47:28 +00:00
parent 1adc740b38
commit d1861a8d4c
9 changed files with 54 additions and 0 deletions

View File

@ -113,6 +113,7 @@ EAPI const int *ecore_evas_buffer_pixels_get(Ecore_Evas *ee);
EAPI Evas_Object *ecore_evas_object_image_new(Ecore_Evas *ee_target);
/* generic manipulation calls */
EAPI Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e);
EAPI void ecore_evas_free(Ecore_Evas *ee);
EAPI void *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
EAPI void ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);

View File

@ -112,6 +112,18 @@ ecore_evas_shutdown(void)
return _ecore_evas_init_count;
}
/**
* Return the Ecore_Evase for this Evas
*
* @param e The Evas to get the Ecore_Evas from
* @return The Ecore_Evas that holds this Evas
*/
Ecore_Evas *
ecore_evas_ecore_evas_get(Evas *e)
{
return evas_data_attach_get(e);
}
/**
* Free an Ecore_Evas
* @param ee The Ecore_Evas to free

View File

@ -465,6 +465,7 @@ ecore_evas_buffer_new(int w, int h)
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);
@ -558,6 +559,7 @@ ecore_evas_object_image_new(Ecore_Evas *ee_target)
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);

View File

@ -600,6 +600,7 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);

View File

@ -512,6 +512,7 @@ ecore_evas_fb_new(char *disp_name, int rotation, int w, int h)
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);

View File

@ -1824,6 +1824,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);
@ -2050,6 +2051,7 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);
@ -2265,6 +2267,7 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
/* init evas here */
ee->evas = evas_new();
evas_data_attach_set(ee->evas, ee);
evas_output_method_set(ee->evas, rmethod);
evas_output_size_set(ee->evas, w, h);
evas_output_viewport_set(ee->evas, 0, 0, w, h);

View File

@ -340,6 +340,9 @@ extern "C" {
EAPI void evas_pointer_canvas_xy_get (Evas *e, Evas_Coord *x, Evas_Coord *y);
EAPI int evas_pointer_button_down_mask_get (Evas *e);
EAPI Evas_Bool evas_pointer_inside_get (Evas *e);
EAPI void evas_data_attach_set (Evas *e, void *data);
EAPI void *evas_data_attach_get (Evas *e);
/* DOC UP TO HERE */
EAPI void evas_damage_rectangle_add (Evas *e, int x, int y, int w, int h);
EAPI void evas_obscured_rectangle_add (Evas *e, int x, int y, int w, int h);

View File

@ -983,3 +983,33 @@ evas_pointer_inside_get(Evas *e)
MAGIC_CHECK_END();
return (int)e->pointer.inside;
}
/**
* Attaches a specific pointer to the evas for fetching later
*
* @param e The canvas to attach the pointer to
* @param data The pointer to attach
*/
void
evas_data_attach_set(Evas *e, void *data)
{
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
e->attach_data = data;
}
/**
* Returns the pointer attached by evas_data_attach_set()
*
* @param e The canvas to attach the pointer to
* @return The pointer attached
*/
void *
evas_data_attach_get(Evas *e)
{
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return NULL;
MAGIC_CHECK_END();
return e->attach_data;
}

View File

@ -273,6 +273,7 @@ struct _Evas
Evas_Modifier modifiers;
Evas_Lock locks;
unsigned int last_timestamp;
void *attach_data;
};
struct _Evas_Layer