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;
}
}
/**
+ * @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.
* @param disp_name The name of the display of the Ecore_Evas to be created.