Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Zoom controls

Zoom controls
Thread Tools
Fresh-Faced Recruit
Join Date: Mar 2006
Status: Offline
Reply With Quote
Mar 14, 2006, 01:36 PM
 
Hi all,
I am a high school senior and novice OS X developer. I am attempting to create a small OSX app fro a self-directed "Senior Project" course I'm taking. What I would like to do is provide increased control over the universal access zooming feature, normall activated with cmd-opt-8 and used with cmd-opt-+ and cmd-opt-- (Or, I suppose, = and -, since you don't hold shift for zooming in).

I want to add the ability to "freeze" the screen in one position while zoomed in, so that the mouse can be moved without the screen following it. I also have some other features I'd like to add, such as saveable zoom states and cursor hiding, but those are somewhat tangential, and probably a lot easier, at least once I figure out the main part.

I've been looking around for a while, and I haven't found much in the way of direction. I doubt very much that Universal Access itself provides a way to do this, so I was thinking I'd have to find the code, or at least the methods, that it uses, and use them differently in my own code. However, I have no idea where to look for that stuff, or if it's even available.

If that is impossible, my only option seems to be to write it from scratch, possibly using the methods of game developers, who mess with the display a lot. However, I also don't know where to find the methods that control the general output to the screen, or exactly what messing with them would entail.

Any suggestions or ideas would be greatly appreciated, including arguments for why all these approaches are wrong, or why the entire project is impossible. It seems like it should be doable, and I'm fairly determined, but if i should stop wasting my time right now, let me know.

Thanks a lot!
     
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
Mar 14, 2006, 01:53 PM
 
Well, assuming you can't hax0r Universal Access (maybe look into using APE?), you could do something like read in the framebuffer, modify it, and then display the modified version in a fullscreen window. Of course then the image you were reading in would be covered... so I guess that wouldn't work too well. I seem to remember some screensavers that would distort the image behind them, maybe look into how those worked.
     
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 14, 2006, 02:05 PM
 
There's no public API for the functionality. Running nm CoreGraphics | grep -i zoom on CoreGraphics reveals some promising functions that could probably do what you want if you figure them out. If hashing out undocumented API isn't your thing, the easiest technique would just be to simulate the effect yourself as you said. I don't think either way is going to be particularly easy, though.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 09:32 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2