forked from enlightenment/efl
Add code for ecore_evas_software_x11_pixmap_new/get functions.
Fix formatting in ecore_evas_window_get. NB: This will be used to create an ecore_evas that Renders to a Pixmap (not a window). As such, Some ecore_evas functions may not operate as expected when using this type of ecore_evas. Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
1e8f6d3b45
commit
159232b593
|
@ -2302,11 +2302,11 @@ EAPI Ecore_Window
|
|||
ecore_evas_window_get(const Ecore_Evas *ee)
|
||||
{
|
||||
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
|
||||
{
|
||||
ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
|
||||
"ecore_evas_window_get");
|
||||
return 0;
|
||||
}
|
||||
{
|
||||
ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
|
||||
"ecore_evas_window_get");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ee->prop.window;
|
||||
}
|
||||
|
@ -2947,6 +2947,45 @@ ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window wi
|
|||
iface->extra_event_window_add(ee, win);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Create a new Ecore_Evas which does not contain an XWindow. It will
|
||||
* only contain an XPixmap to render to
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
EAPI Ecore_Evas *
|
||||
ecore_evas_software_x11_pixmap_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)
|
||||
{
|
||||
Ecore_Evas *(*new)(const char *, Ecore_X_Window, int, int, int, int);
|
||||
Eina_Module *m = _ecore_evas_engine_load("x");
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(m, NULL);
|
||||
|
||||
new = eina_module_symbol_get(m, "ecore_evas_software_x11_pixmap_new_internal");
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(new, NULL);
|
||||
|
||||
return new(disp_name, parent, x, y, w, h);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns the underlying Ecore_X_Pixmap used in the Ecore_Evas
|
||||
*
|
||||
* @param ee The Ecore_Evas whose pixmap is desired.
|
||||
* @return The underlying Ecore_X_Pixmap
|
||||
*
|
||||
* @warning Support for this depends on the underlying windowing system.
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
EAPI Ecore_X_Pixmap
|
||||
ecore_evas_software_x11_pixmap_get(const Ecore_Evas *ee)
|
||||
{
|
||||
Ecore_Evas_Interface_Software_X11 *iface;
|
||||
iface = (Ecore_Evas_Interface_Software_X11 *)_ecore_evas_interface_get(ee, "software_x11");
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(iface, 0);
|
||||
|
||||
return iface->pixmap_get(ee);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Create Ecore_Evas using opengl x11.
|
||||
* @note If ecore is not compiled with support to x11 then nothing is done and NULL is returned.
|
||||
|
|
Loading…
Reference in New Issue