added conversion routines to CIconHandle, removing pre 8.6 routines

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2001-10-28 19:32:42 +00:00
parent 2fb4d7b86e
commit 7205570233
60 changed files with 4492 additions and 2744 deletions

View File

@ -12,33 +12,10 @@
#ifndef H_UMA #ifndef H_UMA
#define H_UMA #define H_UMA
// define this to be 1 if you have the 8.6 libs (weak linked)
#define UMA_USE_8_6 0
#if TARGET_CARBON
#undef UMA_USE_8_6
#define UMA_USE_8_6 1
#endif
#if defined(__POWERPC__) #if defined(__POWERPC__)
#define UMA_USE_APPEARANCE 1
#define UMA_USE_WINDOWMGR 1
#if defined(__DARWIN__) #if defined(__DARWIN__)
#include <Carbon/Carbon.h> #include <Carbon/Carbon.h>
#endif #endif
#else
#define UMA_USE_APPEARANCE 1
#define UMA_USE_WINDOWMGR 0
#endif
#if UMA_USE_APPEARANCE == 0
#pragma error "wxMac needs appearance"
#endif
#if !UMA_USE_8_6 && UMA_USE_WINDOWMGR
#undef UMA_USE_WINDOWMGR
#define UMA_USE_WINDOWMGR 0
#endif #endif
#if !TARGET_CARBON #if !TARGET_CARBON
@ -50,6 +27,8 @@ void UMAInitToolbox( UInt16 inMoreMastersCalls) ;
void UMACleanupToolbox() ; void UMACleanupToolbox() ;
bool UMAHasAppearance() ; bool UMAHasAppearance() ;
long UMAGetAppearanceVersion() ; long UMAGetAppearanceVersion() ;
bool UMAHasWindowManager() ;
long UMAGetWindowManagerAttr() ;
// process manager // process manager
@ -66,16 +45,16 @@ void UMAAppendSubMenuItem( MenuRef menu , StringPtr label , SInt16 submenuid )
void UMAInsertSubMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 submenuid ) ; void UMAInsertSubMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 submenuid ) ;
void UMAAppendMenuItem( MenuRef menu , StringPtr label , SInt16 key= 0, UInt8 modifiers = 0 ) ; void UMAAppendMenuItem( MenuRef menu , StringPtr label , SInt16 key= 0, UInt8 modifiers = 0 ) ;
void UMAInsertMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 key = 0 , UInt8 modifiers = 0 ) ; void UMAInsertMenuItem( MenuRef menu , StringPtr label , MenuItemIndex item , SInt16 key = 0 , UInt8 modifiers = 0 ) ;
void UMASetMenuItemText( MenuRef menu , MenuItemIndex item , StringPtr label ) ; // void UMASetMenuItemText( MenuRef menu , MenuItemIndex item , StringPtr label ) ;
MenuRef UMANewMenu( SInt16 menuid , StringPtr label ) ; // MenuRef ::NewMenu( SInt16 menuid , StringPtr label ) ;
void UMADisposeMenu( MenuRef menu ) ; // void UMADisposeMenu( MenuRef menu ) ;
// handling the menubar // handling the menubar
void UMADeleteMenu( SInt16 menuId ) ; // void UMADeleteMenu( SInt16 menuId ) ;
void UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ; // void UMAInsertMenu( MenuRef insertMenu , SInt16 afterId ) ;
void UMADrawMenuBar() ; // void UMADrawMenuBar() ;
// quickdraw // quickdraw
@ -98,13 +77,13 @@ void UMASetWTitleC( WindowRef inWindowRef , const char *title ) ;
void UMAGetWTitleC( WindowRef inWindowRef , char *title ) ; void UMAGetWTitleC( WindowRef inWindowRef , char *title ) ;
void UMADrawGrowIcon( WindowRef inWindowRef ) ; void UMADrawGrowIcon( WindowRef inWindowRef ) ;
void UMAShowWindow( WindowRef inWindowRef ) ; //void UMAShowWindow( WindowRef inWindowRef ) ;
void UMAHideWindow( WindowRef inWindowRef ) ; //void UMAHideWindow( WindowRef inWindowRef ) ;
void UMAShowHide( WindowRef inWindowRef , Boolean show) ; void UMAShowHide( WindowRef inWindowRef , Boolean show) ;
void UMASelectWindow( WindowRef inWindowRef ) ; //void UMASelectWindow( WindowRef inWindowRef ) ;
void UMABringToFront( WindowRef inWindowRef ) ; //void UMABringToFront( WindowRef inWindowRef ) ;
void UMASendBehind( WindowRef inWindowRef , WindowRef behindWindow ) ; //void UMASendBehind( WindowRef inWindowRef , WindowRef behindWindow ) ;
void UMACloseWindow(WindowRef inWindowRef) ; // void UMACloseWindow(WindowRef inWindowRef) ;
// appearance manager // appearance manager
@ -114,15 +93,16 @@ void UMAEnableControl( ControlHandle inControl ) ;
void UMADisableControl( ControlHandle inControl ) ; void UMADisableControl( ControlHandle inControl ) ;
void UMAActivateControl( ControlHandle inControl ) ; void UMAActivateControl( ControlHandle inControl ) ;
void UMADeactivateControl( ControlHandle inControl ) ; void UMADeactivateControl( ControlHandle inControl ) ;
void UMAApplyThemeBackground (ThemeBackgroundKind inKind, //void UMAApplyThemeBackground (ThemeBackgroundKind inKind,
const Rect * bounds, // const Rect * bounds,
ThemeDrawState inState, // ThemeDrawState inState,
SInt16 inDepth, // SInt16 inDepth,
Boolean inColorDev); // Boolean inColorDev);
void UMASetThemeWindowBackground (WindowRef inWindow, //void UMASetThemeWindowBackground (WindowRef inWindow,
ThemeBrush inBrush, // ThemeBrush inBrush,
Boolean inUpdate) ; // Boolean inUpdate) ;
ControlHandle UMANewControl(WindowPtr owningWindow, /*
ControlHandle ::NewControl(WindowPtr owningWindow,
const Rect * boundsRect, const Rect * boundsRect,
ConstStr255Param controlTitle, ConstStr255Param controlTitle,
Boolean initiallyVisible, Boolean initiallyVisible,
@ -131,36 +111,37 @@ ControlHandle UMANewControl(WindowPtr owningWindow,
SInt16 maximumValue, SInt16 maximumValue,
SInt16 procID, SInt16 procID,
SInt32 controlReference) ; SInt32 controlReference) ;
void UMADisposeControl (ControlHandle theControl) ; */
void UMAHiliteControl (ControlHandle theControl, //void UMADisposeControl (ControlHandle theControl) ;
ControlPartCode hiliteState) ; //void UMAHiliteControl (ControlHandle theControl,
// ControlPartCode hiliteState) ;
void UMAShowControl (ControlHandle theControl) ; void UMAShowControl (ControlHandle theControl) ;
void UMAHideControl (ControlHandle theControl); //void UMAHideControl (ControlHandle theControl);
void UMASetControlVisibility (ControlHandle inControl, //void UMASetControlVisibility (ControlHandle inControl,
Boolean inIsVisible, // Boolean inIsVisible,
Boolean inDoDraw); // Boolean inDoDraw);
bool UMAIsControlActive (ControlHandle inControl); //bool UMAIsControlActive (ControlHandle inControl);
bool UMAIsControlVisible (ControlHandle inControl); //bool UMAIsControlVisible (ControlHandle inControl);
void UMAActivateControl (ControlHandle inControl); void UMAActivateControl (ControlHandle inControl);
void UMADeactivateControl (ControlHandle inControl); void UMADeactivateControl (ControlHandle inControl);
OSErr UMAGetBestControlRect (ControlHandle inControl, //OSErr UMAGetBestControlRect (ControlHandle inControl,
Rect * outRect, // Rect * outRect,
SInt16 * outBaseLineOffset); // SInt16 * outBaseLineOffset);
OSErr UMASetControlFontStyle (ControlHandle inControl, //OSErr UMASetControlFontStyle (ControlHandle inControl,
const ControlFontStyleRec * inStyle) ; // const ControlFontStyleRec * inStyle) ;
void UMAMoveControl( ControlHandle inControl , short x , short y ) ; void UMAMoveControl( ControlHandle inControl , short x , short y ) ;
void UMASizeControl( ControlHandle inControl , short x , short y ) ; void UMASizeControl( ControlHandle inControl , short x , short y ) ;
// control hierarchy // control hierarchy
OSErr UMACreateRootControl (WindowPtr inWindow, //OSErr UMACreateRootControl (WindowPtr inWindow,
ControlHandle * outControl) ; // ControlHandle * outControl) ;
OSErr UMAEmbedControl (ControlHandle inControl, //OSErr UMAEmbedControl (ControlHandle inControl,
ControlHandle inContainer); // ControlHandle inContainer);
// keyboard focus // keyboard focus
OSErr UMASetKeyboardFocus (WindowPtr inWindow, OSErr UMASetKeyboardFocus (WindowPtr inWindow,
@ -170,35 +151,35 @@ OSErr UMASetKeyboardFocus (WindowPtr inWindow,
// events // events
ControlPartCode UMAHandleControlClick (ControlHandle inControl, //ControlPartCode UMAHandleControlClick (ControlHandle inControl,
Point inWhere, // Point inWhere,
SInt16 inModifiers, // SInt16 inModifiers,
ControlActionUPP inAction) ; // ControlActionUPP inAction) ;
SInt16 UMAHandleControlKey (ControlHandle inControl, //SInt16 UMAHandleControlKey (ControlHandle inControl,
SInt16 inKeyCode, // SInt16 inKeyCode,
SInt16 inCharCode, // SInt16 inCharCode,
SInt16 inModifiers); // SInt16 inModifiers);
void UMAIdleControls (WindowPtr inWindow) ; //void UMAIdleControls (WindowPtr inWindow) ;
void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) ; void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) ;
OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) ; OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) ;
// handling control data // handling control data
/*
OSErr UMASetControlData (ControlHandle inControl, OSErr ::SetControlData (ControlHandle inControl,
ControlPartCode inPart, ControlPartCode inPart,
ResType inTagName, ResType inTagName,
Size inSize, Size inSize,
Ptr inData) ; Ptr inData) ;
OSErr UMAGetControlData (ControlHandle inControl, OSErr ::GetControlData (ControlHandle inControl,
ControlPartCode inPart, ControlPartCode inPart,
ResType inTagName, ResType inTagName,
Size inBufferSize, Size inBufferSize,
Ptr outBuffer, Ptr outBuffer,
Size * outActualSize) ; Size * outActualSize) ;
OSErr UMAGetControlDataSize (ControlHandle inControl, OSErr ::GetControlDataSize (ControlHandle inControl,
ControlPartCode inPart, ControlPartCode inPart,
ResType inTagName, ResType inTagName,
Size * outMaxSize); Size * outMaxSize);
@ -227,12 +208,13 @@ WindowRef UMAFrontWindow() ;
WindowRef UMAFrontNonFloatingWindow() ; WindowRef UMAFrontNonFloatingWindow() ;
// floaters support // floaters support
*/
bool UMAIsWindowFloating( WindowRef inWindow ) ; bool UMAIsWindowFloating( WindowRef inWindow ) ;
bool UMAIsWindowModal( WindowRef inWindow ) ; bool UMAIsWindowModal( WindowRef inWindow ) ;
/*
WindowRef UMAGetActiveWindow() ; WindowRef UMAGetActiveWindow() ;
WindowRef UMAGetActiveNonFloatingWindow() ; WindowRef UMAGetActiveNonFloatingWindow() ;
*/
void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ; void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ;
#if !TARGET_CARBON #if !TARGET_CARBON
@ -250,8 +232,12 @@ void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ;
#define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow)) #define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow))
#define GetControlBounds( c , b ) &((*b) = (**c).contrlRect ) #define GetControlBounds( c , b ) &((*b) = (**c).contrlRect )
#define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap )) #define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap ))
#define GetControlOwner( control ) (**control).contrlOwner
#define InvalWindowRgn( window , rgn ) InvalRgn( rgn )
#endif
#if TARGET_CARBON
#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn )
#endif #endif
// Appearance Drawing // Appearance Drawing
OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ; OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ;

View File

@ -2,7 +2,7 @@
#include "wx/mac/uma.h" #include "wx/mac/uma.h"
#include "wx/mac/aga.h" #include "wx/mac/aga.h"
#if !TARGET_CARBON #if 0 // TO BE REMOVED SOON
#include <extcdef.h> #include <extcdef.h>
#include <PictUtils.h> #include <PictUtils.h>

View File

@ -94,41 +94,31 @@ bool wxApp::s_macSupportPCMenuShortcuts = true ;
long wxApp::s_macAboutMenuItemId = wxID_ABOUT ; long wxApp::s_macAboutMenuItemId = wxID_ABOUT ;
wxString wxApp::s_macHelpMenuTitleName = "&Help" ; wxString wxApp::s_macHelpMenuTitleName = "&Help" ;
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340) pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEODoc( (AppleEvent*) event , reply) ; return wxTheApp->MacHandleAEODoc( (AppleEvent*) event , reply) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEOApp( (AppleEvent*) event , reply ) ; return wxTheApp->MacHandleAEOApp( (AppleEvent*) event , reply ) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEPDoc( (AppleEvent*) event , reply ) ; return wxTheApp->MacHandleAEPDoc( (AppleEvent*) event , reply ) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ; return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ;
@ -430,7 +420,7 @@ bool wxApp::Initialize()
{ {
error = kMacSTROldSystem ; error = kMacSTROldSystem ;
} }
else if ( theSystem < 0x0750 ) else if ( theSystem < 0x0860 )
{ {
error = kMacSTROldSystem ; error = kMacSTROldSystem ;
} }
@ -976,7 +966,7 @@ void wxApp::MacSuspend( bool convertClipboard )
MacConvertPrivateToPublicScrap() ; MacConvertPrivateToPublicScrap() ;
} }
UMAHideFloatingWindows() ; ::HideFloatingWindows() ;
} }
void wxApp::MacResume( bool convertClipboard ) void wxApp::MacResume( bool convertClipboard )
@ -987,7 +977,7 @@ void wxApp::MacResume( bool convertClipboard )
MacConvertPublicToPrivateScrap() ; MacConvertPublicToPrivateScrap() ;
} }
UMAShowFloatingWindows() ; ::ShowFloatingWindows() ;
} }
void wxApp::MacConvertPrivateToPublicScrap() void wxApp::MacConvertPrivateToPublicScrap()
@ -1011,9 +1001,9 @@ void wxApp::MacDoOneEvent()
else else
{ {
// idlers // idlers
WindowPtr window = UMAFrontWindow() ; WindowPtr window = ::FrontWindow() ;
if ( window ) if ( window )
UMAIdleControls( window ) ; ::IdleControls( window ) ;
wxTheApp->ProcessIdle() ; wxTheApp->ProcessIdle() ;
} }
@ -1093,10 +1083,10 @@ void wxApp::MacHandleMouseDownEvent( EventRecord *ev )
wxToolTip::RemoveToolTips() ; wxToolTip::RemoveToolTips() ;
WindowRef window; WindowRef window;
WindowRef frontWindow = UMAFrontNonFloatingWindow() ; WindowRef frontWindow = ::FrontNonFloatingWindow() ;
WindowAttributes frontWindowAttributes = NULL ; WindowAttributes frontWindowAttributes = NULL ;
if ( frontWindow ) if ( frontWindow )
UMAGetWindowAttributes( frontWindow , &frontWindowAttributes ) ; ::GetWindowAttributes( frontWindow , &frontWindowAttributes ) ;
short windowPart = ::FindWindow(ev->where, &window); short windowPart = ::FindWindow(ev->where, &window);
wxWindow* win = wxFindWinFromMacWindow( window ) ; wxWindow* win = wxFindWinFromMacWindow( window ) ;
@ -1233,7 +1223,7 @@ void wxApp::MacHandleMouseDownEvent( EventRecord *ev )
{ {
if ( win ) if ( win )
win->MacMouseDown( ev , windowPart ) ; win->MacMouseDown( ev , windowPart ) ;
UMASelectWindow( window ) ; ::SelectWindow( window ) ;
} }
} }
else else
@ -1270,6 +1260,7 @@ void wxApp::MacHandleMouseUpEvent( EventRecord *ev )
} }
} }
long wxMacTranslateKey(unsigned char key, unsigned char code) ;
long wxMacTranslateKey(unsigned char key, unsigned char code) long wxMacTranslateKey(unsigned char key, unsigned char code)
{ {
long retval = key ; long retval = key ;
@ -1517,11 +1508,11 @@ void wxApp::MacHandleActivateEvent( EventRecord *ev )
{ {
bool activate = (ev->modifiers & activeFlag ) ; bool activate = (ev->modifiers & activeFlag ) ;
WindowClass wclass ; WindowClass wclass ;
UMAGetWindowClass ( window , &wclass ) ; ::GetWindowClass ( window , &wclass ) ;
if ( wclass == kFloatingWindowClass ) if ( wclass == kFloatingWindowClass )
{ {
// if it is a floater we activate/deactivate the front non-floating window instead // if it is a floater we activate/deactivate the front non-floating window instead
window = UMAFrontNonFloatingWindow() ; window = ::FrontNonFloatingWindow() ;
} }
wxWindow* win = wxFindWinFromMacWindow( window ) ; wxWindow* win = wxFindWinFromMacWindow( window ) ;
if ( win ) if ( win )
@ -1585,11 +1576,11 @@ void wxApp::MacHandleOSEvent( EventRecord *ev )
// our idea of the active window with the process manager's - which it already activated // our idea of the active window with the process manager's - which it already activated
if ( !doesActivate ) if ( !doesActivate )
oldFrontWindow = UMAFrontNonFloatingWindow() ; oldFrontWindow = ::FrontNonFloatingWindow() ;
MacResume( convertClipboard ) ; MacResume( convertClipboard ) ;
newFrontWindow = UMAFrontNonFloatingWindow() ; newFrontWindow = ::FrontNonFloatingWindow() ;
if ( oldFrontWindow ) if ( oldFrontWindow )
{ {
@ -1611,13 +1602,15 @@ void wxApp::MacHandleOSEvent( EventRecord *ev )
// in case this suspending did close an active window, another one might // in case this suspending did close an active window, another one might
// have surfaced -> lets deactivate that one // have surfaced -> lets deactivate that one
WindowRef newActiveWindow = UMAGetActiveNonFloatingWindow() ; /* TODO : find out what to do on systems < 10 , perhaps FrontNonFloatingWindow
WindowRef newActiveWindow = ::ActiveNonFloatingWindow() ;
if ( newActiveWindow ) if ( newActiveWindow )
{ {
wxWindow* win = wxFindWinFromMacWindow( newActiveWindow ) ; wxWindow* win = wxFindWinFromMacWindow( newActiveWindow ) ;
if ( win ) if ( win )
win->MacActivate( ev , false ) ; win->MacActivate( ev , false ) ;
} }
*/
} }
} }
break ; break ;

View File

@ -11,7 +11,7 @@ resource 'STR#' ( 128 , "Simple Alert Messages" )
"This application needs at least a MacPlus" , "This application needs at least a MacPlus" ,
"This application needs more memory" , "This application needs more memory" ,
"This application is out of memory" , "This application is out of memory" ,
"This application needs at least System 7.5" , "This application needs at least System 8.6" ,
"About this wxWindows Application" , "About this wxWindows Application" ,
"This application needs Appearance extension (built in with System 8) - this restriction will be relieved in the final release" "This application needs Appearance extension (built in with System 8) - this restriction will be relieved in the final release"
} }

View File

@ -93,95 +93,204 @@ void wxMacDestroyGWorld( GWorldPtr gw )
DisposeGWorld( gw ) ; DisposeGWorld( gw ) ;
} }
#define kDefaultRes 0x00480000 /* Default resolution is 72 DPI; Fixed type */
OSErr SetupCIconHandlePixMap( CIconHandle icon , short depth , Rect *bounds , CTabHandle colors )
{
CTabHandle newColors; /* Color table used for the off-screen PixMap */
Ptr offBaseAddr; /* Pointer to the off-screen pixel image */
OSErr error; /* Returns error code */
short bytesPerRow; /* Number of bytes per row in the PixMap */
error = noErr;
newColors = nil;
offBaseAddr = nil;
bytesPerRow = ((depth * (bounds->right - bounds->left) + 31) / 32) * 4;
/* Clone the clut if indexed color; allocate a dummy clut if direct color*/
if (depth <= 8)
{
newColors = colors;
error = HandToHand((Handle *) &newColors);
}
else
{
newColors = (CTabHandle) NewHandle(sizeof(ColorTable) -
sizeof(CSpecArray));
error = MemError();
}
if (error == noErr)
{
/* Allocate pixel image; long integer multiplication avoids overflow */
(**icon).iconData = NewHandle((unsigned long) bytesPerRow * (bounds->bottom -
bounds->top));
if ((**icon).iconData != nil)
{
/* Initialize fields common to indexed and direct PixMaps */
(**icon).iconPMap.baseAddr = 0; /* Point to image */
(**icon).iconPMap.rowBytes = bytesPerRow | /* MSB set for PixMap */
0x8000;
(**icon).iconPMap.bounds = *bounds; /* Use given bounds */
(**icon).iconPMap.pmVersion = 0; /* No special stuff */
(**icon).iconPMap.packType = 0; /* Default PICT pack */
(**icon).iconPMap.packSize = 0; /* Always zero in mem */
(**icon).iconPMap.hRes = kDefaultRes; /* 72 DPI default res */
(**icon).iconPMap.vRes = kDefaultRes; /* 72 DPI default res */
(**icon).iconPMap.pixelSize = depth; /* Set # bits/pixel */
/* Initialize fields specific to indexed and direct PixMaps */
if (depth <= 8)
{
/* PixMap is indexed */
(**icon).iconPMap.pixelType = 0; /* Indicates indexed */
(**icon).iconPMap.cmpCount = 1; /* Have 1 component */
(**icon).iconPMap.cmpSize = depth; /* Component size=depth */
(**icon).iconPMap.pmTable = newColors; /* Handle to CLUT */
}
else
{
/* PixMap is direct */
(**icon).iconPMap.pixelType = RGBDirect; /* Indicates direct */
(**icon).iconPMap.cmpCount = 3; /* Have 3 components */
if (depth == 16)
(**icon).iconPMap.cmpSize = 5; /* 5 bits/component */
else
(**icon).iconPMap.cmpSize = 8; /* 8 bits/component */
(**newColors).ctSeed = 3 * (**icon).iconPMap.cmpSize;
(**newColors).ctFlags = 0;
(**newColors).ctSize = 0;
(**icon).iconPMap.pmTable = newColors;
}
}
else
error = MemError();
}
else
newColors = nil;
/* If no errors occured, return a handle to the new off-screen PixMap */
if (error != noErr)
{
if (newColors != nil)
DisposeCTable(newColors);
}
/* Return the error code */
return error;
}
CIconHandle wxMacCreateCIcon(GWorldPtr image , GWorldPtr mask , short dstDepth , short iconSize )
{
GWorldPtr saveWorld;
GDHandle saveHandle;
GetGWorld(&saveWorld,&saveHandle); // save Graphics env state
SetGWorld(image,nil);
Rect frame = { 0 , 0 , iconSize , iconSize } ;
Rect imageBounds = frame ;
GetPortBounds( image , &imageBounds ) ;
int bwSize = iconSize / 8 * iconSize ;
CIconHandle icon = (CIconHandle) NewHandleClear( sizeof ( CIcon ) + 2 * bwSize) ;
HLock((Handle)icon) ;
SetupCIconHandlePixMap( icon , dstDepth , &frame,GetCTable(dstDepth)) ;
HLock( (**icon).iconData ) ;
(**icon).iconPMap.baseAddr = *(**icon).iconData ;
LockPixels(GetGWorldPixMap(image));
CopyBits(GetPortBitMapForCopyBits(image),
(BitMapPtr)&((**icon).iconPMap),
&imageBounds,
&imageBounds,
srcCopy | ditherCopy, nil);
UnlockPixels(GetGWorldPixMap(image));
HUnlock( (**icon).iconData ) ;
(**icon).iconMask.rowBytes = iconSize / 8 ;
(**icon).iconMask.bounds = frame ;
(**icon).iconBMap.rowBytes = iconSize / 8 ;
(**icon).iconBMap.bounds = frame ;
(**icon).iconMask.baseAddr = (char*) &(**icon).iconMaskData ;
(**icon).iconBMap.baseAddr = (char*) &(**icon).iconMaskData + bwSize ;
if ( mask )
{
LockPixels(GetGWorldPixMap(mask) ) ;
CopyBits(GetPortBitMapForCopyBits(mask) ,
&(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ;
CopyBits(GetPortBitMapForCopyBits(mask) ,
&(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ;
UnlockPixels(GetGWorldPixMap( mask ) ) ;
}
else
{
LockPixels(GetGWorldPixMap(image));
CopyBits(GetPortBitMapForCopyBits(image) ,
&(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ;
CopyBits(GetPortBitMapForCopyBits(image) ,
&(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ;
UnlockPixels(GetGWorldPixMap(image));
}
(**icon).iconMask.baseAddr = NULL ;
(**icon).iconBMap.baseAddr = NULL ;
(**icon).iconPMap.baseAddr = NULL ;
HUnlock((Handle)icon) ;
SetGWorld(saveWorld,saveHandle);
return icon;
}
PicHandle wxMacCreatePict(GWorldPtr wp, GWorldPtr mask) PicHandle wxMacCreatePict(GWorldPtr wp, GWorldPtr mask)
{ {
CGrafPtr origPort ; CGrafPtr origPort ;
GDHandle origDev ; GDHandle origDev ;
PicHandle pict; // this is the Picture we give back PicHandle pict;
RGBColor gray = { 0xCCCC ,0xCCCC , 0xCCCC } ;
RGBColor white = { 0xffff ,0xffff , 0xffff } ; RGBColor white = { 0xffff ,0xffff , 0xffff } ;
RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ; RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ;
unsigned char *maskimage = NULL ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
int width = portRect.right - portRect.left ;
int height = portRect.bottom - portRect.top ;
LockPixels( GetGWorldPixMap( wp ) ) ;
GetGWorld( &origPort , &origDev ) ; GetGWorld( &origPort , &origDev ) ;
RgnHandle clipRgn = NULL ;
if ( mask ) if ( mask )
{ {
maskimage = (unsigned char*) malloc( width * height ) ; clipRgn = NewRgn() ;
SetGWorld( mask , NULL ) ;
LockPixels( GetGWorldPixMap( mask ) ) ; LockPixels( GetGWorldPixMap( mask ) ) ;
for ( int y = 0 ; y < height ; y++ ) BitMapToRegion( clipRgn , (BitMap*) *GetGWorldPixMap( mask ) ) ;
{
for( int x = 0 ; x < width ; x++ )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
maskimage[y*width + x] = ( col.red == 0 ) ; // for monochrome masks
}
}
UnlockPixels( GetGWorldPixMap( mask ) ) ; UnlockPixels( GetGWorldPixMap( mask ) ) ;
} }
SetGWorld( wp , NULL ) ; SetGWorld( wp , NULL ) ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
pict = OpenPicture(&portRect); // open a picture, this disables drawing pict = OpenPicture(&portRect);
if(!pict) if(pict)
return NULL;
if ( maskimage )
{ {
RGBForeColor( &black ) ; RGBForeColor( &black ) ;
RGBBackColor( &white ) ; RGBBackColor( &white ) ;
PenMode(transparent);
for ( int y = 0 ; y < height ; ++y ) LockPixels( GetGWorldPixMap( wp ) ) ;
{ CopyBits(GetPortBitMapForCopyBits(wp),
for( int x = 0 ; x < width ; ++x ) GetPortBitMapForCopyBits(wp),
{ &portRect,
if ( maskimage[y*width + x] ) &portRect,
{ srcCopy,clipRgn);
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
SetCPixel( x + portRect.left , y + portRect.top , &col ) ;
}
else {
// With transparency set this sets a blank pixel not a white one
SetCPixel( x + portRect.left , y + portRect.top , &white);
}
}
}
free( maskimage ) ;
maskimage = NULL ;
}
else
{
RGBBackColor( &gray ) ;
EraseRect(&portRect);
RGBForeColor( &black ) ;
RGBBackColor( &white ) ;
CopyBits(GetPortBitMapForCopyBits(wp), /* src PixMap - we copy image over
* itself - */
GetPortBitMapForCopyBits(wp), // dst PixMap - no drawing occurs
&portRect, // srcRect - it will be recorded and compressed -
&portRect, // dstRect - into the picture that is open -
srcCopy,NULL); // copyMode and no clip region
}
ClosePicture(); // We are done recording the picture
UnlockPixels( GetGWorldPixMap( wp ) ) ; UnlockPixels( GetGWorldPixMap( wp ) ) ;
ClosePicture();
}
SetGWorld( origPort , origDev ) ; SetGWorld( origPort , origDev ) ;
return pict;
return pict; // return our groovy pict handle
} }
wxBitmapRefData::wxBitmapRefData() wxBitmapRefData::wxBitmapRefData()

View File

@ -21,8 +21,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
#endif #endif
#include "wx/mac/uma.h" #include "wx/mac/uma.h"
#include "wx/bitmap.h"
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask ) ;
bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
const wxPoint& pos, const wxPoint& pos,
@ -58,7 +57,7 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 ,
kControlBehaviorOffsetContents + kControlBehaviorOffsetContents +
( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0, ( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0,
(( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ; (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ;
@ -75,14 +74,17 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
info.contentType = kControlContentPictHandle ;
if ( m_buttonBitmap.GetMask() ) if ( m_buttonBitmap.GetMask() )
{ {
info.u.picture = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
info.u.picture = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeIcon ) else if ( bmap->m_bitmapType == kMacBitmapTypeIcon )
@ -92,7 +94,7 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
} }
} }
UMASetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ; ::SetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
MacPostControlCreate() ; MacPostControlCreate() ;
@ -107,21 +109,23 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
if ( m_buttonBitmap.Ok() ) if ( m_buttonBitmap.Ok() )
{ {
wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_buttonBitmap.GetRefData()) ; wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_buttonBitmap.GetRefData()) ;
if ( bmap->m_bitmapType == kMacBitmapTypePict ) if ( bmap->m_bitmapType == kMacBitmapTypePict ) {
{
info.contentType = kControlContentPictHandle ; info.contentType = kControlContentPictHandle ;
info.u.picture = bmap->m_hPict ; info.u.picture = bmap->m_hPict ;
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
info.contentType = kControlContentPictHandle ;
if ( m_buttonBitmap.GetMask() ) if ( m_buttonBitmap.GetMask() )
{ {
info.u.picture = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
info.u.picture = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeIcon ) else if ( bmap->m_bitmapType == kMacBitmapTypeIcon )
@ -130,7 +134,8 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
info.u.cIconHandle = bmap->m_hIcon ; info.u.cIconHandle = bmap->m_hIcon ;
} }
UMASetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
::SetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
} }
} }

View File

@ -37,7 +37,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlPushButtonProc , (long) this ) ; kControlPushButtonProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;
@ -58,32 +58,19 @@ void wxButton::SetDefault()
panel->SetDefaultItem(this); panel->SetDefaultItem(this);
} }
#ifdef __DARWIN__
Boolean inData; Boolean inData;
if ( btnOldDefault && btnOldDefault->m_macControl ) if ( btnOldDefault && btnOldDefault->m_macControl )
{ {
inData = 0; inData = 0;
UMASetControlData( btnOldDefault->m_macControl , kControlButtonPart , ::SetControlData( btnOldDefault->m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ; kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ;
} }
if ( m_macControl ) if ( m_macControl )
{ {
inData = 1; inData = 1;
UMASetControlData( m_macControl , kControlButtonPart , ::SetControlData( m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ; kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ;
} }
#else
if ( btnOldDefault && btnOldDefault->m_macControl )
{
UMASetControlData( btnOldDefault->m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)((Boolean)0) ) ;
}
if ( m_macControl )
{
UMASetControlData( m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)((Boolean)1) ) ;
}
#endif
} }
wxSize wxButton::DoGetBestSize() const wxSize wxButton::DoGetBestSize() const

View File

@ -2,7 +2,7 @@
#include "wx/mac/uma.h" #include "wx/mac/uma.h"
#include "wx/mac/aga.h" #include "wx/mac/aga.h"
#if !TARGET_CARBON #if 0 // TO BE REMOVED SOON
#include <extcdef.h> #include <extcdef.h>
#include <PictUtils.h> #include <PictUtils.h>

View File

@ -94,41 +94,31 @@ bool wxApp::s_macSupportPCMenuShortcuts = true ;
long wxApp::s_macAboutMenuItemId = wxID_ABOUT ; long wxApp::s_macAboutMenuItemId = wxID_ABOUT ;
wxString wxApp::s_macHelpMenuTitleName = "&Help" ; wxString wxApp::s_macHelpMenuTitleName = "&Help" ;
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340) pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon ) ;
pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleODoc( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEODoc( (AppleEvent*) event , reply) ; return wxTheApp->MacHandleAEODoc( (AppleEvent*) event , reply) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleOApp( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEOApp( (AppleEvent*) event , reply ) ; return wxTheApp->MacHandleAEOApp( (AppleEvent*) event , reply ) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandlePDoc( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEPDoc( (AppleEvent*) event , reply ) ; return wxTheApp->MacHandleAEPDoc( (AppleEvent*) event , reply ) ;
} }
#if defined(UNIVERSAL_INTERFACES_VERSION) && (UNIVERSAL_INTERFACES_VERSION >= 0x0340)
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon ) pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , long refcon )
#else
pascal OSErr AEHandleQuit( const AppleEvent *event , AppleEvent *reply , unsigned long refcon )
#endif
{ {
wxApp* app = (wxApp*) refcon ; wxApp* app = (wxApp*) refcon ;
return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ; return wxTheApp->MacHandleAEQuit( (AppleEvent*) event , reply) ;
@ -430,7 +420,7 @@ bool wxApp::Initialize()
{ {
error = kMacSTROldSystem ; error = kMacSTROldSystem ;
} }
else if ( theSystem < 0x0750 ) else if ( theSystem < 0x0860 )
{ {
error = kMacSTROldSystem ; error = kMacSTROldSystem ;
} }
@ -976,7 +966,7 @@ void wxApp::MacSuspend( bool convertClipboard )
MacConvertPrivateToPublicScrap() ; MacConvertPrivateToPublicScrap() ;
} }
UMAHideFloatingWindows() ; ::HideFloatingWindows() ;
} }
void wxApp::MacResume( bool convertClipboard ) void wxApp::MacResume( bool convertClipboard )
@ -987,7 +977,7 @@ void wxApp::MacResume( bool convertClipboard )
MacConvertPublicToPrivateScrap() ; MacConvertPublicToPrivateScrap() ;
} }
UMAShowFloatingWindows() ; ::ShowFloatingWindows() ;
} }
void wxApp::MacConvertPrivateToPublicScrap() void wxApp::MacConvertPrivateToPublicScrap()
@ -1011,9 +1001,9 @@ void wxApp::MacDoOneEvent()
else else
{ {
// idlers // idlers
WindowPtr window = UMAFrontWindow() ; WindowPtr window = ::FrontWindow() ;
if ( window ) if ( window )
UMAIdleControls( window ) ; ::IdleControls( window ) ;
wxTheApp->ProcessIdle() ; wxTheApp->ProcessIdle() ;
} }
@ -1093,10 +1083,10 @@ void wxApp::MacHandleMouseDownEvent( EventRecord *ev )
wxToolTip::RemoveToolTips() ; wxToolTip::RemoveToolTips() ;
WindowRef window; WindowRef window;
WindowRef frontWindow = UMAFrontNonFloatingWindow() ; WindowRef frontWindow = ::FrontNonFloatingWindow() ;
WindowAttributes frontWindowAttributes = NULL ; WindowAttributes frontWindowAttributes = NULL ;
if ( frontWindow ) if ( frontWindow )
UMAGetWindowAttributes( frontWindow , &frontWindowAttributes ) ; ::GetWindowAttributes( frontWindow , &frontWindowAttributes ) ;
short windowPart = ::FindWindow(ev->where, &window); short windowPart = ::FindWindow(ev->where, &window);
wxWindow* win = wxFindWinFromMacWindow( window ) ; wxWindow* win = wxFindWinFromMacWindow( window ) ;
@ -1233,7 +1223,7 @@ void wxApp::MacHandleMouseDownEvent( EventRecord *ev )
{ {
if ( win ) if ( win )
win->MacMouseDown( ev , windowPart ) ; win->MacMouseDown( ev , windowPart ) ;
UMASelectWindow( window ) ; ::SelectWindow( window ) ;
} }
} }
else else
@ -1270,6 +1260,7 @@ void wxApp::MacHandleMouseUpEvent( EventRecord *ev )
} }
} }
long wxMacTranslateKey(unsigned char key, unsigned char code) ;
long wxMacTranslateKey(unsigned char key, unsigned char code) long wxMacTranslateKey(unsigned char key, unsigned char code)
{ {
long retval = key ; long retval = key ;
@ -1517,11 +1508,11 @@ void wxApp::MacHandleActivateEvent( EventRecord *ev )
{ {
bool activate = (ev->modifiers & activeFlag ) ; bool activate = (ev->modifiers & activeFlag ) ;
WindowClass wclass ; WindowClass wclass ;
UMAGetWindowClass ( window , &wclass ) ; ::GetWindowClass ( window , &wclass ) ;
if ( wclass == kFloatingWindowClass ) if ( wclass == kFloatingWindowClass )
{ {
// if it is a floater we activate/deactivate the front non-floating window instead // if it is a floater we activate/deactivate the front non-floating window instead
window = UMAFrontNonFloatingWindow() ; window = ::FrontNonFloatingWindow() ;
} }
wxWindow* win = wxFindWinFromMacWindow( window ) ; wxWindow* win = wxFindWinFromMacWindow( window ) ;
if ( win ) if ( win )
@ -1585,11 +1576,11 @@ void wxApp::MacHandleOSEvent( EventRecord *ev )
// our idea of the active window with the process manager's - which it already activated // our idea of the active window with the process manager's - which it already activated
if ( !doesActivate ) if ( !doesActivate )
oldFrontWindow = UMAFrontNonFloatingWindow() ; oldFrontWindow = ::FrontNonFloatingWindow() ;
MacResume( convertClipboard ) ; MacResume( convertClipboard ) ;
newFrontWindow = UMAFrontNonFloatingWindow() ; newFrontWindow = ::FrontNonFloatingWindow() ;
if ( oldFrontWindow ) if ( oldFrontWindow )
{ {
@ -1611,13 +1602,15 @@ void wxApp::MacHandleOSEvent( EventRecord *ev )
// in case this suspending did close an active window, another one might // in case this suspending did close an active window, another one might
// have surfaced -> lets deactivate that one // have surfaced -> lets deactivate that one
WindowRef newActiveWindow = UMAGetActiveNonFloatingWindow() ; /* TODO : find out what to do on systems < 10 , perhaps FrontNonFloatingWindow
WindowRef newActiveWindow = ::ActiveNonFloatingWindow() ;
if ( newActiveWindow ) if ( newActiveWindow )
{ {
wxWindow* win = wxFindWinFromMacWindow( newActiveWindow ) ; wxWindow* win = wxFindWinFromMacWindow( newActiveWindow ) ;
if ( win ) if ( win )
win->MacActivate( ev , false ) ; win->MacActivate( ev , false ) ;
} }
*/
} }
} }
break ; break ;

View File

@ -11,7 +11,7 @@ resource 'STR#' ( 128 , "Simple Alert Messages" )
"This application needs at least a MacPlus" , "This application needs at least a MacPlus" ,
"This application needs more memory" , "This application needs more memory" ,
"This application is out of memory" , "This application is out of memory" ,
"This application needs at least System 7.5" , "This application needs at least System 8.6" ,
"About this wxWindows Application" , "About this wxWindows Application" ,
"This application needs Appearance extension (built in with System 8) - this restriction will be relieved in the final release" "This application needs Appearance extension (built in with System 8) - this restriction will be relieved in the final release"
} }

View File

@ -93,95 +93,204 @@ void wxMacDestroyGWorld( GWorldPtr gw )
DisposeGWorld( gw ) ; DisposeGWorld( gw ) ;
} }
#define kDefaultRes 0x00480000 /* Default resolution is 72 DPI; Fixed type */
OSErr SetupCIconHandlePixMap( CIconHandle icon , short depth , Rect *bounds , CTabHandle colors )
{
CTabHandle newColors; /* Color table used for the off-screen PixMap */
Ptr offBaseAddr; /* Pointer to the off-screen pixel image */
OSErr error; /* Returns error code */
short bytesPerRow; /* Number of bytes per row in the PixMap */
error = noErr;
newColors = nil;
offBaseAddr = nil;
bytesPerRow = ((depth * (bounds->right - bounds->left) + 31) / 32) * 4;
/* Clone the clut if indexed color; allocate a dummy clut if direct color*/
if (depth <= 8)
{
newColors = colors;
error = HandToHand((Handle *) &newColors);
}
else
{
newColors = (CTabHandle) NewHandle(sizeof(ColorTable) -
sizeof(CSpecArray));
error = MemError();
}
if (error == noErr)
{
/* Allocate pixel image; long integer multiplication avoids overflow */
(**icon).iconData = NewHandle((unsigned long) bytesPerRow * (bounds->bottom -
bounds->top));
if ((**icon).iconData != nil)
{
/* Initialize fields common to indexed and direct PixMaps */
(**icon).iconPMap.baseAddr = 0; /* Point to image */
(**icon).iconPMap.rowBytes = bytesPerRow | /* MSB set for PixMap */
0x8000;
(**icon).iconPMap.bounds = *bounds; /* Use given bounds */
(**icon).iconPMap.pmVersion = 0; /* No special stuff */
(**icon).iconPMap.packType = 0; /* Default PICT pack */
(**icon).iconPMap.packSize = 0; /* Always zero in mem */
(**icon).iconPMap.hRes = kDefaultRes; /* 72 DPI default res */
(**icon).iconPMap.vRes = kDefaultRes; /* 72 DPI default res */
(**icon).iconPMap.pixelSize = depth; /* Set # bits/pixel */
/* Initialize fields specific to indexed and direct PixMaps */
if (depth <= 8)
{
/* PixMap is indexed */
(**icon).iconPMap.pixelType = 0; /* Indicates indexed */
(**icon).iconPMap.cmpCount = 1; /* Have 1 component */
(**icon).iconPMap.cmpSize = depth; /* Component size=depth */
(**icon).iconPMap.pmTable = newColors; /* Handle to CLUT */
}
else
{
/* PixMap is direct */
(**icon).iconPMap.pixelType = RGBDirect; /* Indicates direct */
(**icon).iconPMap.cmpCount = 3; /* Have 3 components */
if (depth == 16)
(**icon).iconPMap.cmpSize = 5; /* 5 bits/component */
else
(**icon).iconPMap.cmpSize = 8; /* 8 bits/component */
(**newColors).ctSeed = 3 * (**icon).iconPMap.cmpSize;
(**newColors).ctFlags = 0;
(**newColors).ctSize = 0;
(**icon).iconPMap.pmTable = newColors;
}
}
else
error = MemError();
}
else
newColors = nil;
/* If no errors occured, return a handle to the new off-screen PixMap */
if (error != noErr)
{
if (newColors != nil)
DisposeCTable(newColors);
}
/* Return the error code */
return error;
}
CIconHandle wxMacCreateCIcon(GWorldPtr image , GWorldPtr mask , short dstDepth , short iconSize )
{
GWorldPtr saveWorld;
GDHandle saveHandle;
GetGWorld(&saveWorld,&saveHandle); // save Graphics env state
SetGWorld(image,nil);
Rect frame = { 0 , 0 , iconSize , iconSize } ;
Rect imageBounds = frame ;
GetPortBounds( image , &imageBounds ) ;
int bwSize = iconSize / 8 * iconSize ;
CIconHandle icon = (CIconHandle) NewHandleClear( sizeof ( CIcon ) + 2 * bwSize) ;
HLock((Handle)icon) ;
SetupCIconHandlePixMap( icon , dstDepth , &frame,GetCTable(dstDepth)) ;
HLock( (**icon).iconData ) ;
(**icon).iconPMap.baseAddr = *(**icon).iconData ;
LockPixels(GetGWorldPixMap(image));
CopyBits(GetPortBitMapForCopyBits(image),
(BitMapPtr)&((**icon).iconPMap),
&imageBounds,
&imageBounds,
srcCopy | ditherCopy, nil);
UnlockPixels(GetGWorldPixMap(image));
HUnlock( (**icon).iconData ) ;
(**icon).iconMask.rowBytes = iconSize / 8 ;
(**icon).iconMask.bounds = frame ;
(**icon).iconBMap.rowBytes = iconSize / 8 ;
(**icon).iconBMap.bounds = frame ;
(**icon).iconMask.baseAddr = (char*) &(**icon).iconMaskData ;
(**icon).iconBMap.baseAddr = (char*) &(**icon).iconMaskData + bwSize ;
if ( mask )
{
LockPixels(GetGWorldPixMap(mask) ) ;
CopyBits(GetPortBitMapForCopyBits(mask) ,
&(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ;
CopyBits(GetPortBitMapForCopyBits(mask) ,
&(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ;
UnlockPixels(GetGWorldPixMap( mask ) ) ;
}
else
{
LockPixels(GetGWorldPixMap(image));
CopyBits(GetPortBitMapForCopyBits(image) ,
&(**icon).iconBMap , &imageBounds , &imageBounds, srcCopy , nil ) ;
CopyBits(GetPortBitMapForCopyBits(image) ,
&(**icon).iconMask , &imageBounds , &imageBounds, srcCopy , nil ) ;
UnlockPixels(GetGWorldPixMap(image));
}
(**icon).iconMask.baseAddr = NULL ;
(**icon).iconBMap.baseAddr = NULL ;
(**icon).iconPMap.baseAddr = NULL ;
HUnlock((Handle)icon) ;
SetGWorld(saveWorld,saveHandle);
return icon;
}
PicHandle wxMacCreatePict(GWorldPtr wp, GWorldPtr mask) PicHandle wxMacCreatePict(GWorldPtr wp, GWorldPtr mask)
{ {
CGrafPtr origPort ; CGrafPtr origPort ;
GDHandle origDev ; GDHandle origDev ;
PicHandle pict; // this is the Picture we give back PicHandle pict;
RGBColor gray = { 0xCCCC ,0xCCCC , 0xCCCC } ;
RGBColor white = { 0xffff ,0xffff , 0xffff } ; RGBColor white = { 0xffff ,0xffff , 0xffff } ;
RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ; RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ;
unsigned char *maskimage = NULL ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
int width = portRect.right - portRect.left ;
int height = portRect.bottom - portRect.top ;
LockPixels( GetGWorldPixMap( wp ) ) ;
GetGWorld( &origPort , &origDev ) ; GetGWorld( &origPort , &origDev ) ;
RgnHandle clipRgn = NULL ;
if ( mask ) if ( mask )
{ {
maskimage = (unsigned char*) malloc( width * height ) ; clipRgn = NewRgn() ;
SetGWorld( mask , NULL ) ;
LockPixels( GetGWorldPixMap( mask ) ) ; LockPixels( GetGWorldPixMap( mask ) ) ;
for ( int y = 0 ; y < height ; y++ ) BitMapToRegion( clipRgn , (BitMap*) *GetGWorldPixMap( mask ) ) ;
{
for( int x = 0 ; x < width ; x++ )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
maskimage[y*width + x] = ( col.red == 0 ) ; // for monochrome masks
}
}
UnlockPixels( GetGWorldPixMap( mask ) ) ; UnlockPixels( GetGWorldPixMap( mask ) ) ;
} }
SetGWorld( wp , NULL ) ; SetGWorld( wp , NULL ) ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
pict = OpenPicture(&portRect); // open a picture, this disables drawing pict = OpenPicture(&portRect);
if(!pict) if(pict)
return NULL;
if ( maskimage )
{ {
RGBForeColor( &black ) ; RGBForeColor( &black ) ;
RGBBackColor( &white ) ; RGBBackColor( &white ) ;
PenMode(transparent);
for ( int y = 0 ; y < height ; ++y ) LockPixels( GetGWorldPixMap( wp ) ) ;
{ CopyBits(GetPortBitMapForCopyBits(wp),
for( int x = 0 ; x < width ; ++x ) GetPortBitMapForCopyBits(wp),
{ &portRect,
if ( maskimage[y*width + x] ) &portRect,
{ srcCopy,clipRgn);
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
SetCPixel( x + portRect.left , y + portRect.top , &col ) ;
}
else {
// With transparency set this sets a blank pixel not a white one
SetCPixel( x + portRect.left , y + portRect.top , &white);
}
}
}
free( maskimage ) ;
maskimage = NULL ;
}
else
{
RGBBackColor( &gray ) ;
EraseRect(&portRect);
RGBForeColor( &black ) ;
RGBBackColor( &white ) ;
CopyBits(GetPortBitMapForCopyBits(wp), /* src PixMap - we copy image over
* itself - */
GetPortBitMapForCopyBits(wp), // dst PixMap - no drawing occurs
&portRect, // srcRect - it will be recorded and compressed -
&portRect, // dstRect - into the picture that is open -
srcCopy,NULL); // copyMode and no clip region
}
ClosePicture(); // We are done recording the picture
UnlockPixels( GetGWorldPixMap( wp ) ) ; UnlockPixels( GetGWorldPixMap( wp ) ) ;
ClosePicture();
}
SetGWorld( origPort , origDev ) ; SetGWorld( origPort , origDev ) ;
return pict;
return pict; // return our groovy pict handle
} }
wxBitmapRefData::wxBitmapRefData() wxBitmapRefData::wxBitmapRefData()

View File

@ -21,8 +21,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
#endif #endif
#include "wx/mac/uma.h" #include "wx/mac/uma.h"
#include "wx/bitmap.h"
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask ) ;
bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
const wxPoint& pos, const wxPoint& pos,
@ -58,7 +57,7 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 ,
kControlBehaviorOffsetContents + kControlBehaviorOffsetContents +
( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0, ( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0,
(( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ; (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ;
@ -75,14 +74,17 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
info.contentType = kControlContentPictHandle ;
if ( m_buttonBitmap.GetMask() ) if ( m_buttonBitmap.GetMask() )
{ {
info.u.picture = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
info.u.picture = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeIcon ) else if ( bmap->m_bitmapType == kMacBitmapTypeIcon )
@ -92,7 +94,7 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
} }
} }
UMASetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ; ::SetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
MacPostControlCreate() ; MacPostControlCreate() ;
@ -107,21 +109,23 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
if ( m_buttonBitmap.Ok() ) if ( m_buttonBitmap.Ok() )
{ {
wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_buttonBitmap.GetRefData()) ; wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_buttonBitmap.GetRefData()) ;
if ( bmap->m_bitmapType == kMacBitmapTypePict ) if ( bmap->m_bitmapType == kMacBitmapTypePict ) {
{
info.contentType = kControlContentPictHandle ; info.contentType = kControlContentPictHandle ;
info.u.picture = bmap->m_hPict ; info.u.picture = bmap->m_hPict ;
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
info.contentType = kControlContentPictHandle ;
if ( m_buttonBitmap.GetMask() ) if ( m_buttonBitmap.GetMask() )
{ {
info.u.picture = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
info.u.picture = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
else if ( bmap->m_bitmapType == kMacBitmapTypeIcon ) else if ( bmap->m_bitmapType == kMacBitmapTypeIcon )
@ -130,7 +134,8 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
info.u.cIconHandle = bmap->m_hIcon ; info.u.cIconHandle = bmap->m_hIcon ;
} }
UMASetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
::SetControlData( m_macControl , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
} }
} }

View File

@ -37,7 +37,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlPushButtonProc , (long) this ) ; kControlPushButtonProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;
@ -58,32 +58,19 @@ void wxButton::SetDefault()
panel->SetDefaultItem(this); panel->SetDefaultItem(this);
} }
#ifdef __DARWIN__
Boolean inData; Boolean inData;
if ( btnOldDefault && btnOldDefault->m_macControl ) if ( btnOldDefault && btnOldDefault->m_macControl )
{ {
inData = 0; inData = 0;
UMASetControlData( btnOldDefault->m_macControl , kControlButtonPart , ::SetControlData( btnOldDefault->m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ; kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ;
} }
if ( m_macControl ) if ( m_macControl )
{ {
inData = 1; inData = 1;
UMASetControlData( m_macControl , kControlButtonPart , ::SetControlData( m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ; kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)(&inData) ) ;
} }
#else
if ( btnOldDefault && btnOldDefault->m_macControl )
{
UMASetControlData( btnOldDefault->m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)((Boolean)0) ) ;
}
if ( m_macControl )
{
UMASetControlData( m_macControl , kControlButtonPart ,
kControlPushButtonDefaultTag , sizeof( Boolean ) , (char*)((Boolean)1) ) ;
}
#endif
} }
wxSize wxButton::DoGetBestSize() const wxSize wxButton::DoGetBestSize() const

View File

@ -36,7 +36,7 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlCheckBoxProc , (long) this ) ; kControlCheckBoxProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -45,7 +45,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 ,
kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ; kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ;
m_macPopUpMenuHandle = NewUniqueMenu() ; m_macPopUpMenuHandle = NewUniqueMenu() ;

View File

@ -47,7 +47,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0,
kControlPopupButtonProc , (long) this ) ; kControlPopupButtonProc , (long) this ) ;
m_macPopUpMenuHandle = NewUniqueMenu() ; m_macPopUpMenuHandle = NewUniqueMenu() ;

View File

