Thread Previous • Date Previous • Date Next • Thread Next |
Jonas Diemer wrote:
Am Montag 31 März 2008 22:57:55 schrieb Dick Hollenbeck:One piece of code that we need to test is the commented out lines in eeschema/eeredraw.cpp's 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!I just tried these lines, they don't seem to work. At first sight, it looks like panel->m_ClipBox is too small.Jonas
Yes, m_ClipBox, that is likely. One of us will have to compare the preparation of m_ClipBox between the two software apps, pcbnew and eeschema. From memory I am drawing a blank, but perhaps that rectangle is handled differently in one vs. the other. Or maybe the calculation is the same, but the scaling coefficients used in eeschema are not fully usable in the same way (at this time). For the compare to be meaningful the units have to match between object coordinates in the drawing space and the dirty rect, unfortunately called m_ClipBox here.
If it is something you are interested in and have time for, continue. Otherwise I will look at it some time in the next few weeks.
Dick
Thread Previous • Date Previous • Date Next • Thread Next |