// returns the 'native' implementation, a GWorldPtr for the content and one for the mask
WXHBITMAP GetHBITMAP( WXHBITMAP * mask = NULL ) const;
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
// returns a CGImageRef which must released after usage with CGImageRelease
WXCGIMAGEREF CGImageCreate() const ;
#endif
wxBrush m_brush ;
} ;
+#endif // wxMAC_USE_CORE_GRAPHICS
+
+#ifdef __WXMAC_OSX__
+
CGColorSpaceRef wxMacGetGenericRGBColorSpace(void) ;
void wxMacMemoryBufferReleaseProc(void *info, const void *data, size_t size) ;
-#endif // wxMAC_USE_CORE_GRAPHICS
+#endif
class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
{
#endif // wxUSE_PALETTE
wxMask * m_bitmapMask; // Optional mask
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
CGImageRef CGImageCreate() const ;
#endif
wxMemoryBuffer m_memBuf ;
int m_rawAccessCount ;
bool m_ok;
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
mutable CGImageRef m_cgImageRef ;
#endif
IconRef m_iconRef ;
return m_pictHandle ;
}
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
void wxMacMemoryBufferReleaseProc(void *info, const void *data, size_t size)
{
wxMemoryBuffer* membuf = (wxMemoryBuffer*) info ;
return TRUE;
}
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
WXCGIMAGEREF wxBitmap::CGImageCreate() const
{
wxCHECK_MSG( Ok(), NULL , wxT("invalid bitmap") ) ;
}
}
-// snippets from Sketch Sample from Apple :
-
-#define kGenericRGBProfilePathStr "/System/Library/ColorSync/Profiles/Generic RGB Profile.icc"
-/*
- This function locates, opens, and returns the profile reference for the calibrated
- Generic RGB color space. It is up to the caller to call CMCloseProfile when done
- with the profile reference this function returns.
-*/
-CMProfileRef wxMacOpenGenericProfile(void)
-{
- static CMProfileRef cachedRGBProfileRef = NULL;
-
- // we only create the profile reference once
- if (cachedRGBProfileRef == NULL)
- {
- CMProfileLocation loc;
-
- loc.locType = cmPathBasedProfile;
- strcpy(loc.u.pathLoc.path, kGenericRGBProfilePathStr);
-
- verify_noerr( CMOpenProfile(&cachedRGBProfileRef, &loc) );
- }
-
- if (cachedRGBProfileRef)
- {
- // clone the profile reference so that the caller has their own reference, not our cached one
- CMCloneProfileRef(cachedRGBProfileRef);
- }
-
- return cachedRGBProfileRef;
-}
-
-/*
- Return the generic RGB color space. This is a 'get' function and the caller should
- not release the returned value unless the caller retains it first. Usually callers
- of this routine will immediately use the returned colorspace with CoreGraphics
- so they typically do not need to retain it themselves.
-
- This function creates the generic RGB color space once and hangs onto it so it can
- return it whenever this function is called.
-*/
-
-CGColorSpaceRef wxMacGetGenericRGBColorSpace()
-{
- static CGColorSpaceRef genericRGBColorSpace = NULL;
-
- if (genericRGBColorSpace == NULL)
- {
- CMProfileRef genericRGBProfile = wxMacOpenGenericProfile();
-
- if (genericRGBProfile)
- {
- genericRGBColorSpace = CGColorSpaceCreateWithPlatformColorSpace(genericRGBProfile);
- wxASSERT_MSG( genericRGBColorSpace != NULL, wxT("couldn't create the generic RGB color space") ) ;
-
- // we opened the profile so it is up to us to close it
- CMCloseProfile(genericRGBProfile);
- }
- }
- return genericRGBColorSpace;
-}
-
void AddEllipticArcToPath(CGContextRef c, CGPoint center, float a, float b, float fromDegree , float toDegree )
{
CGContextSaveGState(c);
return ::SetTabEnabled( m_controlRef , tabNo , enable ) ;
}
+//
+// Quartz Support
+//
+
+#ifdef __WXMAC_OSX__
+// snippets from Sketch Sample from Apple :
+
+#define kGenericRGBProfilePathStr "/System/Library/ColorSync/Profiles/Generic RGB Profile.icc"
+/*
+ This function locates, opens, and returns the profile reference for the calibrated
+ Generic RGB color space. It is up to the caller to call CMCloseProfile when done
+ with the profile reference this function returns.
+*/
+CMProfileRef wxMacOpenGenericProfile(void)
+{
+ static CMProfileRef cachedRGBProfileRef = NULL;
+
+ // we only create the profile reference once
+ if (cachedRGBProfileRef == NULL)
+ {
+ CMProfileLocation loc;
+
+ loc.locType = cmPathBasedProfile;
+ strcpy(loc.u.pathLoc.path, kGenericRGBProfilePathStr);
+
+ verify_noerr( CMOpenProfile(&cachedRGBProfileRef, &loc) );
+ }
+
+ if (cachedRGBProfileRef)
+ {
+ // clone the profile reference so that the caller has their own reference, not our cached one
+ CMCloneProfileRef(cachedRGBProfileRef);
+ }
+
+ return cachedRGBProfileRef;
+}
+
+/*
+ Return the generic RGB color space. This is a 'get' function and the caller should
+ not release the returned value unless the caller retains it first. Usually callers
+ of this routine will immediately use the returned colorspace with CoreGraphics
+ so they typically do not need to retain it themselves.
+
+ This function creates the generic RGB color space once and hangs onto it so it can
+ return it whenever this function is called.
+*/
+
+CGColorSpaceRef wxMacGetGenericRGBColorSpace()
+{
+ static CGColorSpaceRef genericRGBColorSpace = NULL;
+
+ if (genericRGBColorSpace == NULL)
+ {
+ CMProfileRef genericRGBProfile = wxMacOpenGenericProfile();
+
+ if (genericRGBProfile)
+ {
+ genericRGBColorSpace = CGColorSpaceCreateWithPlatformColorSpace(genericRGBProfile);
+ wxASSERT_MSG( genericRGBColorSpace != NULL, wxT("couldn't create the generic RGB color space") ) ;
+
+ // we opened the profile so it is up to us to close it
+ CMCloseProfile(genericRGBProfile);
+ }
+ }
+ return genericRGBColorSpace;
+}
+#endif
+
#endif // wxUSE_GUI