Hi Alan
Yes I believe this is doable in wxWidgets. I'm sure I remember coding it up
when I added newline support so I think the code is already in the driver if
you look. I guess I never realised this needed plumbing into the core code.
Should be a very easy fix if you know how to feed the sizes back in.
-----Original Message-----
From: "Alan W. Irwin" <ir...@beluga.phys.uvic.ca>
Sent: 27/02/2015 21:00
To: "Phil Rosenberg" <p.d.rosenb...@gmail.com>
Cc: "PLplot development list" <Plplot-devel@lists.sourceforge.net>
Subject: Re: [Plplot-devel] wxWidget driver bug reporting
Hi Phil:
With regard to the x26.02 issue with a much-too-wide legend box. That
issue does not happen for any device driver (i.e., cairo and qt) that
provide get_string_length capability as indicated by the
has_string_length flag. Here are the complete current locations in
the code that have something to do with get_string_length or
has_string_length
software@raven> find . -type f |grep -v .git | \
xargs grep -E '(get_string_length|has_string_length)'
./bindings/qt_gui/plqt.cpp: if ( pls->get_string_length )
./bindings/qt_gui/plqt.cpp: if ( pls->get_string_length )
./drivers/cairo.c: if ( pls->get_string_length )
./drivers/cairo.c: if ( pls->get_string_length )
./drivers/cairo.c: pls->has_string_length = 1; // Driver supports
string length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./drivers/qt.cpp: pls->has_string_length = 1; // Driver supports string
length calculations
./src/plsym.c: // it do so by setting get_string_length flag. When this is
set
./src/plsym.c: if ( plsc->has_string_length )
./src/plsym.c: plsc->get_string_length = 1;
./src/plsym.c: plsc->get_string_length = 0;
./include/plstrm.h:// has_string_length PLINT The driver can calculate the
lengths of strings
./include/plstrm.h:// get_string_length PLINT Tells the driver to calculate
the length of the string
./include/plstrm.h: PLINT has_string_length;
./include/plstrm.h: PLINT get_string_length;
>From these results you can see that so far only the qt and cairo
devices provide this capability. In each of those cases we had to
figure out how to derive the physical string length that would be
rendered by the library (without actually rendering that unicode
string) from the native library API, but once we had done that, the
rest was trivial. So if you aware of any native wxwidgets library API
for this purpose, then please let me know, and I can take it from
there before the release since this is a perfect example of a fix that
has no impact beyond wxwidgets.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel