On 2007-08-15 23:51-0400 Hazen Babcock wrote:

>
> On Aug 15, 2007, at 11:16 PM, Alan W. Irwin wrote:

>> Once -ori works for integer values, then you should confirm that the -a
>> option works as well.  In other words, your device should give correct
>> results for different aspect ratios passed to the device from the core
>> PLplot library. After that confirmation, portrait mode should be a snap
>> since pls->freeaspect = 1 tells the PLplot core library to adjust the 
>> aspect
>> ratio appropriately (i.e., tall and skinny) for portrait mode.
>> 
>> I hope I have clarified things for you.
>
> Ok. My latest commit may have gotten this all sorted out. I'm a little 
> puzzled why the PLplot library doesn't just pass the driver the right 
> transform matrix for the new orientation since it is going to the effort of 
> rotating everything else.

The aspect ratio of the letters and symbols is incorrect with -portrait mode.
To see this look at example 1 where the circular symbols have been turned
into ellipses.

If you compare the results of

./x01c -a .75 -ori 1 -dev pscairo -o test2.ps

and

./x01c -portrait -dev pscairo -o test3.ps

they should be closely similar, but they are not.  test2.ps is very similar
to what you get with

./x01c -portrait -dev psc -o test1.ps

or

./x01c -freeaspect -ori 1 -dev psc -o test0.ps

(which produces an identical plot to test1.ps).

In other words, it appears the -a and -ori options are working fine for
pscairo, but -portrait is not for some reason.  If you do the further
command

./x01c -freeaspect -ori 1 -dev pscairo -o test4.ps

you will find the result is correct (i.e., virtually identical to test2.ps
above).  Thus, pscairo is really close, and the issue simply boils down to
why does -portrait not produce identical results to -freeaspect -ori 1 for
the pscairo driver?  I just now had a look at cairo.c, and the naive answer
is you forgot to set pls->freeaspect = 1; in that driver for the -portrait
case (at least for revision 7806 which is what "svn update" gives me for
trunk at the moment).  I tried setting that myself locally in the
if(pls->portrait){ block, but it made no difference (which I frankly don't
understand since that logic followed what works in the ps.c case.)

Anyhow, with "-freeaspect -ori 1" giving correct results for pscairo, I hope
it is easy for you to figure out what the problem is with the -portrait
option for pscairo.

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); PLplot scientific plotting software
package (plplot.org); 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
__________________________

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to