@ -111,7 +111,7 @@ wxControl::~wxControl()
} }
if ( m_macControl ) if ( m_macControl )
{ {
UMADisposeControl( m_macControl ) ; ::DisposeControl( m_macControl ) ;
m_macControl = NULL ; m_macControl = NULL ;
} }
} }
@ -146,7 +146,7 @@ wxSize wxControl::DoGetBestSize() const
Rect bestsize = { 0 , 0 , 0 , 0 } ; Rect bestsize = { 0 , 0 , 0 , 0 } ;
short baselineoffset ; short baselineoffset ;
int bestWidth, bestHeight ; int bestWidth, bestHeight ;
UMAGetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ; ::GetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ;
if ( EmptyRect( &bestsize ) ) if ( EmptyRect( &bestsize ) )
{ {
@ -297,7 +297,7 @@ void wxControl::MacPostControlCreate()
controlstyle.flags = kControlUseFontMask ; controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallBoldSystemFont ; controlstyle.font = kControlFontSmallBoldSystemFont ;
::UMASetControlFontStyle( m_macControl , &controlstyle ) ; ::SetControlFontStyle( m_macControl , &controlstyle ) ;
} }
else else
{ {
@ -305,11 +305,11 @@ void wxControl::MacPostControlCreate()
controlstyle.flags = kControlUseFontMask ; controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallSystemFont ; controlstyle.font = kControlFontSmallSystemFont ;
::UMASetControlFontStyle( m_macControl , &controlstyle ) ; ::SetControlFontStyle( m_macControl , &controlstyle ) ;
} }
ControlHandle container = GetParent()->MacGetContainerForEmbedding() ; ControlHandle container = GetParent()->MacGetContainerForEmbedding() ;
wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ; wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ;
::UMAEmbedControl( m_macControl , container ) ; ::EmbedControl( m_macControl , container ) ;
m_macControlIsShown = true ; m_macControlIsShown = true ;
wxAssociateControlWithMacControl( m_macControl , this ) ; wxAssociateControlWithMacControl( m_macControl , this ) ;
@ -342,7 +342,7 @@ void wxControl::MacAdjustControlRect()
Rect bestsize = { 0 , 0 , 0 , 0 } ; Rect bestsize = { 0 , 0 , 0 , 0 } ;
short baselineoffset ; short baselineoffset ;
UMAGetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ; ::GetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ;
if ( EmptyRect( &bestsize ) ) if ( EmptyRect( &bestsize ) )
{ {
@ -415,7 +415,7 @@ void wxControl::MacSuperChangedPosition()
WindowRef rootwindow = GetMacRootWindow() ; WindowRef rootwindow = GetMacRootWindow() ;
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
wxMacDrawingHelper focus( wxrootwindow ) ; wxMacDrawingHelper focus( wxrootwindow ) ;
if ( mac_x != former_mac_x || mac_y != former_mac_y ) if ( mac_x != former_mac_x || mac_y != former_mac_y )
@ -435,7 +435,7 @@ void wxControl::MacSuperChangedPosition()
} }
else else
{ {
UMASetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ;
} }
} }
@ -484,7 +484,7 @@ void wxControl::MacSuperShown( bool show )
{ {
if ( m_macControlIsShown ) if ( m_macControlIsShown )
{ {
::UMAHideControl( m_macControl ) ; ::HideControl( m_macControl ) ;
m_macControlIsShown = false ; m_macControlIsShown = false ;
} }
} }
@ -619,7 +619,7 @@ void wxControl::DoSetSize(int x, int y,
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
wxMacDrawingHelper focus( wxrootwindow ); wxMacDrawingHelper focus( wxrootwindow );
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
// Update window at old and new positions // Update window at old and new positions
SetRect(&newbounds, m_x, m_y, m_x + m_width, m_y + m_height); SetRect(&newbounds, m_x, m_y, m_x + m_width, m_y + m_height);
InvalWindowRect( rootwindow , &oldbounds ); InvalWindowRect( rootwindow , &oldbounds );
@ -629,7 +629,7 @@ void wxControl::DoSetSize(int x, int y,
if ( !wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) ) if ( !wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) )
{ {
UMASetThemeWindowBackground( rootwindow, kThemeBrushDocumentWindowBackground, false ); ::SetThemeWindowBackground( rootwindow, kThemeBrushDocumentWindowBackground, false );
} }
} }
} }
@ -645,7 +645,7 @@ bool wxControl::Show(bool show)
{ {
if ( m_macControlIsShown ) if ( m_macControlIsShown )
{ {
::UMAHideControl( m_macControl ) ; ::HideControl( m_macControl ) ;
m_macControlIsShown = false ; m_macControlIsShown = false ;
} }
} }
@ -707,7 +707,7 @@ void wxControl::MacRedrawControl()
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -722,7 +722,7 @@ void wxControl::MacRedrawControl()
} }
UMADrawControl( m_macControl ) ; UMADrawControl( m_macControl ) ;
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
} }
@ -747,7 +747,7 @@ void wxControl::OnPaint(wxPaintEvent& event)
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -762,7 +762,7 @@ void wxControl::OnPaint(wxPaintEvent& event)
} }
UMADrawControl( m_macControl ) ; UMADrawControl( m_macControl ) ;
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
} }
@ -791,7 +791,7 @@ void wxControl::OnKeyDown( wxKeyEvent &event )
keychar = short(ev->message & charCodeMask); keychar = short(ev->message & charCodeMask);
keycode = short(ev->message & keyCodeMask) >> 8 ; keycode = short(ev->message & keyCodeMask) >> 8 ;
UMAHandleControlKey( m_macControl , keycode , keychar , ev->modifiers ) ; ::HandleControlKey( m_macControl , keycode , keychar , ev->modifiers ) ;
} }
void wxControl::OnMouseEvent( wxMouseEvent &event ) void wxControl::OnMouseEvent( wxMouseEvent &event )
@ -848,13 +848,13 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
SetFocus() ; SetFocus() ;
} }
*/ */
if ( control && UMAIsControlActive( control ) ) if ( control && ::IsControlActive( control ) )
{ {
{ {
if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() ) if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() )
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ;
else else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ; wxTheApp->s_lastMouseDown = 0 ;
if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) ) if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice && (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice

View File

@ -93,7 +93,7 @@ NavEventProc(
} }
} }
char * gfilters[] = const char * gfilters[] =
{ {
"*.TXT" , "*.TXT" ,
"*.TIF" , "*.TIF" ,

View File

@ -41,7 +41,7 @@ bool wxGauge::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style & 0xE0FFFFFF /* no borders on mac */ , validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style & 0xE0FFFFFF /* no borders on mac */ , validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , range, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , range,
kControlProgressBarProc , (long) this ) ; kControlProgressBarProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -99,10 +99,10 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id,
#else #else
long result ; long result ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false ,
kwxMacListWithVerticalScrollbar , 0 , 0, kwxMacListWithVerticalScrollbar , 0 , 0,
kControlListBoxProc , (long) this ) ; kControlListBoxProc , (long) this ) ;
UMAGetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag ,
sizeof( ListHandle ) , (char*) &m_macList , &result ) ; sizeof( ListHandle ) , (char*) &m_macList , &result ) ;
HLock( (Handle) m_macList ) ; HLock( (Handle) m_macList ) ;
@ -664,7 +664,7 @@ void wxListBox::MacHandleControlClick( ControlHandle control , SInt16 controlpar
Boolean wasDoubleClick = false ; Boolean wasDoubleClick = false ;
long result ; long result ;
UMAGetControlData( m_macControl , kControlNoPart , kControlListBoxDoubleClickTag , sizeof( wasDoubleClick ) , (char*) &wasDoubleClick , &result ) ; ::GetControlData( m_macControl , kControlNoPart , kControlListBoxDoubleClickTag , sizeof( wasDoubleClick ) , (char*) &wasDoubleClick , &result ) ;
if ( !wasDoubleClick ) if ( !wasDoubleClick )
{ {
MacDoClick() ; MacDoClick() ;

View File

@ -71,7 +71,7 @@ void wxMenu::Init()
wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false ); wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false );
m_macMenuId = s_macNextMenuId++; m_macMenuId = s_macNextMenuId++;
wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" ); wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" );
m_hMenu = UMANewMenu(m_macMenuId, label); m_hMenu = ::NewMenu(m_macMenuId, label);
if ( !m_hMenu ) if ( !m_hMenu )
{ {
@ -89,7 +89,7 @@ void wxMenu::Init()
wxMenu::~wxMenu() wxMenu::~wxMenu()
{ {
if (m_hMenu) if (m_hMenu)
UMADisposeMenu(m_hMenu); ::DisposeMenu(m_hMenu);
#if wxUSE_ACCEL #if wxUSE_ACCEL
// delete accels // delete accels
@ -183,7 +183,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
if (wxMenuBar::MacGetInstalledMenuBar() == m_menuBar) if (wxMenuBar::MacGetInstalledMenuBar() == m_menuBar)
{ {
UMAInsertMenu( pSubMenu->m_hMenu , -1 ) ; ::InsertMenu( pSubMenu->m_hMenu , -1 ) ;
} }
if ( pos == (size_t)-1 ) if ( pos == (size_t)-1 )
@ -683,7 +683,7 @@ void wxMenuBar::MacInstallMenuBar()
} }
if ( item->GetId() == wxApp::s_macAboutMenuItemId ) if ( item->GetId() == wxApp::s_macAboutMenuItemId )
{ {
UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label ); ::SetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label );
UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 ); UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 );
} }
else else
@ -707,7 +707,7 @@ void wxMenuBar::MacInstallMenuBar()
subMenu = item->GetSubMenu() ; subMenu = item->GetSubMenu() ;
if (subMenu) if (subMenu)
{ {
UMAInsertMenu( subMenu->GetHMenu() , -1 ) ; ::InsertMenu( subMenu->GetHMenu() , -1 ) ;
} }
else else
{ {
@ -717,12 +717,12 @@ void wxMenuBar::MacInstallMenuBar()
UInt8 modifiers ; UInt8 modifiers ;
SInt16 key ; SInt16 key ;
wxMenuItem::MacBuildMenuString( label, &key , &modifiers , item->GetText(), item->GetId() != wxApp::s_macAboutMenuItemId); // no shortcut in about menu wxMenuItem::MacBuildMenuString( label, &key , &modifiers , item->GetText(), item->GetId() != wxApp::s_macAboutMenuItemId); // no shortcut in about menu
UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label ); ::SetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label );
UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 ); UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 );
} }
} }
} }
UMAInsertMenu(m_menus[i]->GetHMenu(), 0); ::InsertMenu(m_menus[i]->GetHMenu(), 0);
} }
#endif #endif
else else
@ -735,13 +735,13 @@ void wxMenuBar::MacInstallMenuBar()
subMenu = item->GetSubMenu() ; subMenu = item->GetSubMenu() ;
if (subMenu) if (subMenu)
{ {
UMAInsertMenu( subMenu->GetHMenu() , -1 ) ; ::InsertMenu( subMenu->GetHMenu() , -1 ) ;
} }
} }
UMAInsertMenu(m_menus[i]->GetHMenu(), 0); ::InsertMenu(m_menus[i]->GetHMenu(), 0);
} }
} }
UMADrawMenuBar() ; ::DrawMenuBar() ;
s_macInstalledMenuBar = this; s_macInstalledMenuBar = this;
} }
@ -816,18 +816,18 @@ wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
{ {
if (s_macInstalledMenuBar == this) if (s_macInstalledMenuBar == this)
{ {
UMADeleteMenu( menuOld->MacGetMenuId() /* m_menus[pos]->MacGetMenuId() */ ) ; ::DeleteMenu( menuOld->MacGetMenuId() /* m_menus[pos]->MacGetMenuId() */ ) ;
{ {
Str255 label; Str255 label;
wxMenuItem::MacBuildMenuString( label, NULL , NULL , title , false ); wxMenuItem::MacBuildMenuString( label, NULL , NULL , title , false );
UMASetMenuTitle( menu->GetHMenu() , label ) ; UMASetMenuTitle( menu->GetHMenu() , label ) ;
if ( pos == m_menus.GetCount() - 1) if ( pos == m_menus.GetCount() - 1)
{ {
UMAInsertMenu( menu->GetHMenu() , 0 ) ; ::InsertMenu( menu->GetHMenu() , 0 ) ;
} }
else else
{ {
UMAInsertMenu( menu->GetHMenu() , m_menus[pos+1]->MacGetMenuId() ) ; ::InsertMenu( menu->GetHMenu() , m_menus[pos+1]->MacGetMenuId() ) ;
} }
} }
} }

View File

@ -319,7 +319,7 @@ void wxMenuItem::SetText(const wxString& text)
{ {
Str255 label; Str255 label;
MacBuildMenuString( label , NULL , NULL , text ,false); MacBuildMenuString( label , NULL , NULL , text ,false);
UMASetMenuItemText( m_parentMenu->GetHMenu() , index , label ) ; // checkmark ::SetMenuItemText( m_parentMenu->GetHMenu() , index , label ) ; // checkmark
} }
} }

View File

@ -115,7 +115,7 @@ bool wxNotebook::Create(wxWindow *parent,
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlTabSmallProc , (long) this ) ; kControlTabSmallProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -117,7 +117,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, val , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, val , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlGroupBoxTextTitleProc , (long) this ) ; kControlGroupBoxTextTitleProc , (long) this ) ;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)

View File

