cleanup - reformatting

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Surovell
2005-12-27 19:50:23 +00:00
parent e72d82bb29
commit 8638e69ba1

View File

@@ -33,28 +33,28 @@
#include "MoreFilesX.h" #include "MoreFilesX.h"
#ifndef __DARWIN__ #ifndef __DARWIN__
#include <Threads.h> #include <Threads.h>
#include <Sound.h> #include <Sound.h>
#endif #endif
#if wxUSE_GUI #if wxUSE_GUI
#if TARGET_API_MAC_OSX #if TARGET_API_MAC_OSX
#include <CoreServices/CoreServices.h> #include <CoreServices/CoreServices.h>
#else #else
#include <DriverServices.h> #include <DriverServices.h>
#include <Multiprocessing.h> #include <Multiprocessing.h>
#endif #endif
#ifdef __DARWIN__ #ifdef __DARWIN__
#include <Carbon/Carbon.h> #include <Carbon/Carbon.h>
#else #else
#include <ATSUnicode.h> #include <ATSUnicode.h>
#include <TextCommon.h> #include <TextCommon.h>
#include <TextEncodingConverter.h> #include <TextEncodingConverter.h>
#endif #endif
#endif // wxUSE_GUI #endif // wxUSE_GUI
#include "wx/mac/private.h" // includes mac headers #include "wx/mac/private.h"
#if defined(__MWERKS__) && wxUSE_UNICODE #if defined(__MWERKS__) && wxUSE_UNICODE
#include <wtime.h> #include <wtime.h>
@@ -72,12 +72,12 @@ static int DoGetOSVersion(int *majorVsn, int *minorVsn)
// are there x-platform conventions ? // are there x-platform conventions ?
Gestalt(gestaltSystemVersion, &theSystem) ; Gestalt(gestaltSystemVersion, &theSystem) ;
if (minorVsn != NULL) { if (minorVsn != NULL)
*minorVsn = (theSystem & 0xFF ) ; *minorVsn = (theSystem & 0xFF) ;
}
if (majorVsn != NULL) { if (majorVsn != NULL)
*majorVsn = (theSystem >> 8 ) ; *majorVsn = (theSystem >> 8) ;
}
#ifdef __DARWIN__ #ifdef __DARWIN__
return wxMAC_DARWIN; return wxMAC_DARWIN;
#else #else
@@ -106,11 +106,11 @@ static int DoGetOSVersion(int *majorVsn, int *minorVsn)
#if TARGET_API_MAC_CARBON #if TARGET_API_MAC_CARBON
#include <CodeFragments.h> #include <CodeFragments.h>
extern "C" long CallUniversalProc(UniversalProcPtr theProcPtr, ProcInfoType procInfo, ...); extern "C" long CallUniversalProc(UniversalProcPtr theProcPtr, ProcInfoType procInfo, ...);
ProcPtr gCallUniversalProc_Proc = NULL; ProcPtr gCallUniversalProc_Proc = NULL;
#endif #endif
@@ -118,9 +118,6 @@ static MetroNubUserEntryBlock* gMetroNubEntry = NULL;
static long fRunOnce = false; static long fRunOnce = false;
/* ---------------------------------------------------------------------------
IsMetroNubInstalled
--------------------------------------------------------------------------- */
Boolean IsMetroNubInstalled() Boolean IsMetroNubInstalled()
{ {
@@ -133,11 +130,10 @@ Boolean IsMetroNubInstalled()
if (Gestalt(gestaltSystemVersion, &value) == noErr && value < 0x1000) if (Gestalt(gestaltSystemVersion, &value) == noErr && value < 0x1000)
{ {
/* look for MetroNub's Gestalt selector */ // look for MetroNub's Gestalt selector
if (Gestalt(kMetroNubUserSignature, &result) == noErr) if (Gestalt(kMetroNubUserSignature, &result) == noErr)
{ {
#if TARGET_API_MAC_CARBON
#if TARGET_API_MAC_CARBON
if (gCallUniversalProc_Proc == NULL) if (gCallUniversalProc_Proc == NULL)
{ {
CFragConnectionID connectionID; CFragConnectionID connectionID;
@@ -166,17 +162,19 @@ Boolean IsMetroNubInstalled()
goto end; goto end;
} }
} }
#endif #endif
{ {
MetroNubUserEntryBlock* block = (MetroNubUserEntryBlock *)result; MetroNubUserEntryBlock* block = (MetroNubUserEntryBlock *)result;
/* make sure the version of the API is compatible */ // make sure the version of the API is compatible
if (block->apiLowVersion <= kMetroNubUserAPIVersion && if (block->apiLowVersion <= kMetroNubUserAPIVersion &&
kMetroNubUserAPIVersion <= block->apiHiVersion) kMetroNubUserAPIVersion <= block->apiHiVersion)
gMetroNubEntry = block; /* success! */ {
// success!
gMetroNubEntry = block;
}
} }
} }
} }
} }
@@ -190,28 +188,20 @@ end:
#endif #endif
} }
/* ---------------------------------------------------------------------------
IsMWDebuggerRunning [v1 API]
--------------------------------------------------------------------------- */
Boolean IsMWDebuggerRunning() Boolean IsMWDebuggerRunning()
{ {
if (IsMetroNubInstalled()) if (IsMetroNubInstalled())
return CallIsDebuggerRunningProc(gMetroNubEntry->isDebuggerRunning); return CallIsDebuggerRunningProc(gMetroNubEntry->isDebuggerRunning);
else
return false;
}
/* --------------------------------------------------------------------------- return false;
AmIBeingMWDebugged [v1 API] }
--------------------------------------------------------------------------- */
Boolean AmIBeingMWDebugged() Boolean AmIBeingMWDebugged()
{ {
if (IsMetroNubInstalled()) if (IsMetroNubInstalled())
return CallAmIBeingDebuggedProc(gMetroNubEntry->amIBeingDebugged); return CallAmIBeingDebuggedProc(gMetroNubEntry->amIBeingDebugged);
else
return false; return false;
} }
extern bool WXDLLEXPORT wxIsDebuggerRunning() extern bool WXDLLEXPORT wxIsDebuggerRunning()
@@ -238,10 +228,23 @@ bool wxGetFullHostName(wxChar *buf, int maxSize)
return wxGetHostName(buf, maxSize); return wxGetHostName(buf, maxSize);
} }
// Get user ID e.g. jacs
bool wxGetUserId(wxChar *buf, int maxSize)
{
return wxGetUserName( buf , maxSize ) ;
}
const wxChar* wxGetHomeDir(wxString *pstr)
{
*pstr = wxMacFindFolder( (short) kOnSystemDisk, kPreferencesFolderType, kDontCreateFolder ) ;
return pstr->c_str() ;
}
// Get hostname only (without domain name) // Get hostname only (without domain name)
bool wxGetHostName(wxChar *buf, int maxSize) bool wxGetHostName(wxChar *buf, int maxSize)
{ {
// Gets Chooser name of user by examining a System resource. // Gets Chooser name of user by examining a System resource.
buf[0] = 0 ;
const short kComputerNameID = -16413; const short kComputerNameID = -16413;
@@ -258,28 +261,15 @@ bool wxGetHostName(wxChar *buf, int maxSize)
ReleaseResource( (Handle) chooserName ) ; ReleaseResource( (Handle) chooserName ) ;
wxStrncpy( buf , name , maxSize - 1 ) ; wxStrncpy( buf , name , maxSize - 1 ) ;
} }
else
buf[0] = 0 ;
return true; return true;
} }
// Get user ID e.g. jacs
bool wxGetUserId(wxChar *buf, int maxSize)
{
return wxGetUserName( buf , maxSize ) ;
}
const wxChar* wxGetHomeDir(wxString *pstr)
{
*pstr = wxMacFindFolder( (short) kOnSystemDisk, kPreferencesFolderType, kDontCreateFolder ) ;
return pstr->c_str() ;
}
// Get user name e.g. Stefan Csomor // Get user name e.g. Stefan Csomor
bool wxGetUserName(wxChar *buf, int maxSize) bool wxGetUserName(wxChar *buf, int maxSize)
{ {
// Gets Chooser name of user by examining a System resource. // Gets Chooser name of user by examining a System resource.
buf[0] = 0 ;
const short kChooserNameID = -16096; const short kChooserNameID = -16096;
@@ -296,8 +286,6 @@ bool wxGetUserName(wxChar *buf, int maxSize)
ReleaseResource( (Handle) chooserName ) ; ReleaseResource( (Handle) chooserName ) ;
wxStrncpy( buf , name , maxSize - 1 ) ; wxStrncpy( buf , name , maxSize - 1 ) ;
} }
else
buf[0] = 0 ;
return true; return true;
} }
@@ -321,9 +309,7 @@ WXDLLEXPORT bool wxSetEnv(const wxString& var, const wxChar *value)
return false ; return false ;
} }
//
// Execute a program in an Interactive Shell // Execute a program in an Interactive Shell
//
bool wxShell(const wxString& command) bool wxShell(const wxString& command)
{ {
// TODO // TODO
@@ -392,8 +378,10 @@ void wxBell()
wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo() wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
{ {
static wxToolkitInfo info; static wxToolkitInfo info;
info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor); info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
info.name = _T("wxBase"); info.name = _T("wxBase");
return info; return info;
} }
@@ -404,13 +392,16 @@ wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo() wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo()
{ {
static wxToolkitInfo info; static wxToolkitInfo info;
info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor); info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
info.shortName = _T("mac"); info.shortName = _T("mac");
info.name = _T("wxMac"); info.name = _T("wxMac");
#ifdef __WXUNIVERSAL__ #ifdef __WXUNIVERSAL__
info.shortName << _T("univ"); info.shortName << _T("univ");
info.name << _T("/wxUniversal"); info.name << _T("/wxUniversal");
#endif #endif
return info; return info;
} }
@@ -460,9 +451,9 @@ bool wxGetResource(const wxString& section, const wxString& entry, float *value,
{ {
*value = (float)strtod(s, NULL); *value = (float)strtod(s, NULL);
delete[] s; delete[] s;
return true;
} }
else return false;
return succ;
} }
bool wxGetResource(const wxString& section, const wxString& entry, long *value, const wxString& file) bool wxGetResource(const wxString& section, const wxString& entry, long *value, const wxString& file)
@@ -473,9 +464,9 @@ bool wxGetResource(const wxString& section, const wxString& entry, long *value,
{ {
*value = strtol(s, NULL, 10); *value = strtol(s, NULL, 10);
delete[] s; delete[] s;
return true;
} }
else return false;
return succ;
} }
bool wxGetResource(const wxString& section, const wxString& entry, int *value, const wxString& file) bool wxGetResource(const wxString& section, const wxString& entry, int *value, const wxString& file)
@@ -486,9 +477,9 @@ bool wxGetResource(const wxString& section, const wxString& entry, int *value, c
{ {
*value = (int)strtol(s, NULL, 10); *value = (int)strtol(s, NULL, 10);
delete[] s; delete[] s;
return true;
} }
else return false;
return succ;
} }
#endif // wxUSE_RESOURCES #endif // wxUSE_RESOURCES
@@ -580,7 +571,7 @@ int wxDisplayDepth()
int theDepth = 8; int theDepth = 8;
theMaxDevice = GetMaxDevice(&globRect); theMaxDevice = GetMaxDevice(&globRect);
if (theMaxDevice != nil) if (theMaxDevice != NULL)
theDepth = (**(**theMaxDevice).gdPMap).pixelSize; theDepth = (**(**theMaxDevice).gdPMap).pixelSize;
return theDepth ; return theDepth ;
@@ -592,12 +583,11 @@ void wxDisplaySize(int *width, int *height)
BitMap screenBits; BitMap screenBits;
GetQDGlobalsScreenBits( &screenBits ); GetQDGlobalsScreenBits( &screenBits );
if (width != NULL) { if (width != NULL)
*width = screenBits.bounds.right - screenBits.bounds.left ; *width = screenBits.bounds.right - screenBits.bounds.left ;
}
if (height != NULL) { if (height != NULL)
*height = screenBits.bounds.bottom - screenBits.bounds.top ; *height = screenBits.bounds.bottom - screenBits.bounds.top ;
}
} }
void wxDisplaySizeMM(int *width, int *height) void wxDisplaySizeMM(int *width, int *height)
@@ -606,17 +596,17 @@ void wxDisplaySizeMM(int *width, int *height)
// on mac 72 is fixed (at least now ;-) // on mac 72 is fixed (at least now ;-)
float cvPt2Mm = 25.4 / 72; float cvPt2Mm = 25.4 / 72;
if (width != NULL) { if (width != NULL)
*width = int( *width * cvPt2Mm ); *width = int( *width * cvPt2Mm );
}
if (height != NULL) { if (height != NULL)
*height = int( *height * cvPt2Mm ); *height = int( *height * cvPt2Mm );
}
} }
void wxClientDisplayRect(int *x, int *y, int *width, int *height) void wxClientDisplayRect(int *x, int *y, int *width, int *height)
{ {
Rect r ; Rect r ;
GetAvailableWindowPositioningBounds( GetMainDevice() , &r ) ; GetAvailableWindowPositioningBounds( GetMainDevice() , &r ) ;
if ( x ) if ( x )
*x = r.left ; *x = r.left ;
@@ -660,14 +650,12 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
return false; return false;
wxString p = path ; wxString p = path ;
if (p[0u] == ':' ) { if (p[0u] == ':' )
p = wxGetCwd() + p ; p = wxGetCwd() + p ;
}
int pos = p.Find(':') ; int pos = p.Find(':') ;
if ( pos != wxNOT_FOUND ) { if ( pos != wxNOT_FOUND )
p = p.Mid(1,pos) ; p = p.Mid(1,pos) ;
}
p = p + wxT(":") ; p = p + wxT(":") ;
@@ -717,12 +705,10 @@ wxString wxMacMakeStringFromPascal( ConstStringPtr from )
return wxString( (char*) &from[1] , wxConvLocal , from[0] ) ; return wxString( (char*) &from[1] , wxConvLocal , from[0] ) ;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Common Event Support // Common Event Support
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
extern ProcessSerialNumber gAppProcess ; extern ProcessSerialNumber gAppProcess ;
void wxMacWakeUp() void wxMacWakeUp()
@@ -736,6 +722,7 @@ void wxMacWakeUp()
{ {
#if TARGET_CARBON #if TARGET_CARBON
OSStatus err = noErr ; OSStatus err = noErr ;
#if 0 #if 0
// lead sometimes to race conditions, although all calls used should be thread safe ... // lead sometimes to race conditions, although all calls used should be thread safe ...
static wxMacCarbonEvent s_wakeupEvent ; static wxMacCarbonEvent s_wakeupEvent ;
@@ -778,7 +765,6 @@ void wxMacWakeUp()
// Native Struct Conversions // Native Struct Conversions
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void wxMacRectToNative( const wxRect *wx , Rect *n ) void wxMacRectToNative( const wxRect *wx , Rect *n )
{ {
n->left = wx->x ; n->left = wx->x ;
@@ -811,7 +797,6 @@ void wxMacNativeToPoint( const Point *n , wxPoint* wx )
// Carbon Event Support // Carbon Event Support
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
OSStatus wxMacCarbonEvent::GetParameter(EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * outData) OSStatus wxMacCarbonEvent::GetParameter(EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * outData)
{ {
return ::GetEventParameter( m_eventRef , inName , inDesiredType , NULL , inBufferSize , NULL , outData ) ; return ::GetEventParameter( m_eventRef , inName , inDesiredType , NULL , inBufferSize , NULL , outData ) ;
@@ -889,11 +874,11 @@ OSStatus wxMacControl::SetData(ControlPartCode inPartCode , ResType inTag , Size
return ::SetControlData( m_controlRef , inPartCode , inTag , inSize , inData ) ; return ::SetControlData( m_controlRef , inPartCode , inTag , inSize , inData ) ;
} }
OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions ) OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions )
{ {
#if TARGET_API_MAC_OSX #if TARGET_API_MAC_OSX
return SendEventToEventTargetWithOptions( event, return SendEventToEventTargetWithOptions( event,
HIObjectGetEventTarget( (HIObjectRef) m_controlRef ), inOptions ); HIObjectGetEventTarget( (HIObjectRef) m_controlRef ), inOptions );
#else #else
#pragma unused(inOptions) #pragma unused(inOptions)
return SendEventToEventTarget(event,GetControlEventTarget( m_controlRef ) ) ; return SendEventToEventTarget(event,GetControlEventTarget( m_controlRef ) ) ;
@@ -903,13 +888,16 @@ OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions )
OSStatus wxMacControl::SendHICommand( HICommand &command , OptionBits inOptions ) OSStatus wxMacControl::SendHICommand( HICommand &command , OptionBits inOptions )
{ {
wxMacCarbonEvent event( kEventClassCommand , kEventCommandProcess ) ; wxMacCarbonEvent event( kEventClassCommand , kEventCommandProcess ) ;
event.SetParameter<HICommand>(kEventParamDirectObject,command) ; event.SetParameter<HICommand>(kEventParamDirectObject,command) ;
return SendEvent( event , inOptions ) ; return SendEvent( event , inOptions ) ;
} }
OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions ) OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions )
{ {
HICommand command ; HICommand command ;
memset( &command, 0 , sizeof(command) ) ; memset( &command, 0 , sizeof(command) ) ;
command.commandID = commandID ; command.commandID = commandID ;
return SendHICommand( command , inOptions ) ; return SendHICommand( command , inOptions ) ;
@@ -917,8 +905,9 @@ OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions )
void wxMacControl::Flash( ControlPartCode part , UInt32 ticks ) void wxMacControl::Flash( ControlPartCode part , UInt32 ticks )
{ {
HiliteControl( m_controlRef , part ) ;
unsigned long finalTicks ; unsigned long finalTicks ;
HiliteControl( m_controlRef , part ) ;
Delay( ticks , &finalTicks ) ; Delay( ticks , &finalTicks ) ;
HiliteControl( m_controlRef , kControlNoPart ) ; HiliteControl( m_controlRef , kControlNoPart ) ;
} }
@@ -962,8 +951,7 @@ void wxMacControl::SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maxi
OSStatus wxMacControl::SetFocus( ControlFocusPart focusPart ) OSStatus wxMacControl::SetFocus( ControlFocusPart focusPart )
{ {
return SetKeyboardFocus( GetControlOwner( m_controlRef ) , return SetKeyboardFocus( GetControlOwner( m_controlRef ), m_controlRef, focusPart ) ;
m_controlRef , focusPart ) ;
} }
bool wxMacControl::HasFocus() const bool wxMacControl::HasFocus() const
@@ -997,13 +985,25 @@ void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , l
ControlFontStyleRec fontStyle; ControlFontStyleRec fontStyle;
if ( font.MacGetThemeFontID() != kThemeCurrentPortFont ) if ( font.MacGetThemeFontID() != kThemeCurrentPortFont )
{ {
switch( font.MacGetThemeFontID() ) switch ( font.MacGetThemeFontID() )
{ {
case kThemeSmallSystemFont : fontStyle.font = kControlFontSmallSystemFont ; break ; case kThemeSmallSystemFont :
case 109 /*mini font */ : fontStyle.font = -5 ; break ; fontStyle.font = kControlFontSmallSystemFont ;
case kThemeSystemFont : fontStyle.font = kControlFontBigSystemFont ; break ; break ;
default : fontStyle.font = kControlFontBigSystemFont ; break ;
case 109 : // mini font
fontStyle.font = -5 ;
break ;
case kThemeSystemFont :
fontStyle.font = kControlFontBigSystemFont ;
break ;
default :
fontStyle.font = kControlFontBigSystemFont ;
break ;
} }
fontStyle.flags = kControlUseFontMask ; fontStyle.flags = kControlUseFontMask ;
} }
else else
@@ -1027,7 +1027,7 @@ void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , l
if ( foreground != *wxBLACK ) if ( foreground != *wxBLACK )
{ {
fontStyle.foreColor = MAC_WXCOLORREF(foreground.GetPixel() ) ; fontStyle.foreColor = MAC_WXCOLORREF( foreground.GetPixel() ) ;
fontStyle.flags |= kControlUseForeColorMask ; fontStyle.flags |= kControlUseForeColorMask ;
} }
@@ -1046,7 +1046,7 @@ void wxMacControl::SetRange( SInt32 minimum , SInt32 maximum )
::SetControl32BitMaximum( m_controlRef , maximum ) ; ::SetControl32BitMaximum( m_controlRef , maximum ) ;
} }
short wxMacControl::HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers ) short wxMacControl::HandleKey( SInt16 keyCode, SInt16 charCode, EventModifiers modifiers )
{ {
return HandleControlKey( m_controlRef , keyCode , charCode , modifiers ) ; return HandleControlKey( m_controlRef , keyCode , charCode , modifiers ) ;
} }
@@ -1132,9 +1132,9 @@ bool wxMacControl::GetNeedsDisplay() const
GetWindowRegion ( GetControlOwner( m_controlRef ) , kWindowUpdateRgn , rgn ) ; GetWindowRegion ( GetControlOwner( m_controlRef ) , kWindowUpdateRgn , rgn ) ;
Boolean intersect = RectInRgn ( &controlBounds , rgn ) ; Boolean intersect = RectInRgn ( &controlBounds , rgn ) ;
DisposeRgn( rgn ) ; DisposeRgn( rgn ) ;
return intersect ; return intersect ;
} }
} }
#endif #endif
@@ -1182,6 +1182,7 @@ void wxMacControl::SetNeedsDisplay( Rect* where )
#endif #endif
{ {
Rect controlBounds ; Rect controlBounds ;
GetControlBounds( m_controlRef, &controlBounds ) ; GetControlBounds( m_controlRef, &controlBounds ) ;
if ( where ) if ( where )
{ {
@@ -1189,6 +1190,7 @@ void wxMacControl::SetNeedsDisplay( Rect* where )
OffsetRect( &whereLocal , controlBounds.left , controlBounds.top ) ; OffsetRect( &whereLocal , controlBounds.left , controlBounds.top ) ;
SectRect( &controlBounds , &whereLocal, &controlBounds ) ; SectRect( &controlBounds , &whereLocal, &controlBounds ) ;
} }
InvalWindowRect( GetControlOwner( m_controlRef) , &controlBounds ) ; InvalWindowRect( GetControlOwner( m_controlRef) , &controlBounds ) ;
} }
} }
@@ -1199,6 +1201,7 @@ void wxMacControl::Convert( wxPoint *pt , wxMacControl *from , wxMacControl *to
if ( from->m_peer->MacGetTopLevelWindow()->MacUsesCompositing() ) if ( from->m_peer->MacGetTopLevelWindow()->MacUsesCompositing() )
{ {
HIPoint hiPoint ; HIPoint hiPoint ;
hiPoint.x = pt->x ; hiPoint.x = pt->x ;
hiPoint.y = pt->y ; hiPoint.y = pt->y ;
HIViewConvertPoint( &hiPoint , from->m_controlRef , to->m_controlRef ) ; HIViewConvertPoint( &hiPoint , from->m_controlRef , to->m_controlRef ) ;
@@ -1208,8 +1211,8 @@ void wxMacControl::Convert( wxPoint *pt , wxMacControl *from , wxMacControl *to
else else
#endif #endif
{ {
Rect fromRect ; Rect fromRect, toRect ;
Rect toRect ;
GetControlBounds( from->m_controlRef , &fromRect ) ; GetControlBounds( from->m_controlRef , &fromRect ) ;
GetControlBounds( to->m_controlRef , &toRect ) ; GetControlBounds( to->m_controlRef , &toRect ) ;
if ( from->m_isRootControl ) if ( from->m_isRootControl )
@@ -1250,7 +1253,7 @@ void wxMacControl::SetRect( Rect *r )
// since the rect passed in is always (even in non-compositing) relative // since the rect passed in is always (even in non-compositing) relative
// to the (native) parent, we have to adjust to window relative here // to the (native) parent, we have to adjust to window relative here
wxMacControl* parent = m_peer->GetParent()->GetPeer() ; wxMacControl* parent = m_peer->GetParent()->GetPeer() ;
if( parent->m_isRootControl == false ) if ( !parent->m_isRootControl )
{ {
Rect superRect ; Rect superRect ;
GetControlBounds( parent->m_controlRef , &superRect ) ; GetControlBounds( parent->m_controlRef , &superRect ) ;
@@ -1259,16 +1262,14 @@ void wxMacControl::SetRect( Rect *r )
SetControlBounds( m_controlRef , &controlBounds ) ; SetControlBounds( m_controlRef , &controlBounds ) ;
if ( vis ) if ( vis )
{
InvalWindowRect( GetControlOwner( m_controlRef ) , &controlBounds ) ; InvalWindowRect( GetControlOwner( m_controlRef ) , &controlBounds ) ;
}
} }
} }
void wxMacControl::GetRect( Rect *r ) void wxMacControl::GetRect( Rect *r )
{ {
GetControlBounds( m_controlRef , r ) ; GetControlBounds( m_controlRef , r ) ;
if ( m_isCompositing == false ) if ( !m_isCompositing )
{ {
// correct the case of the root control // correct the case of the root control
if ( m_isRootControl ) if ( m_isRootControl )
@@ -1283,7 +1284,7 @@ void wxMacControl::GetRect( Rect *r )
else else
{ {
wxMacControl* parent = m_peer->GetParent()->GetPeer() ; wxMacControl* parent = m_peer->GetParent()->GetPeer() ;
if( parent->m_isRootControl == false ) if ( !parent->m_isRootControl )
{ {
Rect superRect ; Rect superRect ;
GetControlBounds( parent->m_controlRef , &superRect ) ; GetControlBounds( parent->m_controlRef , &superRect ) ;
@@ -1301,6 +1302,7 @@ void wxMacControl::GetRectInWindowCoords( Rect *r )
void wxMacControl::GetBestRect( Rect *r ) void wxMacControl::GetBestRect( Rect *r )
{ {
short baselineoffset ; short baselineoffset ;
GetBestControlRect( m_controlRef , r , &baselineoffset ) ; GetBestControlRect( m_controlRef , r , &baselineoffset ) ;
} }
@@ -1313,7 +1315,7 @@ void wxMacControl::SetLabel( const wxString &title )
else else
encoding = wxFont::GetDefaultEncoding(); encoding = wxFont::GetDefaultEncoding();
UMASetControlTitle( m_controlRef , title , encoding ) ; UMASetControlTitle( m_controlRef , title , encoding ) ;
} }
void wxMacControl::GetFeatures( UInt32 * features ) void wxMacControl::GetFeatures( UInt32 * features )
@@ -1324,16 +1326,18 @@ void wxMacControl::GetFeatures( UInt32 * features )
OSStatus wxMacControl::GetRegion( ControlPartCode partCode , RgnHandle region ) OSStatus wxMacControl::GetRegion( ControlPartCode partCode , RgnHandle region )
{ {
OSStatus err = GetControlRegion( m_controlRef , partCode , region ) ; OSStatus err = GetControlRegion( m_controlRef , partCode , region ) ;
if ( m_isCompositing == false ) if ( !m_isCompositing )
{ {
if ( !m_isRootControl ) if ( !m_isRootControl )
{ {
Rect r ; Rect r ;
GetControlBounds(m_controlRef, &r ) ; GetControlBounds(m_controlRef, &r ) ;
if ( !EmptyRgn( region ) ) if ( !EmptyRgn( region ) )
OffsetRgn( region , -r.left , -r.top ) ; OffsetRgn( region , -r.left , -r.top ) ;
} }
} }
return err ; return err ;
} }
@@ -1347,7 +1351,6 @@ OSStatus wxMacControl::SetZOrder( bool above , wxMacControl* other )
#endif #endif
} }
#if TARGET_API_MAC_OSX #if TARGET_API_MAC_OSX
// SetNeedsDisplay would not invalidate the children // SetNeedsDisplay would not invalidate the children
static void InvalidateControlAndChildren( HIViewRef control ) static void InvalidateControlAndChildren( HIViewRef control )
@@ -1357,14 +1360,17 @@ static void InvalidateControlAndChildren( HIViewRef control )
OSStatus err = CountSubControls( control , &childrenCount ) ; OSStatus err = CountSubControls( control , &childrenCount ) ;
if ( err == errControlIsNotEmbedder ) if ( err == errControlIsNotEmbedder )
return ; return ;
wxASSERT_MSG( err == noErr , wxT("Unexpected error when accessing subcontrols") ) ; wxASSERT_MSG( err == noErr , wxT("Unexpected error when accessing subcontrols") ) ;
for ( UInt16 i = childrenCount ; i >=1 ; --i ) for ( UInt16 i = childrenCount ; i >=1 ; --i )
{ {
HIViewRef child ; HIViewRef child ;
err = GetIndexedSubControl( control , i , & child ) ; err = GetIndexedSubControl( control , i , & child ) ;
if ( err == errControlIsNotEmbedder ) if ( err == errControlIsNotEmbedder )
return ; return ;
InvalidateControlAndChildren( child ) ; InvalidateControlAndChildren( child ) ;
} }
} }
@@ -1380,6 +1386,7 @@ void wxMacControl::InvalidateWithChildren()
void wxMacControl::ScrollRect( wxRect *r , int dx , int dy ) void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
{ {
wxASSERT( r != NULL ) ; wxASSERT( r != NULL ) ;
#if TARGET_API_MAC_OSX #if TARGET_API_MAC_OSX
if ( m_isCompositing ) if ( m_isCompositing )
{ {
@@ -1390,6 +1397,7 @@ void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
#endif #endif
{ {
Rect bounds ; Rect bounds ;
GetControlBounds( m_controlRef , &bounds ) ; GetControlBounds( m_controlRef , &bounds ) ;
bounds.left += r->x ; bounds.left += r->x ;
bounds.top += r->y ; bounds.top += r->y ;
@@ -1398,11 +1406,11 @@ void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
wxMacWindowClipper clip( m_peer ) ; wxMacWindowClipper clip( m_peer ) ;
RgnHandle updateRgn = NewRgn() ; RgnHandle updateRgn = NewRgn() ;
::ScrollRect( &bounds , dx , dy , updateRgn ) ; ::ScrollRect( &bounds , dx , dy , updateRgn ) ;
InvalWindowRgn( GetControlOwner( m_controlRef ) , updateRgn ) ; InvalWindowRgn( GetControlOwner( m_controlRef ) , updateRgn ) ;
DisposeRgn( updateRgn );
} }
} }
// SetNeedsDisplay would not invalidate the children // SetNeedsDisplay would not invalidate the children
// //
@@ -1507,13 +1515,14 @@ OSStatus wxMacControl::SetTabEnabled( SInt16 tabNo , bool enable )
#ifdef __WXMAC_OSX__ #ifdef __WXMAC_OSX__
// snippets from Sketch Sample from Apple : // snippets from Sketch Sample from Apple :
#define kGenericRGBProfilePathStr "/System/Library/ColorSync/Profiles/Generic RGB Profile.icc" #define kGenericRGBProfilePathStr "/System/Library/ColorSync/Profiles/Generic RGB Profile.icc"
/* /*
This function locates, opens, and returns the profile reference for the calibrated 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 Generic RGB color space. It is up to the caller to call CMCloseProfile when done
with the profile reference this function returns. with the profile reference this function returns.
*/ */
CMProfileRef wxMacOpenGenericProfile(void) CMProfileRef wxMacOpenGenericProfile()
{ {
static CMProfileRef cachedRGBProfileRef = NULL; static CMProfileRef cachedRGBProfileRef = NULL;
@@ -1528,11 +1537,9 @@ CMProfileRef wxMacOpenGenericProfile(void)
verify_noerr( CMOpenProfile(&cachedRGBProfileRef, &loc) ); verify_noerr( CMOpenProfile(&cachedRGBProfileRef, &loc) );
} }
// clone the profile reference so that the caller has their own reference, not our cached one
if (cachedRGBProfileRef) if (cachedRGBProfileRef)
{
// clone the profile reference so that the caller has their own reference, not our cached one
CMCloneProfileRef(cachedRGBProfileRef); CMCloneProfileRef(cachedRGBProfileRef);
}
return cachedRGBProfileRef; return cachedRGBProfileRef;
} }
@@ -1555,8 +1562,8 @@ CGColorSpaceRef wxMacGetGenericRGBColorSpace()
{ {
static wxMacCFRefHolder<CGColorSpaceRef> genericRGBColorSpace ; static wxMacCFRefHolder<CGColorSpaceRef> genericRGBColorSpace ;
if (genericRGBColorSpace == NULL) if (genericRGBColorSpace == NULL)
{ {
if ( UMAGetSystemVersion() >= 0x1040 ) if ( UMAGetSystemVersion() >= 0x1040 )
{ {
genericRGBColorSpace.Set( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) ) ; genericRGBColorSpace.Set( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) ) ;
@@ -1564,17 +1571,19 @@ CGColorSpaceRef wxMacGetGenericRGBColorSpace()
else else
{ {
CMProfileRef genericRGBProfile = wxMacOpenGenericProfile(); CMProfileRef genericRGBProfile = wxMacOpenGenericProfile();
if (genericRGBProfile) if (genericRGBProfile)
{ {
genericRGBColorSpace.Set( CGColorSpaceCreateWithPlatformColorSpace(genericRGBProfile) ) ; genericRGBColorSpace.Set( CGColorSpaceCreateWithPlatformColorSpace(genericRGBProfile) ) ;
wxASSERT_MSG( genericRGBColorSpace != NULL, wxT("couldn't create the generic RGB color space") ) ; 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 // we opened the profile so it is up to us to close it
CMCloseProfile(genericRGBProfile); CMCloseProfile(genericRGBProfile);
} }
} }
} }
return genericRGBColorSpace; return genericRGBColorSpace;
} }
#endif #endif