Phil Endecott schrieb:
> Dear All,
> 
> As I understand it, there is no facility in DirectFB for controlling 
> the hardware cursor except what's provided by the window stack code. Is 
> this true? I'm using fullscreen, single-application mode. Does anyone 
> have any plans to make it possible to control the hardware cursor in 
> fullscreen mode?

There's no hardware cursor support in DirectFB, at least in no window
manager module that I know about.

The cursor has been a window itself for a long time, but a few months
ago it became just a surface and the window manager had to implement
everything.

At the moment it uses a backing store surface as big as the cursor
surface to backup the data before putting the cursor onto the screen.
To hide the cursor or before moving it, the region is restored.

If the window stack got repainted and the region intersects with the
cursor region, the new data is copied to the backing store surface and
the affected part of the cursor is restored.

> If no-one is working on this, on planning on working on it, I may be 
> able to write a patch. I need this facility quite badly. But I am only 
> vaguely familiar with the DirectFB codebase and I'll need some help. 
> Would anyone be prepared to assist?

With the new light weight software cursor implementation the
functionality could be easily provided to applications running
in fullscreen mode.

What we need is just a single new method in IDirectFBDisplayLayer which
will instruct the window manager module to render the cursor.

The application could render all its content into the back buffer, call
the window manager to render the cursor and then flip the layer surface.

For the non-double buffered case, or for partial screen updates it
would be better to expose more of the cursor implementation. I'll check.

Hmm, we also need to think about the CreateSurface(PRIMARY) case, not
just explicit layer usage. In the former case we don't have a layer
interface ourself (application).

> I'm not even sure where the best place is in the API for it. One option 
> is to make it a layer, since layers have the (x,y) positioning that is 
> required. Any ideas?

Layers are hardware or emulated by the driver.

-- 
Best regards,
   Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to