#include "e_intern.h"
#include "e_comp.h"
+// NOTE:: the comp->zones should not modified during iteration
+#define E_COMP_ZONE_FOREACH(ZONE) \
+ for(ZONE = eina_list_data_get(e_comp_zone_list_get()) ; ZONE ; ZONE = eina_list_data_get(eina_list_next(eina_list_data_find_list(e_comp_zone_list_get(), ZONE))))
+
+// NOTE:: the comp->zones should not modified during iteration
+#define E_COMP_ZONE_REVERSE_FOREACH(ZONE) \
+ for(ZONE = eina_list_last_data_get(e_comp_zone_list_get()) ; ZONE ; ZONE = eina_list_data_get(eina_list_prev(eina_list_data_find_list(e_comp_zone_list_get(), ZONE))))
+
EINTERN Eina_Bool e_comp_init(void);
EINTERN int e_comp_shutdown(void);
#define E_DESK_AREA_TYPE 0xE0b01006
+#define E_DESK_AREA_CLIENT_FOREACH(DESK_AREA, EC) \
+ for (EC = e_desk_area_bottom_ec_get(DESK_AREA); EC; EC = e_desk_area_client_above_get(DESK_AREA, EC))
+
+#define E_DESK_AREA_CLIENT_REVERSE_FOREACH(DESK_AREA, EC) \
+ for (EC = e_desk_area_top_ec_get(DESK_AREA); EC; EC = e_desk_area_client_below_get(DESK_AREA, EC))
+
typedef enum _E_Desk_Area_Client_Layer
{
E_DESK_AREA_CLIENT_LAYER_DESKTOP,
#include <wayland-server.h>
#include <libds-tizen/screen.h>
+#define E_DESK_CLIENT_FOREACH(DESK, EC) \
+ for (EC = e_desk_client_bottom_get(DESK); EC; EC = e_desk_client_above_get(DESK, EC))
+
+#define E_DESK_CLIENT_REVERSE_FOREACH(DESK, EC) \
+ for (EC = e_desk_client_top_get(DESK); EC; EC = e_desk_client_below_get(DESK, EC))
+
typedef struct _E_Desk_Data_Top_Visible_Get
{
E_Desk *desk;
#include <wayland-server.h>
#define E_ZONE_CLIENT_FOREACH(ZONE, EC) \
- for (EC = e_zone_client_bottom_get(ZONE); EC; EC = e_zone_client_above_get(ZONE, EC))
+ for (EC = e_zone_client_bottom_get(ZONE); EC; EC = e_zone_client_above_get(ZONE, EC))
#define E_ZONE_CLIENT_REVERSE_FOREACH(ZONE, EC) \
- for (EC = e_zone_client_top_get(ZONE); EC; EC = e_zone_client_below_get(ZONE, EC))
+ for (EC = e_zone_client_top_get(ZONE); EC; EC = e_zone_client_below_get(ZONE, EC))
typedef struct _E_Zone_Obstacle E_Zone_Obstacle;