Hi Werner,

El mar, 02-05-2006 a las 23:12 +0200, Werner Hoch escribió:
[snip]
> The rotate comand erases (the not exising) original buffer and redraws 
> it as selection at the screen. Thats the garbage. Let's delete it.
> 
>       o_erase_selected(w_current);

It worked!. I could still see some drawing-erasing, so I solved it
modifying o_rotate_90 so it accepts two new boolean parameters:
erase_objs, and redraw_objs, which controls the erasing and redrawing of
the objects. This way, no erasing or redrawing is made if not desired.

> But I think this will leed to problems when rotating in ENDCOPY state.
> The ENDCOPY will cause additional headache. When rotating we're rotating 
> the original buffer too. =:-(

Yes. As you pointed out, this also happens when hitting the ESC key
after the fist rotation...
The problem is that the list of selected objects is really a list of
pointers to the objects. If we are going to allow operations while
moving/copying, etc, we need to work with a list of selected objects
which are really a copy of the real objects. I'm not sure about how to
deal with this....

Regards,

Carlos

Reply via email to