if ((src = eina_tiler_intersection(state->input, tmp)))
{
- Eina_Rectangle *rect;
- Eina_Iterator *itr;
+ Eina_Rectangle *rect, *rect_input;
+ Eina_Iterator *itr, *itr_input;
e_comp_object_input_objs_del(ec->frame);
itr = eina_tiler_iterator_new(src);
EINA_ITERATOR_FOREACH(itr, rect)
{
+ itr_input = eina_tiler_iterator_new(state->input);
+ EINA_ITERATOR_FOREACH(itr_input, rect_input)
+ {
+ if ((rect->x == rect_input->x) && (rect->y == rect_input->y))
+ {
+ if (rect->w > rect_input->w) rect->w = rect_input->w;
+ if (rect->h > rect_input->h) rect->h = rect_input->h;
+ }
+ }
+ ELOGF("COMP", "Set Input Area x:%d, y:%d, w:%d, h:%d",
+ ec, rect->x, rect->y, rect->w, rect->h);
e_comp_object_input_area_set(ec->frame,
rect->x, rect->y,
rect->w, rect->h);
+ eina_iterator_free(itr_input);
}
eina_iterator_free(itr);