You could potentially do something with Video4Linux to cause a
portion of the framebuffer to be displayed using a hardware overlay.
This would require a driver that has Xv and Video4Linux support
and a real hardware overlay with on-the-fly scaling (i.e doesn't
require a temporary output)

The upside is that it would be automatic without any CPU intervention.
anything XFree draws in the framebuffer would automatically be
scaled real-time by the overlay. You would just need to reposition
the overlay when the panning was needed.

or,

You could use Xv in a more conventional manner (no video4linux) and
just read the framebuffer contents via a memory map and do an
XvShmPutImage to get the scaled up version on-screen. Some hardware
probably has issues with mmap reading of the FB while rendering so
your mileage may vary.

 -Matt


-----Original Message-----
From: Mark Vojkovich [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 11, 2003 12:59 PM
To: [EMAIL PROTECTED]
Subject: Re: DGA Example Code for Screen Magnification Prog


  DGA is for fullscreen games and such and takes over the screen making
the rest of the server think it's switched away do another VT.  DGA
is mutually exclusive with normal server operation so it can't be
used magnify normal server operation.

  Most hardware can display resolutions as low as 320x240.  Isn't
that low enough resolutions for you?  In a dual head configuration
with Xinerama, one head could display a blowup of the other
screen.  I haven't tried it but one should be able to have a
client that tracks mouse motion on the screen and adjusts the
viewport position of the blownup screen through the vidmode extension.


                        Mark.


On Tue, 11 Mar 2003, Kieran O'Sullivan wrote:

> I am writing an Xlib based screen magnification program for X called
> BlindPenguin (http://www.blindpenguin.org).  In great wisdon of great
> folly I have dicided to use DGA to write this program.
> I am looking for DGA code examples I have looked at the dga prog which
> changes your screen colour, but i need more.  freshmeat.net has one or two
> games which use DGA and I'm hoping someone here has something?
> 
> Setting the mode lines in XF86Config isn't really an option for a person
> with my sight level unless it is possible to set a Mode line which will
> make the screen 8 times its normal size.
> 
> BACKGROUND INFORMATION
> The issue is this any X magnification program that I have seen draws the
> magnified area on a window I DO NOT WANT TO DO THIS.  I want to write a
> program, which zooms in like a video camera on a particular part of the
> screen what will happen is that the magnified area of the screen will fill
> the entire screen, in simple terms the magnified area will be re-drawn
with
> more pixels to fill the screen.  However the X server and clients
shouldn't
> care about this in-fact they shouldn't know.  Basically there are 2
screens
> 1 is the screen that the X server creates and the other is the screen that
> the user sees.  As I move the mouse around the X server moves it on the
real
> screen but the user sees the magnified screen moving.  To use the video
camera
>  analogy again imagine a person walking around a room using the view
finder
> of a video camera turned up to full zoom to see.  Their coordinates would
> change relative to the objects in the room but they would see things much
> larger than they are.
> 
> 
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel
> 

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to