Cursor duplication problem
Cursor duplication problem
- Subject: Cursor duplication problem
- From: Filipe Varela <email@hidden>
- Date: Fri, 18 Jan 2008 17:23:18 +0000
Hi
I'm working on an app that needs to access a full screen opengl
context which contains an image with the contents of the screen. This
image is created with a simple mem copy and does not contain the
cursor image (Apple does not include it in the screen buffer). To
capture this as an image and display the cursor, my app calls NSCursor
currentCursor, extracts its image and copies it to the position
reported by the cursor.
This, to my understanding, is the only workaround for apple's
shortcoming and is indeed referenced in most screen capture apps'
troubleshooters/faqs.
The real problem is that there's an inconsistency which manifests
itself when a user uses mousewheel zooming by hitting ctrl-wheel.
Apparently that neat effect is achieved by zooming in and out on a
composition containing both the screen buffer and the _real_ mouse
overlay (not the one my app creates). The end result is a double
cursor appearance
in which one is constant size (my cursor) and the other is apple's
regular/magnified size.
There are two possible solutions:
1 - Does anyone know of a way to detect current screen zoomlevel? I've
searched the docs and googled around to no avail. If i could detect it
i could bypass my own cursor drawing until zoom was back at 1.0.
2 - Does anyone know of a way to include the cursor when capturing the
screen using opengl? I know this could belong to another list too but
most of the post is really cocoa specific.
There is one other issue with [NSCursor currentCursor]. Apparently it
always returns arrowCursor. This too is a known problem and i was
wondering if a workaround has been discovered.
Thanks for reading,
Filipe
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden