On Thu, 6 Dec 2001, Lewin A.R.W. Edwards wrote:

> 
> > > >       Option "Rotate" "CW"
> > > >       Option "Rotate" "CCW"
> > >
> >
> >    Ugh, I haven't tried this stuff in a long time.  It looks like
> >somebody broke all of this stuff.  I doubt the problems are specific
> 
> How come this is handled so strangely? My "daily bread" is a series of 
> embedded systems with inbuilt gravity sensor that rotate the onscreen 
> display dynamically (realtime) when the user rotates the housing.
> 
> We don't use the chipset rotation features. We keep the chipset believing 
> it is working with (say) a 640x480 display, and the application layer 
> believes it is working with a 480x640 display. The GDI layer does the 
> rotation and translation of coordinates, maintaining use of hardware 
> acceleration features where available (including hardware cursor...).
> 
> Sounds like the current X code uses a single piece of generic rotation code 
> and bumps every chipset down to an unaccelerated mode using that rotation code.

   That's because rotating X-rendering correctly is an ominous task.
X11 is a pixel-perfect specification.  Just rotating the coordinates
on lines and polygons won't render them correctly.  None of this
stuff has been written and I don't know who has the time to do
such a thing.  Rendering to an intermediate buffer and blitting
with rotation from there was the only easy solution.  We do have
code to render everything in horizontal spans, and one could adapt
that to render vertical spans instead.  That would be a quick way
to get things working without the intermediate buffer, but the
span paths are not known for its performance.



                                Mark.

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to