@ -35,7 +35,7 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlRadioButtonProc , (long) this ) ; kControlRadioButtonProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -43,7 +43,7 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , 0 , 100, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , 0 , 100,
kControlScrollBarLiveProc , (long) this ) ; kControlScrollBarLiveProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -84,7 +84,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
} }
m_macControl = UMANewControl( parent->GetMacRootWindow(), &bounds, title, false, m_macControl = ::NewControl( parent->GetMacRootWindow(), &bounds, title, false,
value, minValue, maxValue, procID, (long) this); value, minValue, maxValue, procID, (long) this);
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -49,7 +49,7 @@ bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, c
MacPreControlCreate( parent , id , "" , pos , size ,style,*( (wxValidator*) NULL ) , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style,*( (wxValidator*) NULL ) , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 100, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 100,
kControlLittleArrowsProc , (long) this ) ; kControlLittleArrowsProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -43,7 +43,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , label , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlGroupBoxTextTitleProc , (long) this ) ; kControlGroupBoxTextTitleProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -54,7 +54,7 @@ bool wxStaticLine::Create( wxWindow *parent,
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlSeparatorLineProc , (long) this ) ; kControlSeparatorLineProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -41,7 +41,7 @@ bool wxTabCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, cons
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlTabSmallProc , (long) this ) ; kControlTabSmallProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "wx/notebook.h" #include "wx/notebook.h"
#include "wx/tabctrl.h" #include "wx/tabctrl.h"
#include "wx/bitmap.h"
#if !USE_SHARED_LIBRARY #if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase) IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase)
@ -160,90 +161,6 @@ wxToolBar::~wxToolBar()
// is not - otherwise toolbar leaves a hole in the place it used to occupy // is not - otherwise toolbar leaves a hole in the place it used to occupy
} }
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask ) ;
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask )
{
CGrafPtr origPort ;
GDHandle origDev ;
PicHandle pict; // this is the Picture we give back
RGBColor gray = { 0xCCCC ,0xCCCC , 0xCCCC } ;
RGBColor white = { 0xffff ,0xffff , 0xffff } ;
RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ;
unsigned char *maskimage = NULL ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
int width = portRect.right - portRect.left ;
int height = portRect.bottom - portRect.top ;
LockPixels( GetGWorldPixMap( wp ) ) ;
GetGWorld( &origPort , &origDev ) ;
if ( mask )
{
maskimage = (unsigned char*) malloc( width * height ) ;
SetGWorld( mask , NULL ) ;
LockPixels( GetGWorldPixMap( mask ) ) ;
for ( int y = 0 ; y < height ; ++y )
{
for( int x = 0 ; x < width ; ++x )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
maskimage[y*width + x] = ( col.red == 0 ) ; // for monochrome masks
}
}
UnlockPixels( GetGWorldPixMap( mask ) ) ;
}
SetGWorld( wp , NULL ) ;
pict = OpenPicture(&portRect); // open a picture, this disables drawing
if(!pict)
return NULL;
RGBBackColor( &gray ) ;
RGBForeColor( &black ) ;
EraseRect(&portRect) ;
RGBBackColor( &white ) ;
if ( maskimage )
{
for ( int y = 0 ; y < height ; ++y )
{
for( int x = 0 ; x < width ; ++x )
{
if ( maskimage[y*width + x] )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
SetCPixel( x + portRect.left , y + portRect.top , &col ) ;
}
}
}
free( maskimage ) ;
maskimage = NULL ;
}
else
{
CopyBits(GetPortBitMapForCopyBits(wp), // src PixMap - we copy image over itself -
GetPortBitMapForCopyBits(wp), // dst PixMap - no drawing occurs -
&portRect, // srcRect - it will be recorded and compressed -
&portRect, // dstRect - into the picture that is open -
srcCopy,NULL); // copyMode and no clip region
}
ClosePicture(); // We are done recording the picture
UnlockPixels( GetGWorldPixMap( wp ) ) ;
SetGWorld( origPort , origDev ) ;
return pict; // return our groovy pict handle
}
bool wxToolBar::Realize() bool wxToolBar::Realize()
{ {
if (m_tools.Number() == 0) if (m_tools.Number() == 0)
@ -284,20 +201,27 @@ bool wxToolBar::Realize()
toolrect.right = toolrect.left + toolSize.x ; toolrect.right = toolrect.left + toolSize.x ;
toolrect.bottom = toolrect.top + toolSize.y ; toolrect.bottom = toolrect.top + toolSize.y ;
PicHandle icon = NULL ; ControlButtonContentInfo info ;
if ( bmap ) if ( bmap )
{ {
if ( bmap->m_bitmapType == kMacBitmapTypePict ) if ( bmap->m_bitmapType == kMacBitmapTypePict )
icon = bmap->m_hPict ; {
info.contentType = kControlContentPictHandle ;
info.u.picture = bmap->m_hPict ;
}
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
if ( tool->GetBitmap1().GetMask() ) if ( tool->GetBitmap1().GetMask() )
{ {
icon = MakePict( bmap->m_hBitmap , tool->GetBitmap1().GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , tool->GetBitmap1().GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
icon = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
} }
@ -308,20 +232,16 @@ bool wxToolBar::Realize()
if ( tool->CanBeToggled() ) if ( tool->CanBeToggled() )
behaviour += kControlBehaviorToggles ; behaviour += kControlBehaviorToggles ;
if ( icon ) if ( info.u.cIconHandle ) // since it is a handle we can use one of them
{ {
m_macToolHandle = UMANewControl( window , &toolrect , "\p" , false , 0 , m_macToolHandle = ::NewControl( window , &toolrect , "\p" , false , 0 ,
behaviour + kControlContentPictHandle , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ; behaviour + info.contentType , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ;
ControlButtonContentInfo info ;
info.contentType = kControlContentPictHandle ; ::SetControlData( m_macToolHandle , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
info.u.picture = icon ;
UMASetControlData( m_macToolHandle , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
} }
else else
{ {
m_macToolHandle = UMANewControl( window , &toolrect , "\p" , false , 0 , m_macToolHandle = ::NewControl( window , &toolrect , "\p" , false , 0 ,
behaviour , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ; behaviour , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ;
} }
UMAShowControl( m_macToolHandle ) ; UMAShowControl( m_macToolHandle ) ;
@ -335,10 +255,16 @@ bool wxToolBar::Realize()
{ {
::SetControlValue( m_macToolHandle , 1 ) ; ::SetControlValue( m_macToolHandle , 1 ) ;
} }
UMASetControlFontStyle( m_macToolHandle , &controlstyle ) ; else
{
::SetControlValue( m_macToolHandle , 0 ) ;
}
/*
::SetControlFontStyle( m_macToolHandle , &controlstyle ) ;
*/
ControlHandle container = GetParent()->MacGetContainerForEmbedding() ; ControlHandle container = GetParent()->MacGetContainerForEmbedding() ;
wxASSERT_MSG( container != NULL , "No valid mac container control" ) ; wxASSERT_MSG( container != NULL , "No valid mac container control" ) ;
UMAEmbedControl( m_macToolHandle , container ) ; ::EmbedControl( m_macToolHandle , container ) ;
x += (int)toolSize.x; x += (int)toolSize.x;
noButtons ++; noButtons ++;
@ -458,7 +384,7 @@ void wxToolBar::MacSuperChangedPosition()
{ {
WindowRef rootwindow = GetMacRootWindow() ; WindowRef rootwindow = GetMacRootWindow() ;
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
wxMacDrawingHelper focus( wxrootwindow ) ; wxMacDrawingHelper focus( wxrootwindow ) ;
while (node) while (node)
{ {
@ -515,7 +441,7 @@ void wxToolBar::MacSuperChangedPosition()
} }
else else
{ {
UMASetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ;
} }
} }
@ -647,7 +573,7 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -675,7 +601,7 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
} }
} }
} }
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
@ -718,13 +644,13 @@ void wxToolBar::OnMouse( wxMouseEvent &event )
controlpart = FindControl( localwhere , window , &control ) ; controlpart = FindControl( localwhere , window , &control ) ;
{ {
if ( control && UMAIsControlActive( control ) ) if ( control && ::IsControlActive( control ) )
{ {
{ {
if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() ) if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() )
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ;
else else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ; wxTheApp->s_lastMouseDown = 0 ;
if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) ) if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice && (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice

View File

@ -271,12 +271,12 @@ void wxMacToolTip::Draw()
NULL); NULL);
ClosePicture(); ClosePicture();
RGBColor yellow = { 0xFFFF , 0xFFFF , (153<<8)+153 } ; PenNormal() ;
RGBBackColor( &yellow ) ; SetThemeBackground(kThemeBrushNotificationWindowBackground,32,true) ;
EraseRect( &m_rect ) ; BackColor( yellowColor ) ;
ForeColor(magentaColor ) ;
// EraseRect( &m_rect ) ;
FrameRect( &m_rect ) ; FrameRect( &m_rect ) ;
BackColor( whiteColor ) ;
ForeColor(blackColor ) ;
::MoveTo( m_rect.left + kTipBorder , m_rect.top + fontInfo.ascent + kTipBorder); ::MoveTo( m_rect.left + kTipBorder , m_rect.top + fontInfo.ascent + kTipBorder);
i = 0 ; i = 0 ;

File diff suppressed because it is too large Load Diff

View File

@ -774,8 +774,8 @@ bool wxWindowMac::Show(bool show)
{ {
if (show) if (show)
{ {
UMAShowWindow( m_macWindowData->m_macWindow ) ; ::ShowWindow( m_macWindowData->m_macWindow ) ;
UMASelectWindow( m_macWindowData->m_macWindow ) ; ::SelectWindow( m_macWindowData->m_macWindow ) ;
// no need to generate events here, they will get them triggered by macos // no need to generate events here, they will get them triggered by macos
// actually they should be , but apparently they are not // actually they should be , but apparently they are not
wxSize size(m_width, m_height); wxSize size(m_width, m_height);
@ -785,7 +785,7 @@ bool wxWindowMac::Show(bool show)
} }
else else
{ {
UMAHideWindow( m_macWindowData->m_macWindow ) ; ::HideWindow( m_macWindowData->m_macWindow ) ;
} }
} }
MacSuperShown( show ) ; MacSuperShown( show ) ;
@ -1179,7 +1179,7 @@ void wxWindowMac::MacCreateRealWindow( const wxString& title,
attr |= kWindowCloseBoxAttribute ; attr |= kWindowCloseBoxAttribute ;
} }
UMACreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ; ::CreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ;
wxAssociateWinWithMacWindow( m_macWindowData->m_macWindow , this ) ; wxAssociateWinWithMacWindow( m_macWindowData->m_macWindow , this ) ;
wxString label ; wxString label ;
if( wxApp::s_macDefaultEncodingIsPC ) if( wxApp::s_macDefaultEncodingIsPC )
@ -1187,7 +1187,7 @@ void wxWindowMac::MacCreateRealWindow( const wxString& title,
else else
label = title ; label = title ;
UMASetWTitleC( m_macWindowData->m_macWindow , label ) ; UMASetWTitleC( m_macWindowData->m_macWindow , label ) ;
UMACreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ; ::CreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ;
m_macWindowData->m_macFocus = NULL ; m_macWindowData->m_macFocus = NULL ;
m_macWindowData->m_macHasReceivedFirstActivate = true ; m_macWindowData->m_macHasReceivedFirstActivate = true ;
@ -1496,7 +1496,7 @@ void wxWindowMac::Clear()
int w ,h ; int w ,h ;
wxPoint origin = GetClientAreaOrigin() ; wxPoint origin = GetClientAreaOrigin() ;
GetClientSize( &w , &h ) ; GetClientSize( &w , &h ) ;
UMASetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ;
Rect r = { origin.y , origin.x, origin.y+h , origin.x+w } ; Rect r = { origin.y , origin.x, origin.y+h , origin.x+w } ;
EraseRect( &r ) ; EraseRect( &r ) ;
} }
@ -1543,7 +1543,7 @@ void wxWindowMac::Raise()
{ {
if ( m_macWindowData ) if ( m_macWindowData )
{ {
UMABringToFront( m_macWindowData->m_macWindow ) ; ::BringToFront( m_macWindowData->m_macWindow ) ;
} }
} }
@ -1552,7 +1552,7 @@ void wxWindowMac::Lower()
{ {
if ( m_macWindowData ) if ( m_macWindowData )
{ {
UMASendBehind( m_macWindowData->m_macWindow , NULL ) ; ::SendBehind( m_macWindowData->m_macWindow , NULL ) ;
} }
} }
@ -1848,7 +1848,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
eraseBackground = true ; eraseBackground = true ;
if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE) ) if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE) )
{ {
UMASetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ;
} }
else if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE ) ) else if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE ) )
{ {
@ -1880,7 +1880,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
{ {
Rect box ; Rect box ;
GetRegionBounds( updatergn , &box) ; GetRegionBounds( updatergn , &box) ;
UMAApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true); ::ApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true);
break ; break ;
} }
} }
@ -1894,7 +1894,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
if ( !parent ) if ( !parent )
{ {
// if there is nothing special -> use default // if there is nothing special -> use default
UMASetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ;
} }
} }
else else
@ -2233,7 +2233,7 @@ bool wxWindowMac::MacSetPortDrawingParams( const Point & localOrigin, const Rect
Pattern whiteColor ; Pattern whiteColor ;
::BackPat( GetQDGlobalsWhite( &whiteColor) ) ; ::BackPat( GetQDGlobalsWhite( &whiteColor) ) ;
::UMASetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ;
return true; return true;
} }

View File

@ -36,7 +36,7 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlCheckBoxProc , (long) this ) ; kControlCheckBoxProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -45,7 +45,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0 ,
kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ; kControlPopupButtonProc + kControlPopupFixedWidthVariant , (long) this ) ;
m_macPopUpMenuHandle = NewUniqueMenu() ; m_macPopUpMenuHandle = NewUniqueMenu() ;

View File

@ -47,7 +47,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , -12345 , 0,
kControlPopupButtonProc , (long) this ) ; kControlPopupButtonProc , (long) this ) ;
m_macPopUpMenuHandle = NewUniqueMenu() ; m_macPopUpMenuHandle = NewUniqueMenu() ;

View File

