← Back to team overview

kicad-developers team mailing list archive

Re: GetBoundingBox and redrawing / XOR-Artifacts /


Jonas Diemer wrote:

I had some time to work on the XOR-Artifacts, see my recent commits in SVN. I think I have all GetBoundingBox() functions complete now (correct me, if I missed something), except for DrawMarkerStruct (for which we don't need GetBoundingBox, do we?).

Hence, I have removed the corresponding switch in DeleteStruct(), XOR-Artifacts should be greatly reduced now. Moving PinSheets around still looks ugly, and I currently can't figure out why. It seems like the Popup-menu causes a redraw that interferes with the Xor-drawing.

While doing this, I noticed, that some dangling ends on hierarchical symbols were not drawn correcly after a block move. So I added a screen refresh after a block move (just like we do for regular moves), I hope that is OK.

Best regards,

I haven't looked, but are you supporting the sheet links, or whatever they are called?

One piece of code that we need to test is the commented out lines in


void RedrawStructList( WinEDA_DrawPanel* panel, wxDC* DC,
EDA_BaseStruct* Structs, int DrawMode, int Color )

This will put the final cap on the redraw optimization. It will also have the effect of not drawing anything that does not have a proper GetBoundingBox() that returns a rectangle that intersects with the dirty rectangle. So it is another way to test that we have all the required GetBoundingBox implementations in place. Because if not, there will be parts of the screen that will not get drawn at all with these lines uncommented.

Jonas, it would be great if you could test these lines!

And nice job on the text support!

I am very busy for the next several days.


Follow ups