kicad-developers team mailing list archive
Mailing list archive
Re: GetBoundingBox and redrawing / XOR-Artifacts /
Dick Hollenbeck <dick@...>
Mon, 31 Mar 2008 15:57:55 -0500
Thunderbird 22.214.171.124 (X11/20080227)
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.
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
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.