@ -111,7 +111,7 @@ wxControl::~wxControl()
} }
if ( m_macControl ) if ( m_macControl )
{ {
UMADisposeControl( m_macControl ) ; ::DisposeControl( m_macControl ) ;
m_macControl = NULL ; m_macControl = NULL ;
} }
} }
@ -146,7 +146,7 @@ wxSize wxControl::DoGetBestSize() const
Rect bestsize = { 0 , 0 , 0 , 0 } ; Rect bestsize = { 0 , 0 , 0 , 0 } ;
short baselineoffset ; short baselineoffset ;
int bestWidth, bestHeight ; int bestWidth, bestHeight ;
UMAGetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ; ::GetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ;
if ( EmptyRect( &bestsize ) ) if ( EmptyRect( &bestsize ) )
{ {
@ -297,7 +297,7 @@ void wxControl::MacPostControlCreate()
controlstyle.flags = kControlUseFontMask ; controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallBoldSystemFont ; controlstyle.font = kControlFontSmallBoldSystemFont ;
::UMASetControlFontStyle( m_macControl , &controlstyle ) ; ::SetControlFontStyle( m_macControl , &controlstyle ) ;
} }
else else
{ {
@ -305,11 +305,11 @@ void wxControl::MacPostControlCreate()
controlstyle.flags = kControlUseFontMask ; controlstyle.flags = kControlUseFontMask ;
controlstyle.font = kControlFontSmallSystemFont ; controlstyle.font = kControlFontSmallSystemFont ;
::UMASetControlFontStyle( m_macControl , &controlstyle ) ; ::SetControlFontStyle( m_macControl , &controlstyle ) ;
} }
ControlHandle container = GetParent()->MacGetContainerForEmbedding() ; ControlHandle container = GetParent()->MacGetContainerForEmbedding() ;
wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ; wxASSERT_MSG( container != NULL , wxT("No valid mac container control") ) ;
::UMAEmbedControl( m_macControl , container ) ; ::EmbedControl( m_macControl , container ) ;
m_macControlIsShown = true ; m_macControlIsShown = true ;
wxAssociateControlWithMacControl( m_macControl , this ) ; wxAssociateControlWithMacControl( m_macControl , this ) ;
@ -342,7 +342,7 @@ void wxControl::MacAdjustControlRect()
Rect bestsize = { 0 , 0 , 0 , 0 } ; Rect bestsize = { 0 , 0 , 0 , 0 } ;
short baselineoffset ; short baselineoffset ;
UMAGetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ; ::GetBestControlRect( m_macControl , &bestsize , &baselineoffset ) ;
if ( EmptyRect( &bestsize ) ) if ( EmptyRect( &bestsize ) )
{ {
@ -415,7 +415,7 @@ void wxControl::MacSuperChangedPosition()
WindowRef rootwindow = GetMacRootWindow() ; WindowRef rootwindow = GetMacRootWindow() ;
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
wxMacDrawingHelper focus( wxrootwindow ) ; wxMacDrawingHelper focus( wxrootwindow ) ;
if ( mac_x != former_mac_x || mac_y != former_mac_y ) if ( mac_x != former_mac_x || mac_y != former_mac_y )
@ -435,7 +435,7 @@ void wxControl::MacSuperChangedPosition()
} }
else else
{ {
UMASetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ;
} }
} }
@ -484,7 +484,7 @@ void wxControl::MacSuperShown( bool show )
{ {
if ( m_macControlIsShown ) if ( m_macControlIsShown )
{ {
::UMAHideControl( m_macControl ) ; ::HideControl( m_macControl ) ;
m_macControlIsShown = false ; m_macControlIsShown = false ;
} }
} }
@ -619,7 +619,7 @@ void wxControl::DoSetSize(int x, int y,
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
wxMacDrawingHelper focus( wxrootwindow ); wxMacDrawingHelper focus( wxrootwindow );
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
// Update window at old and new positions // Update window at old and new positions
SetRect(&newbounds, m_x, m_y, m_x + m_width, m_y + m_height); SetRect(&newbounds, m_x, m_y, m_x + m_width, m_y + m_height);
InvalWindowRect( rootwindow , &oldbounds ); InvalWindowRect( rootwindow , &oldbounds );
@ -629,7 +629,7 @@ void wxControl::DoSetSize(int x, int y,
if ( !wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) ) if ( !wxrootwindow->IsKindOf( CLASSINFO( wxDialog ) ) )
{ {
UMASetThemeWindowBackground( rootwindow, kThemeBrushDocumentWindowBackground, false ); ::SetThemeWindowBackground( rootwindow, kThemeBrushDocumentWindowBackground, false );
} }
} }
} }
@ -645,7 +645,7 @@ bool wxControl::Show(bool show)
{ {
if ( m_macControlIsShown ) if ( m_macControlIsShown )
{ {
::UMAHideControl( m_macControl ) ; ::HideControl( m_macControl ) ;
m_macControlIsShown = false ; m_macControlIsShown = false ;
} }
} }
@ -707,7 +707,7 @@ void wxControl::MacRedrawControl()
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -722,7 +722,7 @@ void wxControl::MacRedrawControl()
} }
UMADrawControl( m_macControl ) ; UMADrawControl( m_macControl ) ;
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
} }
@ -747,7 +747,7 @@ void wxControl::OnPaint(wxPaintEvent& event)
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -762,7 +762,7 @@ void wxControl::OnPaint(wxPaintEvent& event)
} }
UMADrawControl( m_macControl ) ; UMADrawControl( m_macControl ) ;
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
} }
@ -791,7 +791,7 @@ void wxControl::OnKeyDown( wxKeyEvent &event )
keychar = short(ev->message & charCodeMask); keychar = short(ev->message & charCodeMask);
keycode = short(ev->message & keyCodeMask) >> 8 ; keycode = short(ev->message & keyCodeMask) >> 8 ;
UMAHandleControlKey( m_macControl , keycode , keychar , ev->modifiers ) ; ::HandleControlKey( m_macControl , keycode , keychar , ev->modifiers ) ;
} }
void wxControl::OnMouseEvent( wxMouseEvent &event ) void wxControl::OnMouseEvent( wxMouseEvent &event )
@ -848,13 +848,13 @@ void wxControl::OnMouseEvent( wxMouseEvent &event )
SetFocus() ; SetFocus() ;
} }
*/ */
if ( control && UMAIsControlActive( control ) ) if ( control && ::IsControlActive( control ) )
{ {
{ {
if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() ) if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() )
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ;
else else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ; wxTheApp->s_lastMouseDown = 0 ;
if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) ) if ( control && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice && (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice

View File

@ -93,7 +93,7 @@ NavEventProc(
} }
} }
char * gfilters[] = const char * gfilters[] =
{ {
"*.TXT" , "*.TXT" ,
"*.TIF" , "*.TIF" ,

View File

@ -41,7 +41,7 @@ bool wxGauge::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style & 0xE0FFFFFF /* no borders on mac */ , validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style & 0xE0FFFFFF /* no borders on mac */ , validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , range, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , range,
kControlProgressBarProc , (long) this ) ; kControlProgressBarProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

Binary file not shown.

View File

@ -99,10 +99,10 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id,
#else #else
long result ; long result ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false ,
kwxMacListWithVerticalScrollbar , 0 , 0, kwxMacListWithVerticalScrollbar , 0 , 0,
kControlListBoxProc , (long) this ) ; kControlListBoxProc , (long) this ) ;
UMAGetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag ,
sizeof( ListHandle ) , (char*) &m_macList , &result ) ; sizeof( ListHandle ) , (char*) &m_macList , &result ) ;
HLock( (Handle) m_macList ) ; HLock( (Handle) m_macList ) ;
@ -664,7 +664,7 @@ void wxListBox::MacHandleControlClick( ControlHandle control , SInt16 controlpar
Boolean wasDoubleClick = false ; Boolean wasDoubleClick = false ;
long result ; long result ;
UMAGetControlData( m_macControl , kControlNoPart , kControlListBoxDoubleClickTag , sizeof( wasDoubleClick ) , (char*) &wasDoubleClick , &result ) ; ::GetControlData( m_macControl , kControlNoPart , kControlListBoxDoubleClickTag , sizeof( wasDoubleClick ) , (char*) &wasDoubleClick , &result ) ;
if ( !wasDoubleClick ) if ( !wasDoubleClick )
{ {
MacDoClick() ; MacDoClick() ;

View File

@ -71,7 +71,7 @@ void wxMenu::Init()
wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false ); wxMenuItem::MacBuildMenuString( label, NULL , NULL , m_title , false );
m_macMenuId = s_macNextMenuId++; m_macMenuId = s_macNextMenuId++;
wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" ); wxCHECK_RET( s_macNextMenuId < 236 , "menu ids > 235 cannot be used for submenus on mac" );
m_hMenu = UMANewMenu(m_macMenuId, label); m_hMenu = ::NewMenu(m_macMenuId, label);
if ( !m_hMenu ) if ( !m_hMenu )
{ {
@ -89,7 +89,7 @@ void wxMenu::Init()
wxMenu::~wxMenu() wxMenu::~wxMenu()
{ {
if (m_hMenu) if (m_hMenu)
UMADisposeMenu(m_hMenu); ::DisposeMenu(m_hMenu);
#if wxUSE_ACCEL #if wxUSE_ACCEL
// delete accels // delete accels
@ -183,7 +183,7 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos)
if (wxMenuBar::MacGetInstalledMenuBar() == m_menuBar) if (wxMenuBar::MacGetInstalledMenuBar() == m_menuBar)
{ {
UMAInsertMenu( pSubMenu->m_hMenu , -1 ) ; ::InsertMenu( pSubMenu->m_hMenu , -1 ) ;
} }
if ( pos == (size_t)-1 ) if ( pos == (size_t)-1 )
@ -683,7 +683,7 @@ void wxMenuBar::MacInstallMenuBar()
} }
if ( item->GetId() == wxApp::s_macAboutMenuItemId ) if ( item->GetId() == wxApp::s_macAboutMenuItemId )
{ {
UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label ); ::SetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label );
UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 ); UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 );
} }
else else
@ -707,7 +707,7 @@ void wxMenuBar::MacInstallMenuBar()
subMenu = item->GetSubMenu() ; subMenu = item->GetSubMenu() ;
if (subMenu) if (subMenu)
{ {
UMAInsertMenu( subMenu->GetHMenu() , -1 ) ; ::InsertMenu( subMenu->GetHMenu() , -1 ) ;
} }
else else
{ {
@ -717,12 +717,12 @@ void wxMenuBar::MacInstallMenuBar()
UInt8 modifiers ; UInt8 modifiers ;
SInt16 key ; SInt16 key ;
wxMenuItem::MacBuildMenuString( label, &key , &modifiers , item->GetText(), item->GetId() != wxApp::s_macAboutMenuItemId); // no shortcut in about menu wxMenuItem::MacBuildMenuString( label, &key , &modifiers , item->GetText(), item->GetId() != wxApp::s_macAboutMenuItemId); // no shortcut in about menu
UMASetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label ); ::SetMenuItemText( GetMenuHandle( kwxMacAppleMenuId ) , 1 , label );
UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 ); UMAEnableMenuItem( GetMenuHandle( kwxMacAppleMenuId ) , 1 );
} }
} }
} }
UMAInsertMenu(m_menus[i]->GetHMenu(), 0); ::InsertMenu(m_menus[i]->GetHMenu(), 0);
} }
#endif #endif
else else
@ -735,13 +735,13 @@ void wxMenuBar::MacInstallMenuBar()
subMenu = item->GetSubMenu() ; subMenu = item->GetSubMenu() ;
if (subMenu) if (subMenu)
{ {
UMAInsertMenu( subMenu->GetHMenu() , -1 ) ; ::InsertMenu( subMenu->GetHMenu() , -1 ) ;
} }
} }
UMAInsertMenu(m_menus[i]->GetHMenu(), 0); ::InsertMenu(m_menus[i]->GetHMenu(), 0);
} }
} }
UMADrawMenuBar() ; ::DrawMenuBar() ;
s_macInstalledMenuBar = this; s_macInstalledMenuBar = this;
} }
@ -816,18 +816,18 @@ wxMenu *wxMenuBar::Replace(size_t pos, wxMenu *menu, const wxString& title)
{ {
if (s_macInstalledMenuBar == this) if (s_macInstalledMenuBar == this)
{ {
UMADeleteMenu( menuOld->MacGetMenuId() /* m_menus[pos]->MacGetMenuId() */ ) ; ::DeleteMenu( menuOld->MacGetMenuId() /* m_menus[pos]->MacGetMenuId() */ ) ;
{ {
Str255 label; Str255 label;
wxMenuItem::MacBuildMenuString( label, NULL , NULL , title , false ); wxMenuItem::MacBuildMenuString( label, NULL , NULL , title , false );
UMASetMenuTitle( menu->GetHMenu() , label ) ; UMASetMenuTitle( menu->GetHMenu() , label ) ;
if ( pos == m_menus.GetCount() - 1) if ( pos == m_menus.GetCount() - 1)
{ {
UMAInsertMenu( menu->GetHMenu() , 0 ) ; ::InsertMenu( menu->GetHMenu() , 0 ) ;
} }
else else
{ {
UMAInsertMenu( menu->GetHMenu() , m_menus[pos+1]->MacGetMenuId() ) ; ::InsertMenu( menu->GetHMenu() , m_menus[pos+1]->MacGetMenuId() ) ;
} }
} }
} }

View File

@ -319,7 +319,7 @@ void wxMenuItem::SetText(const wxString& text)
{ {
Str255 label; Str255 label;
MacBuildMenuString( label , NULL , NULL , text ,false); MacBuildMenuString( label , NULL , NULL , text ,false);
UMASetMenuItemText( m_parentMenu->GetHMenu() , index , label ) ; // checkmark ::SetMenuItemText( m_parentMenu->GetHMenu() , index , label ) ; // checkmark
} }
} }

View File

@ -115,7 +115,7 @@ bool wxNotebook::Create(wxWindow *parent,
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlTabSmallProc , (long) this ) ; kControlTabSmallProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -117,7 +117,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
MacPreControlCreate( parent , id , label , pos , size ,style, val , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, val , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlGroupBoxTextTitleProc , (long) this ) ; kControlGroupBoxTextTitleProc , (long) this ) ;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)

View File

@ -35,7 +35,7 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlRadioButtonProc , (long) this ) ; kControlRadioButtonProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -43,7 +43,7 @@ bool wxScrollBar::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , 0 , 100, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , 0 , 100,
kControlScrollBarLiveProc , (long) this ) ; kControlScrollBarLiveProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -84,7 +84,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
} }
m_macControl = UMANewControl( parent->GetMacRootWindow(), &bounds, title, false, m_macControl = ::NewControl( parent->GetMacRootWindow(), &bounds, title, false,
value, minValue, maxValue, procID, (long) this); value, minValue, maxValue, procID, (long) this);
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -49,7 +49,7 @@ bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, c
MacPreControlCreate( parent , id , "" , pos , size ,style,*( (wxValidator*) NULL ) , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style,*( (wxValidator*) NULL ) , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 100, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 100,
kControlLittleArrowsProc , (long) this ) ; kControlLittleArrowsProc , (long) this ) ;
wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ;

View File

@ -43,7 +43,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id,
MacPreControlCreate( parent , id , label , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , label , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlGroupBoxTextTitleProc , (long) this ) ; kControlGroupBoxTextTitleProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -54,7 +54,7 @@ bool wxStaticLine::Create( wxWindow *parent,
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlSeparatorLineProc , (long) this ) ; kControlSeparatorLineProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

View File

