kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #15805
Re: eeschema WX_OVERLAY/OSX rework to fix redraw artifacts
On 11/15/2014 11:13 AM, Bernhard Stegmaier wrote:
> Hi all,
>
> eeschema still has some not so bad but nevertheless annoying redraw bugs on OS X (using WX_OVERLAY), e.g., doing a rotate during a move.
>
> In the branch
> lp:~stegmaier/kicad/kicad-eeredraw
> https://code.launchpad.net/~stegmaier/kicad/kicad-eeredraw
> I reworked current WX_OVERLAY handling to fix this (this branch does not contain any other changes).
>
> The general idea of the rework is that the drawing code wants to draw some item if the drawing mode is DEFAULT. If the drawing code wants to remove an item it uses XOR mode. This is nothing new, it is done that way at many places but not consistently in all spots.
> For WX_OVERLAY if some item is to be removed a complete redraw is triggered (this might not be the most smart approach, but the easiest one and I did not see any real big performance impact).
>
> Rework consists of 3 parts:
> (1) Remove different WX_OVERLAY specific fixes/workaround being not consistently used (rev. 5202).
> (2) Only when WX_OVERLAY is being used: push down the remove/repaint check to all draw methods (rev. 5201).
> (3) Change drawing mode consistently to use DEFAULT for drawing and XOR for removing an item (rev. 5203).
>
> I have tested the changes quite some while on OS X and did not notice any redraw artifacts any longer.
>
> Since part (3) also affects other platforms, changes have to be tested not only on OS X.
> However, there should be no change in behavior on platform not using WX_OVERLAY (in theory).
>
> It would be great if this could get merged to main branch.
>
>
> Regards,
> Bernhard
>
Bernhard,
Please sync this branch with the latest product branch so I can build
and test it on windows. I'm getting the Boost 1.57 avhttp build error
so you must be a few revision behind.
Thanks,
Wayne
Follow ups
References