void wxGetMousePosition( int* x, int* y )
{
+#if wxMAC_USE_QUICKDRAW
Point pt;
GetGlobalMouse(&pt);
*x = pt.h;
*y = pt.v;
+#endif
};
// Return true if we have a colour display
// Returns depth of screen
int wxDisplayDepth()
{
+#if wxMAC_USE_QUICKDRAW
int theDepth = (int) CGDisplayBitsPerPixel(CGMainDisplayID());
Rect globRect;
SetRect(&globRect, -32760, -32760, 32760, 32760);
theDepth = (**(**theMaxDevice).gdPMap).pixelSize;
return theDepth;
+#else
+ return 32;
+#endif
}
// Get size of display
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+#if wxMAC_USE_QUICKDRAW
+
HIRect bounds ;
HIWindowGetAvailablePositioningBounds(kCGNullDirectDisplay,kHICoordSpace72DPIGlobal,
&bounds);
*width = bounds.size.width;
if ( height )
*height = bounds.size.height;
+#else
+ int w, h;
+ wxDisplaySize(&w,&h);
+ if ( x )
+ *x = 0;
+ if ( y )
+ *y = 24;
+ if ( width )
+ *width = w;
+ if ( height )
+ *height = h-24;
+#endif
#else
Rect r;
GetAvailableWindowPositioningBounds( GetMainDevice() , &r );
// Control Access Support
// ----------------------------------------------------------------------------
+#if wxMAC_USE_QUICKDRAW
+
IMPLEMENT_DYNAMIC_CLASS( wxMacControl , wxObject )
wxMacControl::wxMacControl()
#endif
}
-void wxMacControl::SetBackground( const wxBrush &WXUNUSED(brush) )
+void wxMacControl::SetBackgroundColour( const wxColour &WXUNUSED(col) )
{
// TODO
// setting up a color proc is not recommended anymore
bool wxMacControl::IsEnabled() const
{
-#if TARGET_API_MAC_OSX
return IsControlEnabled( m_controlRef );
-#else
- return IsControlActive( m_controlRef );
-#endif
}
bool wxMacControl::IsActive() const
OSStatus wxMacControl::SetZOrder( bool above , wxMacControl* other )
{
-#if TARGET_API_MAC_OSX
return HIViewSetZOrder( m_controlRef,above ? kHIViewZOrderAbove : kHIViewZOrderBelow,
(other != NULL) ? other->m_controlRef : NULL);
-#else
- return 0;
-#endif
}
-#if TARGET_API_MAC_OSX
// SetNeedsDisplay would not invalidate the children
static void InvalidateControlAndChildren( HIViewRef control )
{
InvalidateControlAndChildren( child );
}
}
-#endif
void wxMacControl::InvalidateWithChildren()
{
-#if TARGET_API_MAC_OSX
InvalidateControlAndChildren( m_controlRef );
-#endif
}
void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
if ( gDataBrowserItemNotificationUPP == NULL )
{
gDataBrowserItemNotificationUPP =
-#if TARGET_API_MAC_OSX
(DataBrowserItemNotificationUPP) NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationProc);
-#else
- NewDataBrowserItemNotificationUPP(DataBrowserItemNotificationProc);
-#endif
}
DataBrowserCallbacks callbacks;
return ::SetTabEnabled( m_controlRef , tabNo , enable );
}
+#endif
+
//
// Quartz Support
//
-// 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()
-{
- 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) );
- }
-
- // clone the profile reference so that the caller has their own reference, not our cached one
- if (cachedRGBProfileRef)
- 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
return genericRGBColorSpace;
}
+CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush )
+{
+ CGColorRef color ;
+ HIThemeBrushCreateCGColor( brush, &color );
+ return color;
+}
+
#ifndef __LP64__
wxMacPortSaver::wxMacPortSaver( GrafPtr port )
}
#endif
+#if wxMAC_USE_QUICKDRAW
+
void wxMacGlobalToLocal( WindowRef window , Point*pt )
{
HIPoint p = CGPointMake( pt->h, pt->v );
pt->h = p.x;
pt->v = p.y;
}
+#endif
#endif // wxUSE_GUI