Res Independence [Was: Accessing window back buffer without deprecated functions in Tiger]
Res Independence [Was: Accessing window back buffer without deprecated functions in Tiger]
- Subject: Res Independence [Was: Accessing window back buffer without deprecated functions in Tiger]
- From: Ricky Sharp <email@hidden>
- Date: Thu, 16 Mar 2006 14:34:29 -0600
On Thursday, March 16, 2006, at 12:04PM, John Stiles <email@hidden> wrote:
>I think the problem you're going to run up against is resolution-
>independence. You can enable this now if you look at all the options
>in Quartz Debug. This is supposed to be a feature that end-users can
>enable in a future OS release. This will let the user scale up a
>window's contents by an arbitrary percentage. So your "pixel" may
>actually be 1.3 pixels wide on screen, and straddle four physical
>pixels.
Just wanted to make a comment here to say that this stuff is really really cool. Currently, you can pick amongst various scaling factors both below and above 1.0.
With Cocoa, it comes virtually for free using what Apple calls "framework scaling" (i.e. the framework does most -- or even all -- of the heavy lifting for you.) All my graphics are vector-based PDFs. That, coupled by using the standard Cocoa text rendering, bezier paths, shadows, etc., I'm getting beautifully rescaled results (no jaggies!).
However, there are currently bugs where things do not quite work at all scaling factors (rendering artifacts). Running IB with scaling is also quite amuzing :P I've filed some bugs and I encourage others to also file them as you find stuff. This will help polish this feature.
One area that I currently need to address on my end is a routine that uses direct-pixel access to change an image to grayscale. Currently, when I 'capture' the image's bits to manipulate, that bitmap image rep is at the original scale (x1.0) and thus my output image may either be too large or too small for what is represented on screen. I'm hoping that going through CoreImage may solve this.
Finally, note that you can set your app up to not scale. I believe there's an API call for this. This will definitely be useful for say games that always want to run at a particular resolution and DPI. Also, for those that capture the display with the CG calls, I'm not sure just what will happen with scaling; perhaps scaling will be ingored on captured displays.
--
Rick Sharp
Instant Interactive(tm)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden