cleanup - reformatting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -33,28 +33,28 @@
|
||||
#include "MoreFilesX.h"
|
||||
|
||||
#ifndef __DARWIN__
|
||||
#include <Threads.h>
|
||||
#include <Sound.h>
|
||||
#include <Threads.h>
|
||||
#include <Sound.h>
|
||||
#endif
|
||||
|
||||
#if wxUSE_GUI
|
||||
#if TARGET_API_MAC_OSX
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#else
|
||||
#include <DriverServices.h>
|
||||
#include <Multiprocessing.h>
|
||||
#include <DriverServices.h>
|
||||
#include <Multiprocessing.h>
|
||||
#endif
|
||||
|
||||
#ifdef __DARWIN__
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <Carbon/Carbon.h>
|
||||
#else
|
||||
#include <ATSUnicode.h>
|
||||
#include <TextCommon.h>
|
||||
#include <TextEncodingConverter.h>
|
||||
#include <ATSUnicode.h>
|
||||
#include <TextCommon.h>
|
||||
#include <TextEncodingConverter.h>
|
||||
#endif
|
||||
#endif // wxUSE_GUI
|
||||
|
||||
#include "wx/mac/private.h" // includes mac headers
|
||||
#include "wx/mac/private.h"
|
||||
|
||||
#if defined(__MWERKS__) && wxUSE_UNICODE
|
||||
#include <wtime.h>
|
||||
@@ -72,12 +72,12 @@ static int DoGetOSVersion(int *majorVsn, int *minorVsn)
|
||||
// are there x-platform conventions ?
|
||||
|
||||
Gestalt(gestaltSystemVersion, &theSystem) ;
|
||||
if (minorVsn != NULL) {
|
||||
*minorVsn = (theSystem & 0xFF ) ;
|
||||
}
|
||||
if (majorVsn != NULL) {
|
||||
*majorVsn = (theSystem >> 8 ) ;
|
||||
}
|
||||
if (minorVsn != NULL)
|
||||
*minorVsn = (theSystem & 0xFF) ;
|
||||
|
||||
if (majorVsn != NULL)
|
||||
*majorVsn = (theSystem >> 8) ;
|
||||
|
||||
#ifdef __DARWIN__
|
||||
return wxMAC_DARWIN;
|
||||
#else
|
||||
@@ -106,11 +106,11 @@ static int DoGetOSVersion(int *majorVsn, int *minorVsn)
|
||||
|
||||
#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
|
||||
|
||||
@@ -118,9 +118,6 @@ static MetroNubUserEntryBlock* gMetroNubEntry = NULL;
|
||||
|
||||
static long fRunOnce = false;
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
IsMetroNubInstalled
|
||||
--------------------------------------------------------------------------- */
|
||||
|
||||
Boolean IsMetroNubInstalled()
|
||||
{
|
||||
@@ -133,11 +130,10 @@ Boolean IsMetroNubInstalled()
|
||||
|
||||
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 TARGET_API_MAC_CARBON
|
||||
#if TARGET_API_MAC_CARBON
|
||||
if (gCallUniversalProc_Proc == NULL)
|
||||
{
|
||||
CFragConnectionID connectionID;
|
||||
@@ -166,17 +162,19 @@ Boolean IsMetroNubInstalled()
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
{
|
||||
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 &&
|
||||
kMetroNubUserAPIVersion <= block->apiHiVersion)
|
||||
gMetroNubEntry = block; /* success! */
|
||||
{
|
||||
// success!
|
||||
gMetroNubEntry = block;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -190,28 +188,20 @@ end:
|
||||
#endif
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
IsMWDebuggerRunning [v1 API]
|
||||
--------------------------------------------------------------------------- */
|
||||
|
||||
Boolean IsMWDebuggerRunning()
|
||||
{
|
||||
if (IsMetroNubInstalled())
|
||||
return CallIsDebuggerRunningProc(gMetroNubEntry->isDebuggerRunning);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------------
|
||||
AmIBeingMWDebugged [v1 API]
|
||||
--------------------------------------------------------------------------- */
|
||||
return false;
|
||||
}
|
||||
|
||||
Boolean AmIBeingMWDebugged()
|
||||
{
|
||||
if (IsMetroNubInstalled())
|
||||
return CallAmIBeingDebuggedProc(gMetroNubEntry->amIBeingDebugged);
|
||||
else
|
||||
return false;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
extern bool WXDLLEXPORT wxIsDebuggerRunning()
|
||||
@@ -238,10 +228,23 @@ bool wxGetFullHostName(wxChar *buf, int 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)
|
||||
bool wxGetHostName(wxChar *buf, int maxSize)
|
||||
{
|
||||
// Gets Chooser name of user by examining a System resource.
|
||||
buf[0] = 0 ;
|
||||
|
||||
const short kComputerNameID = -16413;
|
||||
|
||||
@@ -258,28 +261,15 @@ bool wxGetHostName(wxChar *buf, int maxSize)
|
||||
ReleaseResource( (Handle) chooserName ) ;
|
||||
wxStrncpy( buf , name , maxSize - 1 ) ;
|
||||
}
|
||||
else
|
||||
buf[0] = 0 ;
|
||||
|
||||
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
|
||||
bool wxGetUserName(wxChar *buf, int maxSize)
|
||||
{
|
||||
// Gets Chooser name of user by examining a System resource.
|
||||
buf[0] = 0 ;
|
||||
|
||||
const short kChooserNameID = -16096;
|
||||
|
||||
@@ -296,8 +286,6 @@ bool wxGetUserName(wxChar *buf, int maxSize)
|
||||
ReleaseResource( (Handle) chooserName ) ;
|
||||
wxStrncpy( buf , name , maxSize - 1 ) ;
|
||||
}
|
||||
else
|
||||
buf[0] = 0 ;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -321,9 +309,7 @@ WXDLLEXPORT bool wxSetEnv(const wxString& var, const wxChar *value)
|
||||
return false ;
|
||||
}
|
||||
|
||||
//
|
||||
// Execute a program in an Interactive Shell
|
||||
//
|
||||
bool wxShell(const wxString& command)
|
||||
{
|
||||
// TODO
|
||||
@@ -392,8 +378,10 @@ void wxBell()
|
||||
wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
|
||||
{
|
||||
static wxToolkitInfo info;
|
||||
|
||||
info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
|
||||
info.name = _T("wxBase");
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -404,13 +392,16 @@ wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo()
|
||||
wxToolkitInfo& wxGUIAppTraits::GetToolkitInfo()
|
||||
{
|
||||
static wxToolkitInfo info;
|
||||
|
||||
info.os = DoGetOSVersion(&info.versionMajor, &info.versionMinor);
|
||||
info.shortName = _T("mac");
|
||||
info.name = _T("wxMac");
|
||||
|
||||
#ifdef __WXUNIVERSAL__
|
||||
info.shortName << _T("univ");
|
||||
info.name << _T("/wxUniversal");
|
||||
#endif
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
@@ -460,9 +451,9 @@ bool wxGetResource(const wxString& section, const wxString& entry, float *value,
|
||||
{
|
||||
*value = (float)strtod(s, NULL);
|
||||
delete[] s;
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
|
||||
return succ;
|
||||
}
|
||||
|
||||
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);
|
||||
delete[] s;
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
|
||||
return succ;
|
||||
}
|
||||
|
||||
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);
|
||||
delete[] s;
|
||||
return true;
|
||||
}
|
||||
else return false;
|
||||
|
||||
return succ;
|
||||
}
|
||||
#endif // wxUSE_RESOURCES
|
||||
|
||||
@@ -580,7 +571,7 @@ int wxDisplayDepth()
|
||||
|
||||
int theDepth = 8;
|
||||
theMaxDevice = GetMaxDevice(&globRect);
|
||||
if (theMaxDevice != nil)
|
||||
if (theMaxDevice != NULL)
|
||||
theDepth = (**(**theMaxDevice).gdPMap).pixelSize;
|
||||
|
||||
return theDepth ;
|
||||
@@ -592,12 +583,11 @@ void wxDisplaySize(int *width, int *height)
|
||||
BitMap screenBits;
|
||||
GetQDGlobalsScreenBits( &screenBits );
|
||||
|
||||
if (width != NULL) {
|
||||
*width = screenBits.bounds.right - screenBits.bounds.left ;
|
||||
}
|
||||
if (height != NULL) {
|
||||
if (width != NULL)
|
||||
*width = screenBits.bounds.right - screenBits.bounds.left ;
|
||||
|
||||
if (height != NULL)
|
||||
*height = screenBits.bounds.bottom - screenBits.bounds.top ;
|
||||
}
|
||||
}
|
||||
|
||||
void wxDisplaySizeMM(int *width, int *height)
|
||||
@@ -606,17 +596,17 @@ void wxDisplaySizeMM(int *width, int *height)
|
||||
// on mac 72 is fixed (at least now ;-)
|
||||
float cvPt2Mm = 25.4 / 72;
|
||||
|
||||
if (width != NULL) {
|
||||
if (width != NULL)
|
||||
*width = int( *width * cvPt2Mm );
|
||||
}
|
||||
if (height != NULL) {
|
||||
|
||||
if (height != NULL)
|
||||
*height = int( *height * cvPt2Mm );
|
||||
}
|
||||
}
|
||||
|
||||
void wxClientDisplayRect(int *x, int *y, int *width, int *height)
|
||||
{
|
||||
Rect r ;
|
||||
|
||||
GetAvailableWindowPositioningBounds( GetMainDevice() , &r ) ;
|
||||
if ( x )
|
||||
*x = r.left ;
|
||||
@@ -660,14 +650,12 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
|
||||
return false;
|
||||
|
||||
wxString p = path ;
|
||||
if (p[0u] == ':' ) {
|
||||
if (p[0u] == ':' )
|
||||
p = wxGetCwd() + p ;
|
||||
}
|
||||
|
||||
int pos = p.Find(':') ;
|
||||
if ( pos != wxNOT_FOUND ) {
|
||||
if ( pos != wxNOT_FOUND )
|
||||
p = p.Mid(1,pos) ;
|
||||
}
|
||||
|
||||
p = p + wxT(":") ;
|
||||
|
||||
@@ -717,12 +705,10 @@ wxString wxMacMakeStringFromPascal( ConstStringPtr from )
|
||||
return wxString( (char*) &from[1] , wxConvLocal , from[0] ) ;
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Common Event Support
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
extern ProcessSerialNumber gAppProcess ;
|
||||
|
||||
void wxMacWakeUp()
|
||||
@@ -736,6 +722,7 @@ void wxMacWakeUp()
|
||||
{
|
||||
#if TARGET_CARBON
|
||||
OSStatus err = noErr ;
|
||||
|
||||
#if 0
|
||||
// lead sometimes to race conditions, although all calls used should be thread safe ...
|
||||
static wxMacCarbonEvent s_wakeupEvent ;
|
||||
@@ -778,7 +765,6 @@ void wxMacWakeUp()
|
||||
// Native Struct Conversions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
void wxMacRectToNative( const wxRect *wx , Rect *n )
|
||||
{
|
||||
n->left = wx->x ;
|
||||
@@ -811,7 +797,6 @@ void wxMacNativeToPoint( const Point *n , wxPoint* wx )
|
||||
// Carbon Event Support
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
OSStatus wxMacCarbonEvent::GetParameter(EventParamName inName, EventParamType inDesiredType, UInt32 inBufferSize, void * 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 ) ;
|
||||
}
|
||||
|
||||
OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions )
|
||||
OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions )
|
||||
{
|
||||
#if TARGET_API_MAC_OSX
|
||||
return SendEventToEventTargetWithOptions( event,
|
||||
HIObjectGetEventTarget( (HIObjectRef) m_controlRef ), inOptions );
|
||||
HIObjectGetEventTarget( (HIObjectRef) m_controlRef ), inOptions );
|
||||
#else
|
||||
#pragma unused(inOptions)
|
||||
return SendEventToEventTarget(event,GetControlEventTarget( m_controlRef ) ) ;
|
||||
@@ -903,13 +888,16 @@ OSStatus wxMacControl::SendEvent( EventRef event , OptionBits inOptions )
|
||||
OSStatus wxMacControl::SendHICommand( HICommand &command , OptionBits inOptions )
|
||||
{
|
||||
wxMacCarbonEvent event( kEventClassCommand , kEventCommandProcess ) ;
|
||||
|
||||
event.SetParameter<HICommand>(kEventParamDirectObject,command) ;
|
||||
|
||||
return SendEvent( event , inOptions ) ;
|
||||
}
|
||||
|
||||
OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions )
|
||||
{
|
||||
HICommand command ;
|
||||
|
||||
memset( &command, 0 , sizeof(command) ) ;
|
||||
command.commandID = commandID ;
|
||||
return SendHICommand( command , inOptions ) ;
|
||||
@@ -917,8 +905,9 @@ OSStatus wxMacControl::SendHICommand( UInt32 commandID , OptionBits inOptions )
|
||||
|
||||
void wxMacControl::Flash( ControlPartCode part , UInt32 ticks )
|
||||
{
|
||||
HiliteControl( m_controlRef , part ) ;
|
||||
unsigned long finalTicks ;
|
||||
|
||||
HiliteControl( m_controlRef , part ) ;
|
||||
Delay( ticks , &finalTicks ) ;
|
||||
HiliteControl( m_controlRef , kControlNoPart ) ;
|
||||
}
|
||||
@@ -962,8 +951,7 @@ void wxMacControl::SetValueAndRange( SInt32 value , SInt32 minimum , SInt32 maxi
|
||||
|
||||
OSStatus wxMacControl::SetFocus( ControlFocusPart focusPart )
|
||||
{
|
||||
return SetKeyboardFocus( GetControlOwner( m_controlRef ) ,
|
||||
m_controlRef , focusPart ) ;
|
||||
return SetKeyboardFocus( GetControlOwner( m_controlRef ), m_controlRef, focusPart ) ;
|
||||
}
|
||||
|
||||
bool wxMacControl::HasFocus() const
|
||||
@@ -997,13 +985,25 @@ void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , l
|
||||
ControlFontStyleRec fontStyle;
|
||||
if ( font.MacGetThemeFontID() != kThemeCurrentPortFont )
|
||||
{
|
||||
switch( font.MacGetThemeFontID() )
|
||||
switch ( font.MacGetThemeFontID() )
|
||||
{
|
||||
case kThemeSmallSystemFont : fontStyle.font = kControlFontSmallSystemFont ; break ;
|
||||
case 109 /*mini font */ : fontStyle.font = -5 ; break ;
|
||||
case kThemeSystemFont : fontStyle.font = kControlFontBigSystemFont ; break ;
|
||||
default : fontStyle.font = kControlFontBigSystemFont ; break ;
|
||||
case kThemeSmallSystemFont :
|
||||
fontStyle.font = kControlFontSmallSystemFont ;
|
||||
break ;
|
||||
|
||||
case 109 : // mini font
|
||||
fontStyle.font = -5 ;
|
||||
break ;
|
||||
|
||||
case kThemeSystemFont :
|
||||
fontStyle.font = kControlFontBigSystemFont ;
|
||||
break ;
|
||||
|
||||
default :
|
||||
fontStyle.font = kControlFontBigSystemFont ;
|
||||
break ;
|
||||
}
|
||||
|
||||
fontStyle.flags = kControlUseFontMask ;
|
||||
}
|
||||
else
|
||||
@@ -1027,7 +1027,7 @@ void wxMacControl::SetFont( const wxFont & font , const wxColour& foreground , l
|
||||
|
||||
if ( foreground != *wxBLACK )
|
||||
{
|
||||
fontStyle.foreColor = MAC_WXCOLORREF(foreground.GetPixel() ) ;
|
||||
fontStyle.foreColor = MAC_WXCOLORREF( foreground.GetPixel() ) ;
|
||||
fontStyle.flags |= kControlUseForeColorMask ;
|
||||
}
|
||||
|
||||
@@ -1046,7 +1046,7 @@ void wxMacControl::SetRange( SInt32 minimum , SInt32 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 ) ;
|
||||
}
|
||||
@@ -1132,9 +1132,9 @@ bool wxMacControl::GetNeedsDisplay() const
|
||||
GetWindowRegion ( GetControlOwner( m_controlRef ) , kWindowUpdateRgn , rgn ) ;
|
||||
Boolean intersect = RectInRgn ( &controlBounds , rgn ) ;
|
||||
DisposeRgn( rgn ) ;
|
||||
|
||||
return intersect ;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1182,6 +1182,7 @@ void wxMacControl::SetNeedsDisplay( Rect* where )
|
||||
#endif
|
||||
{
|
||||
Rect controlBounds ;
|
||||
|
||||
GetControlBounds( m_controlRef, &controlBounds ) ;
|
||||
if ( where )
|
||||
{
|
||||
@@ -1189,6 +1190,7 @@ void wxMacControl::SetNeedsDisplay( Rect* where )
|
||||
OffsetRect( &whereLocal , controlBounds.left , controlBounds.top ) ;
|
||||
SectRect( &controlBounds , &whereLocal, &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() )
|
||||
{
|
||||
HIPoint hiPoint ;
|
||||
|
||||
hiPoint.x = pt->x ;
|
||||
hiPoint.y = pt->y ;
|
||||
HIViewConvertPoint( &hiPoint , from->m_controlRef , to->m_controlRef ) ;
|
||||
@@ -1208,8 +1211,8 @@ void wxMacControl::Convert( wxPoint *pt , wxMacControl *from , wxMacControl *to
|
||||
else
|
||||
#endif
|
||||
{
|
||||
Rect fromRect ;
|
||||
Rect toRect ;
|
||||
Rect fromRect, toRect ;
|
||||
|
||||
GetControlBounds( from->m_controlRef , &fromRect ) ;
|
||||
GetControlBounds( to->m_controlRef , &toRect ) ;
|
||||
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
|
||||
// to the (native) parent, we have to adjust to window relative here
|
||||
wxMacControl* parent = m_peer->GetParent()->GetPeer() ;
|
||||
if( parent->m_isRootControl == false )
|
||||
if ( !parent->m_isRootControl )
|
||||
{
|
||||
Rect superRect ;
|
||||
GetControlBounds( parent->m_controlRef , &superRect ) ;
|
||||
@@ -1259,16 +1262,14 @@ void wxMacControl::SetRect( Rect *r )
|
||||
|
||||
SetControlBounds( m_controlRef , &controlBounds ) ;
|
||||
if ( vis )
|
||||
{
|
||||
InvalWindowRect( GetControlOwner( m_controlRef ) , &controlBounds ) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wxMacControl::GetRect( Rect *r )
|
||||
{
|
||||
GetControlBounds( m_controlRef , r ) ;
|
||||
if ( m_isCompositing == false )
|
||||
if ( !m_isCompositing )
|
||||
{
|
||||
// correct the case of the root control
|
||||
if ( m_isRootControl )
|
||||
@@ -1283,7 +1284,7 @@ void wxMacControl::GetRect( Rect *r )
|
||||
else
|
||||
{
|
||||
wxMacControl* parent = m_peer->GetParent()->GetPeer() ;
|
||||
if( parent->m_isRootControl == false )
|
||||
if ( !parent->m_isRootControl )
|
||||
{
|
||||
Rect superRect ;
|
||||
GetControlBounds( parent->m_controlRef , &superRect ) ;
|
||||
@@ -1301,6 +1302,7 @@ void wxMacControl::GetRectInWindowCoords( Rect *r )
|
||||
void wxMacControl::GetBestRect( Rect *r )
|
||||
{
|
||||
short baselineoffset ;
|
||||
|
||||
GetBestControlRect( m_controlRef , r , &baselineoffset ) ;
|
||||
}
|
||||
|
||||
@@ -1313,7 +1315,7 @@ void wxMacControl::SetLabel( const wxString &title )
|
||||
else
|
||||
encoding = wxFont::GetDefaultEncoding();
|
||||
|
||||
UMASetControlTitle( m_controlRef , title , encoding ) ;
|
||||
UMASetControlTitle( m_controlRef , title , encoding ) ;
|
||||
}
|
||||
|
||||
void wxMacControl::GetFeatures( UInt32 * features )
|
||||
@@ -1324,16 +1326,18 @@ void wxMacControl::GetFeatures( UInt32 * features )
|
||||
OSStatus wxMacControl::GetRegion( ControlPartCode partCode , RgnHandle region )
|
||||
{
|
||||
OSStatus err = GetControlRegion( m_controlRef , partCode , region ) ;
|
||||
if ( m_isCompositing == false )
|
||||
if ( !m_isCompositing )
|
||||
{
|
||||
if ( !m_isRootControl )
|
||||
{
|
||||
Rect r ;
|
||||
|
||||
GetControlBounds(m_controlRef, &r ) ;
|
||||
if ( !EmptyRgn( region ) )
|
||||
OffsetRgn( region , -r.left , -r.top ) ;
|
||||
}
|
||||
}
|
||||
|
||||
return err ;
|
||||
}
|
||||
|
||||
@@ -1347,7 +1351,6 @@ OSStatus wxMacControl::SetZOrder( bool above , wxMacControl* other )
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
#if TARGET_API_MAC_OSX
|
||||
// SetNeedsDisplay would not invalidate the children
|
||||
static void InvalidateControlAndChildren( HIViewRef control )
|
||||
@@ -1357,14 +1360,17 @@ static void InvalidateControlAndChildren( HIViewRef control )
|
||||
OSStatus err = CountSubControls( control , &childrenCount ) ;
|
||||
if ( err == errControlIsNotEmbedder )
|
||||
return ;
|
||||
|
||||
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 ;
|
||||
|
||||
err = GetIndexedSubControl( control , i , & child ) ;
|
||||
if ( err == errControlIsNotEmbedder )
|
||||
return ;
|
||||
|
||||
InvalidateControlAndChildren( child ) ;
|
||||
}
|
||||
}
|
||||
@@ -1380,6 +1386,7 @@ void wxMacControl::InvalidateWithChildren()
|
||||
void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
|
||||
{
|
||||
wxASSERT( r != NULL ) ;
|
||||
|
||||
#if TARGET_API_MAC_OSX
|
||||
if ( m_isCompositing )
|
||||
{
|
||||
@@ -1390,6 +1397,7 @@ void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
|
||||
#endif
|
||||
{
|
||||
Rect bounds ;
|
||||
|
||||
GetControlBounds( m_controlRef , &bounds ) ;
|
||||
bounds.left += r->x ;
|
||||
bounds.top += r->y ;
|
||||
@@ -1398,11 +1406,11 @@ void wxMacControl::ScrollRect( wxRect *r , int dx , int dy )
|
||||
wxMacWindowClipper clip( m_peer ) ;
|
||||
RgnHandle updateRgn = NewRgn() ;
|
||||
::ScrollRect( &bounds , dx , dy , updateRgn ) ;
|
||||
InvalWindowRgn( GetControlOwner( m_controlRef ) , updateRgn ) ;
|
||||
InvalWindowRgn( GetControlOwner( m_controlRef ) , updateRgn ) ;
|
||||
DisposeRgn( updateRgn );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// SetNeedsDisplay would not invalidate the children
|
||||
|
||||
//
|
||||
@@ -1507,13 +1515,14 @@ OSStatus wxMacControl::SetTabEnabled( SInt16 tabNo , bool enable )
|
||||
#ifdef __WXMAC_OSX__
|
||||
// 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
|
||||
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)
|
||||
CMProfileRef wxMacOpenGenericProfile()
|
||||
{
|
||||
static CMProfileRef cachedRGBProfileRef = NULL;
|
||||
|
||||
@@ -1528,11 +1537,9 @@ CMProfileRef wxMacOpenGenericProfile(void)
|
||||
verify_noerr( CMOpenProfile(&cachedRGBProfileRef, &loc) );
|
||||
}
|
||||
|
||||
// clone the profile reference so that the caller has their own reference, not our cached one
|
||||
if (cachedRGBProfileRef)
|
||||
{
|
||||
// clone the profile reference so that the caller has their own reference, not our cached one
|
||||
CMCloneProfileRef(cachedRGBProfileRef);
|
||||
}
|
||||
|
||||
return cachedRGBProfileRef;
|
||||
}
|
||||
@@ -1555,8 +1562,8 @@ CGColorSpaceRef wxMacGetGenericRGBColorSpace()
|
||||
{
|
||||
static wxMacCFRefHolder<CGColorSpaceRef> genericRGBColorSpace ;
|
||||
|
||||
if (genericRGBColorSpace == NULL)
|
||||
{
|
||||
if (genericRGBColorSpace == NULL)
|
||||
{
|
||||
if ( UMAGetSystemVersion() >= 0x1040 )
|
||||
{
|
||||
genericRGBColorSpace.Set( CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) ) ;
|
||||
@@ -1564,17 +1571,19 @@ CGColorSpaceRef wxMacGetGenericRGBColorSpace()
|
||||
else
|
||||
{
|
||||
CMProfileRef genericRGBProfile = wxMacOpenGenericProfile();
|
||||
|
||||
|
||||
if (genericRGBProfile)
|
||||
{
|
||||
genericRGBColorSpace.Set( 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
|
||||
|
Reference in New Issue
Block a user