* @output_type: (none)
* @output_mode: (none)
* @output_attribute: (none)
+ * @output_set_window: (none)
*
* ***** TODO ******
*/
uint32_t attribute,
uint32_t attribute_state,
uint32_t error);
+ /**
+ * output_set_window - (none)
+ * @output_id: (none)
+ * @error: (none)
+ */
+ void (*output_set_window)(void *data,
+ struct wl_eom *wl_eom,
+ uint32_t output_id,
+ uint32_t error);
};
static inline int
{ "output_type", "uuu", types + 0 },
{ "output_mode", "uu", types + 0 },
{ "output_attribute", "uuuu", types + 0 },
+ { "output_set_window", "uu", types + 0 },
};
WL_EXPORT const struct wl_interface wl_eom_interface = {
"wl_eom", 1,
4, wl_eom_requests,
- 5, wl_eom_events,
+ 6, wl_eom_events,
};
#define WL_EOM_OUTPUT_TYPE 2
#define WL_EOM_OUTPUT_MODE 3
#define WL_EOM_OUTPUT_ATTRIBUTE 4
+#define WL_EOM_OUTPUT_SET_WINDOW 5
#define WL_EOM_OUTPUT_COUNT_SINCE_VERSION 1
#define WL_EOM_OUTPUT_INFO_SINCE_VERSION 1
#define WL_EOM_OUTPUT_TYPE_SINCE_VERSION 1
#define WL_EOM_OUTPUT_MODE_SINCE_VERSION 1
#define WL_EOM_OUTPUT_ATTRIBUTE_SINCE_VERSION 1
+#define WL_EOM_OUTPUT_SET_WINDOW_SINCE_VERSION 1
static inline void
wl_eom_send_output_count(struct wl_resource *resource_, uint32_t count)
wl_resource_post_event(resource_, WL_EOM_OUTPUT_ATTRIBUTE, output_id, attribute, attribute_state, error);
}
+static inline void
+wl_eom_send_output_set_window(struct wl_resource *resource_, uint32_t output_id, uint32_t error)
+{
+ wl_resource_post_event(resource_, WL_EOM_OUTPUT_SET_WINDOW, output_id, error);
+}
+
#ifdef __cplusplus
}
#endif
<arg name="error" type="uint"/>
</event>
+ <event name="output_set_window">
+ <arg name="output_id" type="uint"/>
+ <arg name="error" type="uint"/>
+ </event>
+
</interface>
</protocol>
eom_client = _e_eom_client_get_by_resource(resource);
RETURNIFTRUE(eom_client == NULL, "eom_client is NULL");
- RETURNIFTRUE(eom_client->current == EINA_FALSE, "not current client is going to set its window");
-
eom_output = _e_eom_output_get_by_id(output_id);
RETURNIFTRUE(eom_output == NULL, "eom_output is NULL");
/* ec is used in buffer_change callback for distinguishing external ec and its buffers */
eom_client->ec = ec;
+
+ if (eom_client->current == EINA_TRUE)
+ wl_eom_send_output_set_window(resource, eom_output->id, WL_EOM_ERROR_NONE);
+ else
+ wl_eom_send_output_set_window(resource, eom_output->id, WL_EOM_ERROR_OUTPUT_OCCUPIED);
}
static Eina_Bool