Dick Hollenbeck wrote:
Wayne,
were you going to allow a 1.5 magnification on each step. I thought
you had set out down that path.
I have been working on it indirectly. The last few commits I've made
were in a vain effort to clean things up a bit before tackling the new
zoom implementation. Like many things in Kicad that seem like they
should be relatively trivial to implement, there always seems to be some
hidden gotchas that jump up to bite you. The current device context
(drawing) implementation is very fragile. I am not sure why the
capabilities of wxDC were not used for drawing. I have looked at
several examples as well as the source code for wxDC and cannot
understand why much of what is already implement in wxDC was basically
reimplemented by the various drawing, clipping, scaling, etc. functions
in Kicad (see gr_basic.cpp). This is one of the reason it's taking
longer than I had hoped. If Kicad required some special drawing
functionality, why not create a class derived from wxDC? This makes
making changes to the drawing code tricky. You have to find every place
in the code where zooming is touched and make sure you don't break
anything else. I was initially thinking of fixing the drawing code
first so that the zoom code would be trivial to implement. I really
don't like to do things twice if I can avoid it. However, fixing the
drawing code is a major job fraught with lots of potential breakage. I
guess I can break my own rule and implement the new the zoom in the
short term. Maybe there is some way for me to design it so that will
cleanly drop into any updated drawing code.
I am using eeschema today and cannot get the right zoom. It is
frustrating, it is either too close or too far out.
I am going blind, so the too far out is troublesome. Too close does
not let you see what you want.
Me too! It's hell getting old!
When I looked at we were using a 2X factor on zooms. Is this still the
case?
You are correct. Each zoom factor is 2X the previous zoom setting. I
need to add a scalar to get zoom capability at less than integer
intervals to get zoom factor of 1.5. I'll try to implement something as
soon as I can.
Wayne