I'm working on a virtual frame buffer driver for use by a USB video
chip. It uses the open source IOProxyVideoFamily:
https://code.google.com/archive/p/ioproxyvideofamily/
There are many bugs in IOProxyVideoFamily, but I have fixed at least
some of them.
IOFramebuffer has support for both software and hardware cursors.
When I use a software cursor, mouse tracks are left in window title
bars after clicking once then moving the mouse. That is, no tracks if
one has not clicked.
I'm trying hardware cursor support, but I'm concerned that I
misunderstood it, and that use of a hardware cursor requires my USB
gadget to draw the cursor. That is, I suspect that selecting the
hardware cursor relieves the macOS of the burden of displaying the
cursor.
I am uncertain about this, so I'm studying the IOGraphicsFamily that I
got from
http://opensource.apple.com/. That code is both lengthy and
complex; I do not yet fully understand it.
One chooses hardware or software cursors in the frame buffer subclass.
The IOFramebuffer parent class calls getAttribute() in the subclass,
with an attribute pointer to return the value of the attribute.
Passing back 1 selects the hardware cursor and obligates the child
class to provide setCursorImage and setCursorState.
However setCursorImage() doesn't create the bitmap directly, rather it
calls the base class' convertCursorImage(). What actually happens is
that the cursorImage opaque pointer isn't really a pointer, it's an
integer index into a table that's maintained by the base class. I do
not yet see any way for my subclass to obtain the bitmap.
That leads me to also suspect that my concern may be unfounded, that
the drawing of the cursor is handled by the macOS, perhaps in the
Window Manager, which is not open source.
I eagerly await your insights,
Mike
Mike Crawford
mdcra...@gmail.com
I'm busted flat until my driver reaches beta.
https://www.gofundme.com/help-mike-survive-for-a-month
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (
Darwin-...@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/darwin-drivers/darwin-drivers-garchive-96018%40googlegroups.com
This email sent to
darwin-drivers...@googlegroups.com