// our OS version is the same in non GUI and GUI cases
wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
{
- long theSystem;
+ SInt32 theSystem;
Gestalt(gestaltSystemVersion, &theSystem);
if ( majorVsn != NULL )
// Emit a beeeeeep
void wxBell()
{
+#ifndef __LP64__
SysBeep(30);
+#endif
}
void wxGetMousePosition( int* x, int* y )
{
Point pt;
-
+#if wxMAC_USE_CORE_GRAPHICS
+ GetGlobalMouse(&pt);
+#else
GetMouse( &pt );
LocalToGlobal( &pt );
+#endif
*x = pt.h;
*y = pt.v;
};
// Returns depth of screen
int wxDisplayDepth()
{
+ int theDepth = 8;
+#if wxMAC_USE_CORE_GRAPHICS
+ theDepth = (int) CGDisplayBitsPerPixel(CGMainDisplayID());
+#else
Rect globRect;
SetRect(&globRect, -32760, -32760, 32760, 32760);
GDHandle theMaxDevice;
- int theDepth = 8;
theMaxDevice = GetMaxDevice(&globRect);
if (theMaxDevice != NULL)
theDepth = (**(**theMaxDevice).gdPMap).pixelSize;
-
+#endif
return theDepth;
}
// Get size of display
void wxDisplaySize(int *width, int *height)
{
+#if wxMAC_USE_CORE_GRAPHICS
+ CGRect bounds ;
+ // TODO adapt for multi-displays
+ bounds = CGDisplayBounds(CGMainDisplayID());
+ if ( width )
+ *width = bounds.size.width ;
+ if ( height )
+ *height = bounds.size.height;
+#else
BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits );
if (height != NULL)
*height = screenBits.bounds.bottom - screenBits.bounds.top;
+#endif
}
void wxDisplaySizeMM(int *width, int *height)
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+ HIRect bounds ;
+ HIWindowGetAvailablePositioningBounds(kCGNullDirectDisplay,kHICoordSpace72DPIGlobal,
+ &bounds);
+ if ( x )
+ *x = bounds.origin.x;
+ if ( y )
+ *y = bounds.origin.y;
+ if ( width )
+ *width = bounds.size.width;
+ if ( height )
+ *height = bounds.size.height;
+#else
Rect r;
-
GetAvailableWindowPositioningBounds( GetMainDevice() , &r );
if ( x )
*x = r.left;
*width = r.right - r.left;
if ( height )
*height = r.bottom - r.top;
+#endif
}
wxWindow* wxFindWindowAtPoint(const wxPoint& pt)
m_controlRef = NULL;
}
-void wxMacControl::SetReference( SInt32 data )
+void wxMacControl::SetReference( URefCon data )
{
SetControlReference( m_controlRef , data );
}
short wxMacControl::HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers )
{
+#ifndef __LP64__
return HandleControlKey( m_controlRef , keyCode , charCode , modifiers );
+#else
+ return 0;
+#endif
}
void wxMacControl::SetActionProc( ControlActionUPP actionProc )
wxMacControl* wxMacControl::GetReferenceFromNativeControl(ControlRef control)
{
wxMacControl* ctl = NULL;
- UInt32 actualSize;
+ ByteCount actualSize;
if ( GetControlProperty( control ,wxMacCreator,wxMacControlProperty, sizeof(ctl) ,
&actualSize , &ctl ) == noErr )
{
OSStatus wxMacDataBrowserControl::GetItemCount( DataBrowserItemID container,
Boolean recurse,
DataBrowserItemState state,
- UInt32 *numItems) const
+ ItemCount *numItems) const
{
return GetDataBrowserItemCount( m_controlRef, container, recurse, state, numItems );
}
}
OSStatus wxMacDataBrowserControl::GetColumnPosition( DataBrowserPropertyID column,
- UInt32 *position) const
+ DataBrowserTableViewColumnIndex *position) const
{
return GetDataBrowserTableViewColumnPosition( m_controlRef , column , position);
}
-OSStatus wxMacDataBrowserControl::SetColumnPosition( DataBrowserPropertyID column, UInt32 position)
+OSStatus wxMacDataBrowserControl::SetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex position)
{
return SetDataBrowserTableViewColumnPosition( m_controlRef , column , position);
}
unsigned int wxMacDataItemBrowserControl::GetItemCount(const wxMacDataItem* container,
bool recurse , DataBrowserItemState state) const
{
- UInt32 numItems = 0;
+ ItemCount numItems = 0;
verify_noerr( wxMacDataBrowserControl::GetItemCount( (DataBrowserItemID)container,
recurse, state, &numItems ) );
return numItems;
columnDesc.propertyDesc.propertyID = (kMinColumnId + colId);
columnDesc.propertyDesc.propertyType = colType;
- columnDesc.propertyDesc.propertyFlags = kDataBrowserListViewDefaultColumnFlags | kDataBrowserListViewTypeSelectColumn;
+ columnDesc.propertyDesc.propertyFlags = kDataBrowserListViewSortableColumn | kDataBrowserListViewTypeSelectColumn;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
columnDesc.propertyDesc.propertyFlags |= kDataBrowserListViewNoGapForIconInHeaderButton;
#endif
void wxMacDataItemBrowserControl::RemoveItem(wxMacDataItem *container, wxMacDataItem* item)
{
OSStatus err = wxMacDataBrowserControl::RemoveItems( (DataBrowserItemID)container, 1,
- (UInt32*) &item, kDataBrowserItemNoProperty );
+ (DataBrowserItemID*) &item, kDataBrowserItemNoProperty );
verify_noerr( err );
}
items[i] = (DataBrowserItemID) itemArray[i];
OSStatus err = wxMacDataBrowserControl::RemoveItems( (DataBrowserItemID)container, noItems,
- (UInt32*) items, kDataBrowserItemNoProperty );
+ (DataBrowserItemID*) items, kDataBrowserItemNoProperty );
verify_noerr( err );
delete [] items;
}
}
#endif
+#ifndef __LP64__
+
wxMacPortSaver::wxMacPortSaver( GrafPtr port )
{
::GetPort( &m_port );
{
::SetPort( m_port );
}
+#endif
+
+void wxMacGlobalToLocal( WindowRef window , Point*pt )
+{
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
+ HIPoint p = CGPointMake( pt->h, pt->v );
+ HIViewRef contentView ;
+ // TODO check toolbar offset
+ HIViewFindByID( HIViewGetRoot( window ), kHIViewWindowContentID , &contentView) ;
+ HIPointConvert( &p, kHICoordSpace72DPIGlobal, NULL, kHICoordSpaceView, contentView );
+ pt->h = p.x;
+ pt->v = p.y;
+#else
+ QDGlobalToLocalPoint( GetWindowPort(window), pt ) ;
+#endif
+}
+
+void wxMacLocalToGlobal( WindowRef window , Point*pt )
+{
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4
+ HIPoint p = CGPointMake( pt->h, pt->v );
+ HIViewRef contentView ;
+ // TODO check toolbar offset
+ HIViewFindByID( HIViewGetRoot( window ), kHIViewWindowContentID , &contentView) ;
+ HIPointConvert( &p, kHICoordSpaceView, contentView, kHICoordSpace72DPIGlobal, NULL );
+ pt->h = p.x;
+ pt->v = p.y;
+#else
+ QDLocalToGlobalPoint( GetWindowPort(window), pt ) ;
+#endif
+}
#endif // wxUSE_GUI