@ -41,7 +41,7 @@ bool wxTabCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, cons
MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ; MacPreControlCreate( parent , id , "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1,
kControlTabSmallProc , (long) this ) ; kControlTabSmallProc , (long) this ) ;
MacPostControlCreate() ; MacPostControlCreate() ;

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
#include "wx/toolbar.h" #include "wx/toolbar.h"
#include "wx/notebook.h" #include "wx/notebook.h"
#include "wx/tabctrl.h" #include "wx/tabctrl.h"
#include "wx/bitmap.h"
#if !USE_SHARED_LIBRARY #if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase) IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase)
@ -160,90 +161,6 @@ wxToolBar::~wxToolBar()
// is not - otherwise toolbar leaves a hole in the place it used to occupy // is not - otherwise toolbar leaves a hole in the place it used to occupy
} }
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask ) ;
PicHandle MakePict(GWorldPtr wp, GWorldPtr mask )
{
CGrafPtr origPort ;
GDHandle origDev ;
PicHandle pict; // this is the Picture we give back
RGBColor gray = { 0xCCCC ,0xCCCC , 0xCCCC } ;
RGBColor white = { 0xffff ,0xffff , 0xffff } ;
RGBColor black = { 0x0000 ,0x0000 , 0x0000 } ;
unsigned char *maskimage = NULL ;
Rect portRect ;
GetPortBounds( wp , &portRect ) ;
int width = portRect.right - portRect.left ;
int height = portRect.bottom - portRect.top ;
LockPixels( GetGWorldPixMap( wp ) ) ;
GetGWorld( &origPort , &origDev ) ;
if ( mask )
{
maskimage = (unsigned char*) malloc( width * height ) ;
SetGWorld( mask , NULL ) ;
LockPixels( GetGWorldPixMap( mask ) ) ;
for ( int y = 0 ; y < height ; ++y )
{
for( int x = 0 ; x < width ; ++x )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
maskimage[y*width + x] = ( col.red == 0 ) ; // for monochrome masks
}
}
UnlockPixels( GetGWorldPixMap( mask ) ) ;
}
SetGWorld( wp , NULL ) ;
pict = OpenPicture(&portRect); // open a picture, this disables drawing
if(!pict)
return NULL;
RGBBackColor( &gray ) ;
RGBForeColor( &black ) ;
EraseRect(&portRect) ;
RGBBackColor( &white ) ;
if ( maskimage )
{
for ( int y = 0 ; y < height ; ++y )
{
for( int x = 0 ; x < width ; ++x )
{
if ( maskimage[y*width + x] )
{
RGBColor col ;
GetCPixel( x + portRect.left , y + portRect.top , &col ) ;
SetCPixel( x + portRect.left , y + portRect.top , &col ) ;
}
}
}
free( maskimage ) ;
maskimage = NULL ;
}
else
{
CopyBits(GetPortBitMapForCopyBits(wp), // src PixMap - we copy image over itself -
GetPortBitMapForCopyBits(wp), // dst PixMap - no drawing occurs -
&portRect, // srcRect - it will be recorded and compressed -
&portRect, // dstRect - into the picture that is open -
srcCopy,NULL); // copyMode and no clip region
}
ClosePicture(); // We are done recording the picture
UnlockPixels( GetGWorldPixMap( wp ) ) ;
SetGWorld( origPort , origDev ) ;
return pict; // return our groovy pict handle
}
bool wxToolBar::Realize() bool wxToolBar::Realize()
{ {
if (m_tools.Number() == 0) if (m_tools.Number() == 0)
@ -284,20 +201,27 @@ bool wxToolBar::Realize()
toolrect.right = toolrect.left + toolSize.x ; toolrect.right = toolrect.left + toolSize.x ;
toolrect.bottom = toolrect.top + toolSize.y ; toolrect.bottom = toolrect.top + toolSize.y ;
PicHandle icon = NULL ; ControlButtonContentInfo info ;
if ( bmap ) if ( bmap )
{ {
if ( bmap->m_bitmapType == kMacBitmapTypePict ) if ( bmap->m_bitmapType == kMacBitmapTypePict )
icon = bmap->m_hPict ; {
info.contentType = kControlContentPictHandle ;
info.u.picture = bmap->m_hPict ;
}
else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld )
{ {
if ( tool->GetBitmap1().GetMask() ) if ( tool->GetBitmap1().GetMask() )
{ {
icon = MakePict( bmap->m_hBitmap , tool->GetBitmap1().GetMask()->GetMaskBitmap() ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , tool->GetBitmap1().GetMask()->GetMaskBitmap() ,
8 , 16 ) ;
} }
else else
{ {
icon = MakePict( bmap->m_hBitmap , NULL ) ; info.contentType = kControlContentCIconHandle ;
info.u.cIconHandle = wxMacCreateCIcon( bmap->m_hBitmap , NULL ,
8 , 16 ) ;
} }
} }
} }
@ -308,20 +232,16 @@ bool wxToolBar::Realize()
if ( tool->CanBeToggled() ) if ( tool->CanBeToggled() )
behaviour += kControlBehaviorToggles ; behaviour += kControlBehaviorToggles ;
if ( icon ) if ( info.u.cIconHandle ) // since it is a handle we can use one of them
{ {
m_macToolHandle = UMANewControl( window , &toolrect , "\p" , false , 0 , m_macToolHandle = ::NewControl( window , &toolrect , "\p" , false , 0 ,
behaviour + kControlContentPictHandle , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ; behaviour + info.contentType , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ;
ControlButtonContentInfo info ;
info.contentType = kControlContentPictHandle ; ::SetControlData( m_macToolHandle , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
info.u.picture = icon ;
UMASetControlData( m_macToolHandle , kControlButtonPart , kControlBevelButtonContentTag , sizeof(info) , (char*) &info ) ;
} }
else else
{ {
m_macToolHandle = UMANewControl( window , &toolrect , "\p" , false , 0 , m_macToolHandle = ::NewControl( window , &toolrect , "\p" , false , 0 ,
behaviour , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ; behaviour , 0 , kControlBevelButtonNormalBevelProc , (long) this ) ;
} }
UMAShowControl( m_macToolHandle ) ; UMAShowControl( m_macToolHandle ) ;
@ -335,10 +255,16 @@ bool wxToolBar::Realize()
{ {
::SetControlValue( m_macToolHandle , 1 ) ; ::SetControlValue( m_macToolHandle , 1 ) ;
} }
UMASetControlFontStyle( m_macToolHandle , &controlstyle ) ; else
{
::SetControlValue( m_macToolHandle , 0 ) ;
}
/*
::SetControlFontStyle( m_macToolHandle , &controlstyle ) ;
*/
ControlHandle container = GetParent()->MacGetContainerForEmbedding() ; ControlHandle container = GetParent()->MacGetContainerForEmbedding() ;
wxASSERT_MSG( container != NULL , "No valid mac container control" ) ; wxASSERT_MSG( container != NULL , "No valid mac container control" ) ;
UMAEmbedControl( m_macToolHandle , container ) ; ::EmbedControl( m_macToolHandle , container ) ;
x += (int)toolSize.x; x += (int)toolSize.x;
noButtons ++; noButtons ++;
@ -458,7 +384,7 @@ void wxToolBar::MacSuperChangedPosition()
{ {
WindowRef rootwindow = GetMacRootWindow() ; WindowRef rootwindow = GetMacRootWindow() ;
wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ; wxWindow* wxrootwindow = wxFindWinFromMacWindow( rootwindow ) ;
UMASetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDialogBackgroundActive , false ) ;
wxMacDrawingHelper focus( wxrootwindow ) ; wxMacDrawingHelper focus( wxrootwindow ) ;
while (node) while (node)
{ {
@ -515,7 +441,7 @@ void wxToolBar::MacSuperChangedPosition()
} }
else else
{ {
UMASetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( rootwindow , kThemeBrushDocumentWindowBackground , false ) ;
} }
} }
@ -647,7 +573,7 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
{ {
if( parent->MacGetWindowData() ) if( parent->MacGetWindowData() )
{ {
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , kThemeBrushDialogBackgroundActive , false ) ;
break ; break ;
} }
@ -675,7 +601,7 @@ void wxToolBar::OnPaint(wxPaintEvent& event)
} }
} }
} }
UMASetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->MacGetWindowData()->m_macWindow , win->MacGetWindowData()->m_macWindowBackgroundTheme , false ) ;
} }
} }
@ -718,13 +644,13 @@ void wxToolBar::OnMouse( wxMouseEvent &event )
controlpart = FindControl( localwhere , window , &control ) ; controlpart = FindControl( localwhere , window , &control ) ;
{ {
if ( control && UMAIsControlActive( control ) ) if ( control && ::IsControlActive( control ) )
{ {
{ {
if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() ) if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() )
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ;
else else
controlpart = UMAHandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ; controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ; wxTheApp->s_lastMouseDown = 0 ;
if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) ) if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) )
&& (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice && (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice

View File

@ -271,12 +271,12 @@ void wxMacToolTip::Draw()
NULL); NULL);
ClosePicture(); ClosePicture();
RGBColor yellow = { 0xFFFF , 0xFFFF , (153<<8)+153 } ; PenNormal() ;
RGBBackColor( &yellow ) ; SetThemeBackground(kThemeBrushNotificationWindowBackground,32,true) ;
EraseRect( &m_rect ) ; BackColor( yellowColor ) ;
ForeColor(magentaColor ) ;
// EraseRect( &m_rect ) ;
FrameRect( &m_rect ) ; FrameRect( &m_rect ) ;
BackColor( whiteColor ) ;
ForeColor(blackColor ) ;
::MoveTo( m_rect.left + kTipBorder , m_rect.top + fontInfo.ascent + kTipBorder); ::MoveTo( m_rect.left + kTipBorder , m_rect.top + fontInfo.ascent + kTipBorder);
i = 0 ; i = 0 ;

File diff suppressed because it is too large Load Diff

View File

@ -774,8 +774,8 @@ bool wxWindowMac::Show(bool show)
{ {
if (show) if (show)
{ {
UMAShowWindow( m_macWindowData->m_macWindow ) ; ::ShowWindow( m_macWindowData->m_macWindow ) ;
UMASelectWindow( m_macWindowData->m_macWindow ) ; ::SelectWindow( m_macWindowData->m_macWindow ) ;
// no need to generate events here, they will get them triggered by macos // no need to generate events here, they will get them triggered by macos
// actually they should be , but apparently they are not // actually they should be , but apparently they are not
wxSize size(m_width, m_height); wxSize size(m_width, m_height);
@ -785,7 +785,7 @@ bool wxWindowMac::Show(bool show)
} }
else else
{ {
UMAHideWindow( m_macWindowData->m_macWindow ) ; ::HideWindow( m_macWindowData->m_macWindow ) ;
} }
} }
MacSuperShown( show ) ; MacSuperShown( show ) ;
@ -1179,7 +1179,7 @@ void wxWindowMac::MacCreateRealWindow( const wxString& title,
attr |= kWindowCloseBoxAttribute ; attr |= kWindowCloseBoxAttribute ;
} }
UMACreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ; ::CreateNewWindow( wclass , attr , &theBoundsRect , &m_macWindowData->m_macWindow ) ;
wxAssociateWinWithMacWindow( m_macWindowData->m_macWindow , this ) ; wxAssociateWinWithMacWindow( m_macWindowData->m_macWindow , this ) ;
wxString label ; wxString label ;
if( wxApp::s_macDefaultEncodingIsPC ) if( wxApp::s_macDefaultEncodingIsPC )
@ -1187,7 +1187,7 @@ void wxWindowMac::MacCreateRealWindow( const wxString& title,
else else
label = title ; label = title ;
UMASetWTitleC( m_macWindowData->m_macWindow , label ) ; UMASetWTitleC( m_macWindowData->m_macWindow , label ) ;
UMACreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ; ::CreateRootControl( m_macWindowData->m_macWindow , &m_macWindowData->m_macRootControl ) ;
m_macWindowData->m_macFocus = NULL ; m_macWindowData->m_macFocus = NULL ;
m_macWindowData->m_macHasReceivedFirstActivate = true ; m_macWindowData->m_macHasReceivedFirstActivate = true ;
@ -1496,7 +1496,7 @@ void wxWindowMac::Clear()
int w ,h ; int w ,h ;
wxPoint origin = GetClientAreaOrigin() ; wxPoint origin = GetClientAreaOrigin() ;
GetClientSize( &w , &h ) ; GetClientSize( &w , &h ) ;
UMASetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( m_macWindowData->m_macWindow , m_macWindowData->m_macWindowBackgroundTheme , false ) ;
Rect r = { origin.y , origin.x, origin.y+h , origin.x+w } ; Rect r = { origin.y , origin.x, origin.y+h , origin.x+w } ;
EraseRect( &r ) ; EraseRect( &r ) ;
} }
@ -1543,7 +1543,7 @@ void wxWindowMac::Raise()
{ {
if ( m_macWindowData ) if ( m_macWindowData )
{ {
UMABringToFront( m_macWindowData->m_macWindow ) ; ::BringToFront( m_macWindowData->m_macWindow ) ;
} }
} }
@ -1552,7 +1552,7 @@ void wxWindowMac::Lower()
{ {
if ( m_macWindowData ) if ( m_macWindowData )
{ {
UMASendBehind( m_macWindowData->m_macWindow , NULL ) ; ::SendBehind( m_macWindowData->m_macWindow , NULL ) ;
} }
} }
@ -1848,7 +1848,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
eraseBackground = true ; eraseBackground = true ;
if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE) ) if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE) )
{ {
UMASetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ; ::SetThemeWindowBackground( window , kThemeBrushDocumentWindowBackground , false ) ;
} }
else if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE ) ) else if ( m_backgroundColour == wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE ) )
{ {
@ -1880,7 +1880,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
{ {
Rect box ; Rect box ;
GetRegionBounds( updatergn , &box) ; GetRegionBounds( updatergn , &box) ;
UMAApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true); ::ApplyThemeBackground(kThemeBackgroundTabPane, &box , kThemeStateActive,8,true);
break ; break ;
} }
} }
@ -1894,7 +1894,7 @@ void wxWindowMac::MacRedraw( RgnHandle updatergn , long time)
if ( !parent ) if ( !parent )
{ {
// if there is nothing special -> use default // if there is nothing special -> use default
UMASetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ; ::SetThemeWindowBackground( window , kThemeBrushDialogBackgroundActive , false ) ;
} }
} }
else else
@ -2233,7 +2233,7 @@ bool wxWindowMac::MacSetPortDrawingParams( const Point & localOrigin, const Rect
Pattern whiteColor ; Pattern whiteColor ;
::BackPat( GetQDGlobalsWhite( &whiteColor) ) ; ::BackPat( GetQDGlobalsWhite( &whiteColor) ) ;
::UMASetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ; ::SetThemeWindowBackground( win->m_macWindowData->m_macWindow , win->m_macWindowData->m_macWindowBackgroundTheme , false ) ;
return true; return true;
} }