[Rd] Graphics-Device-Size vs. Window-Size: R design flaw

Ross Ihaka ihaka@stat.auckland.ac.nz
Fri, 17 Nov 2000 22:40:31 +1300


On Thu, Nov 16, 2000 at 10:47:41AM +0100, Jens Oehlschlägel wrote:
> 
> Hello Ross,
> 
> thank you for entering this discussion.
> 
> [ some burbling by Ross omitted ... ]
> 
> Yes, and for me this behaviour would be great: you create a bigger than
> screen device like DIN A3, you can see it at the screen at whatever
> windowsize you want and it alway tells the truth about it's real size: DIN
> A3. This TRUTH becomes a LIE only, if one considers representation layer and
> presentation layer to be the same.
> 
> > The results of this are unfortunate when you are relying on having
> > equal units in the x and y directions.  Drawing maps or displaying
> > the results of some sort of ordination can be badly affected.  Also,
> > there can be obviously incorrect drawing of tickmarks and annotation
> > (this is usually only apparent for extreme reshaping).
> 
> This is where aspect ratio locking would help (for the whole device, not
> only for the plot area).
> 
> > The philosophy in R is that when a window is resized, the graph should
> > be redrawn so that it will appear as it would if it had been created
> > in a window with the new size.
> 
> This makes it IMPOSSIBLE to work on a device bigger than the screen.


  Paul and I talked a little about this today.

  The issue is really just a Gui one, not one for the underlying graphics
  system.  Both the scrollbar approach and the window content scaling
  one can be handled in a very superficial way by device drivers without
  any changes at all to the underlying R graphics system.  (I suspect
  that this is how Splus adresses the problem).

  The behavior I want requires a deeper interaction with the graphics
  system, but it is the behavior already in place.

  Enabling the behaviors you and Brian prefer is just a matter of flicking
  a switch in the driver so that it no longer tells the graphics system
  when there has been a change in the window configuration and having
  the driver handle the scaling or scrolling.

  So, everyone can have what they want ...

  The real problem is that we don't have enough of a Gui (yet) to make
  the behavior happen in a cross-platform way.

Ros
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._