Re: NSBezierPath + thin lines + antialias = :(
Re: NSBezierPath + thin lines + antialias = :(
- Subject: Re: NSBezierPath + thin lines + antialias = :(
- From: Quincey Morris <email@hidden>
- Date: Tue, 10 Feb 2015 20:20:08 +0000
On Feb 10, 2015, at 11:23 , Jerry Krinock <email@hidden> wrote:
>
> I’ve always wondered why, when you’re dragging a window around a non-Retina screen, the anti-aliasing doesn’t show a “comb filter” kind of effect, with different lines getting fuzzy and sharp as they are dragged on and off their pixels. Looking at this closely today, I think the explanation may be that
>
> (1) Although you need to look carefully, Apple has constrained
> dragging windows to “snap" to the grid of backing pixels.
> You cannot move a window by one half pixel.
> (2) A window’s intrinsic scrollers, title bars, etc. are also
> on a 1-pixel grid.
> (3) Any control or view that you place into Interface Builder
> must be on a 1-pixel grid. I just tried entering a decimal
> fraction, 139.5, and after I ended editing, it was rounded
> down to 139.
Case #3 is actually points, not pixels. Cases #1 and #2 may be points, too, but I don’t know.
Then there’s #1A and #3A — meaning: positioning those elements programmatically. Even though you can’t place a button off the 1-point grid in IB, you might be able to do it programmatically. Or not.
Also, be careful about conceptualizing backing “pixels”. On an iPhone 6+, the backing store is 2x, but the hardware is 3x. (Let’s hope I got that the right way round.) Something similar is true of the Retina iMac/MacBook, too, though it’s complicated by having multiple logical resolutions.
_______________________________________________
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