• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How do I get NSRect to be the same as CGRect?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do I get NSRect to be the same as CGRect?


  • Subject: Re: How do I get NSRect to be the same as CGRect?
  • From: "Clark S. Cox III" <email@hidden>
  • Date: Mon, 17 Dec 2007 16:37:10 -0600

Indeed, the C standard guarantees that structures with the same initial sequence of members are layer out identically (at least as far as those initial members are concerned)

Clark Cox III
email@hidden
Sent from my iPhone

On Dec 17, 2007, at 14:52, Rick Mann <email@hidden> wrote:


On Dec 17, 2007, at 9:48 AM, Sean McBride wrote:

Yes, but nothing stops the compiler from padding or aligning CGRect
differently from NSRect. Of course, it's unlikely, but possible. See '-
fstrict-aliasing' in the gcc man page.

It seems unlikely to me that the two structs would ever be treated differently by the compiler. I suppose an Objective-C compiler might treat it differently than C++, but for the Mac OS APIs that use NSRect to be built differently than client code that use NSRect, well, that would be unacceptable. The only other difference between them, then, is the name of the struct, which also would be an unacceptable influence on the actual layout of the struct.


The more serious problem is that the C++ compiler cannot include the file defining NSRect; it contains Objective-C code. So, I can't make my Graphics::Rect class accept NSRects at all. It would be great if Apple could move NSRect to CGGeometry.h. Sigh.

--
Rick

_______________________________________________

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


References: 
 >How do I get NSRect to be the same as CGRect? (From: Rick Mann <email@hidden>)
 >Re: How do I get NSRect to be the same as CGRect? (From: "Clark Cox" <email@hidden>)
 >Re: How do I get NSRect to be the same as CGRect? (From: Rick Mann <email@hidden>)
 >Re: How do I get NSRect to be the same as CGRect? (From: "Sean McBride" <email@hidden>)
 >Re: How do I get NSRect to be the same as CGRect? (From: Rick Mann <email@hidden>)

  • Prev by Date: Re: style question: when to use 'id' as return value?
  • Next by Date: Re: style question: when to use 'id' as return value?
  • Previous by thread: Re: How do I get NSRect to be the same as CGRect?
  • Next by thread: Re: How do I get NSRect to be the same as CGRect?
  • Index(es):
    • Date
    • Thread