X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f1ae4143271ae63a17e052a1a471d16e9cd8c44..2d956b58023a4955313a1c1531bc70a0deb0b831:/src/mac/aga.cpp diff --git a/src/mac/aga.cpp b/src/mac/aga.cpp index 6b14ecd9c0..4f4f139e87 100644 --- a/src/mac/aga.cpp +++ b/src/mac/aga.cpp @@ -1,8 +1,10 @@ -#if !TARGET_CARBON +#include "wx/dc.h" +#include "wx/mac/uma.h" +#include "wx/mac/aga.h" -#include -#include -#include +#if 0 // TO BE REMOVED SOON + +//#include #include pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param); @@ -12,158 +14,159 @@ pascal SInt32 AGAListControlDefProc (SInt16 procID, ControlHandle theControl, Co pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ; pascal SInt32 AGAStaticGroupBoxTextDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param) ; -#define B 13 -#define W 0 +#define B 13 +#define W 0 SInt16 kAGARootControlProcID ; int gAGABackgroundColor = 0 ; -const RGBColor gAGAColorArray[] = { {0xFFFF, 0xFFFF, 0xFFFF}, // W - {0xEEEE, 0xEEEE, 0xEEEE}, // 1 - {0xDDDD, 0xDDDD, 0xDDDD}, // 2 - {0xCCCC, 0xCCCC, 0xCCCC}, // 3 - {0xBBBB, 0xBBBB, 0xBBBB}, // 4 - {0xAAAA, 0xAAAA, 0xAAAA}, // 5 - {0x9999, 0x9999, 0x9999}, // 6 - {0x8888, 0x8888, 0x8888}, // 7 - {0x7777, 0x7777, 0x7777}, // 8 - {0x6666, 0x6666, 0x6666}, // 9 - {0x5555, 0x5555, 0x5555}, // 10 - {0x4444, 0x4444, 0x4444}, // 11 - {0x2222, 0x2222, 0x2222}, // 12 - {0x0000, 0x0000, 0x0000} // B - }; +const RGBColor gAGAColorArray[] = { + {0xFFFF, 0xFFFF, 0xFFFF}, // W + {0xEEEE, 0xEEEE, 0xEEEE}, // 1 + {0xDDDD, 0xDDDD, 0xDDDD}, // 2 + {0xCCCC, 0xCCCC, 0xCCCC}, // 3 + {0xBBBB, 0xBBBB, 0xBBBB}, // 4 + {0xAAAA, 0xAAAA, 0xAAAA}, // 5 + {0x9999, 0x9999, 0x9999}, // 6 + {0x8888, 0x8888, 0x8888}, // 7 + {0x7777, 0x7777, 0x7777}, // 8 + {0x6666, 0x6666, 0x6666}, // 9 + {0x5555, 0x5555, 0x5555}, // 10 + {0x4444, 0x4444, 0x4444}, // 11 + {0x2222, 0x2222, 0x2222}, // 12 + {0x0000, 0x0000, 0x0000} // B +}; char LAGADefaultOutline_mCorners[4][5][5] = { - // topleft - { - { -1, -1, -1, 12, B }, - { -1, -1, B, 2, 2 }, - { -1, B, 2, 2, 5 }, - { 12, 2, 2, 2, 8 }, - { B, 2, 5, 8, -1 } - }, - // topright - { - { B, 12, -1, -1, -1 }, - { 2, 3, B, -1, -1 }, - { 5, 5, 4, B, -1 }, - { 8, 5, 5, 7, 12 }, - { -1, 8, 5, 8, B } - }, - // bottomleft - { - { B, 2, 5, 8, -1 }, - { 12, 3, 5, 5, 8 }, - { -1, B, 4, 5, 5 }, - { -1, -1, B, 7, 8 }, - { -1, -1, -1, 12, B } - }, - // bottomright - { - { -1, 8, 5, 8, B }, - { 8, 5, 7, 8, 12 }, - { 5, 7, 8, B, -1 }, - { 8, 8, B, -1, -1 }, - { B, 12, -1, -1, -1 } - } - }; + // topleft + { + { -1, -1, -1, 12, B }, + { -1, -1, B, 2, 2 }, + { -1, B, 2, 2, 5 }, + { 12, 2, 2, 2, 8 }, + { B, 2, 5, 8, -1 } + }, + // topright + { + { B, 12, -1, -1, -1 }, + { 2, 3, B, -1, -1 }, + { 5, 5, 4, B, -1 }, + { 8, 5, 5, 7, 12 }, + { -1, 8, 5, 8, B } + }, + // bottomleft + { + { B, 2, 5, 8, -1 }, + { 12, 3, 5, 5, 8 }, + { -1, B, 4, 5, 5 }, + { -1, -1, B, 7, 8 }, + { -1, -1, -1, 12, B } + }, + // bottomright + { + { -1, 8, 5, 8, B }, + { 8, 5, 7, 8, 12 }, + { 5, 7, 8, B, -1 }, + { 8, 8, B, -1, -1 }, + { B, 12, -1, -1, -1 } + } +}; char LAGAPushButton_mCorners[3][4][4][4] = { - // Enabled - { - // topleft - { - { -1, -1, 12, B }, - { -1, B, 4, 2 }, - { 12, 4, W, W }, - { B, 2, W, W } - }, - // topright - { - { B, 12, -1, -1 }, - { 2, 4, B, -1 }, - { W, 2, 5, 12 }, - { 2, 5, 8, B } - }, - // bottomleft - { - { B, 2, W, 2 }, - { 12, 4, 2, 5 }, - { -1, B, 4, 8 }, - { -1, -1, 12, B } - }, - // bottomright - { - { 5, 5, 8, B }, - { 5, 8, 8, 12 }, - { 8, 8, B, -1 }, - { B, 12, -1, -1 } - } - }, - // Pressed - { - // topleft - { - { -1, -1, 12, B }, - { -1, B, 10, 8 }, - { 12, 10, 8, 4 }, - { B, 8, 4, 4 } - }, - // topright - { - { B, 12, -1, -1 }, - { 8, 10, B, -1 }, - { 4, 4, 8, 12 }, - { 4, 4, 4, B } - }, - // bottomleft - { - { B, 8, 4, 4 }, - { 12, 10, 4, 4 }, - { -1, B, 10, 4 }, - { -1, -1, 12, B } - }, - // bottomright - { - { 4, 4, 4, B }, - { 4, 4, 10, 12 }, - { 4, 10, B, -1 }, - { B, 12, -1, -1 } - } - }, - // Disabled - { - // topleft - { - { -1, -1, 7, 7 }, - { -1, 7, 4, 2 }, - { 7, 4, 1, 1 }, - { 7, 2, 1, 1 } - }, - // topright - { - { 7, 7, -1, -1 }, - { 2, 4, 7, -1 }, - { 1, 2, 4, 7 }, - { 2, 4, 5, 7 } - }, - // bottomleft - { - { 7, 2, 1, 2 }, - { 7, 4, 2, 4 }, - { -1, 7, 4, 5 }, - { -1, -1, 7, 7 } - }, - // bottomright - { - { 4, 4, 5, 7 }, - { 4, 5, 5, 7 }, - { 5, 5, 7, -1 }, - { 7, 7, -1, -1 } - } - } - }; + // Enabled + { + // topleft + { + { -1, -1, 12, B }, + { -1, B, 4, 2 }, + { 12, 4, W, W }, + { B, 2, W, W } + }, + // topright + { + { B, 12, -1, -1 }, + { 2, 4, B, -1 }, + { W, 2, 5, 12 }, + { 2, 5, 8, B } + }, + // bottomleft + { + { B, 2, W, 2 }, + { 12, 4, 2, 5 }, + { -1, B, 4, 8 }, + { -1, -1, 12, B } + }, + // bottomright + { + { 5, 5, 8, B }, + { 5, 8, 8, 12 }, + { 8, 8, B, -1 }, + { B, 12, -1, -1 } + } + }, + // Pressed + { + // topleft + { + { -1, -1, 12, B }, + { -1, B, 10, 8 }, + { 12, 10, 8, 4 }, + { B, 8, 4, 4 } + }, + // topright + { + { B, 12, -1, -1 }, + { 8, 10, B, -1 }, + { 4, 4, 8, 12 }, + { 4, 4, 4, B } + }, + // bottomleft + { + { B, 8, 4, 4 }, + { 12, 10, 4, 4 }, + { -1, B, 10, 4 }, + { -1, -1, 12, B } + }, + // bottomright + { + { 4, 4, 4, B }, + { 4, 4, 10, 12 }, + { 4, 10, B, -1 }, + { B, 12, -1, -1 } + } + }, + // Disabled + { + // topleft + { + { -1, -1, 7, 7 }, + { -1, 7, 4, 2 }, + { 7, 4, 1, 1 }, + { 7, 2, 1, 1 } + }, + // topright + { + { 7, 7, -1, -1 }, + { 2, 4, 7, -1 }, + { 1, 2, 4, 7 }, + { 2, 4, 5, 7 } + }, + // bottomleft + { + { 7, 2, 1, 2 }, + { 7, 4, 2, 4 }, + { -1, 7, 4, 5 }, + { -1, -1, 7, 7 } + }, + // bottomright + { + { 4, 4, 5, 7 }, + { 4, 5, 5, 7 }, + { 5, 5, 7, -1 }, + { 7, 7, -1, -1 } + } + } +}; RGBColor gAGARamp[] = { @@ -1045,7 +1048,7 @@ pascal SInt32 AGABevelButtonDefProc (SInt16 procID, ControlHandle theControl, Co return 0 ; { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; Boolean mRadioBehavior = false ; @@ -1185,7 +1188,7 @@ pascal SInt32 AGAButtonDefProc (SInt16 procID, ControlHandle theControl, Control return 0 ; { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; Boolean mRadioBehavior = false ; @@ -1422,7 +1425,7 @@ pascal SInt32 AGACheckBoxDefProc (SInt16 procID, ControlHandle theControl, Contr return 0 ; { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; Rect frame = (**theControl).contrlRect ; Boolean hasColor = true; Boolean disabled = (*theControl)->contrlHilite == 255 ; @@ -1618,7 +1621,7 @@ pascal SInt32 AGARadioButtonDefProc (SInt16 procID, ControlHandle theControl, Co return 0 ; { - AGAPortHelper help() ; + wxMacPortStateHelper help() ; Rect frame = (**theControl).contrlRect ; Boolean hasColor = true; Boolean disabled = (*theControl)->contrlHilite == 255 ; @@ -1810,7 +1813,7 @@ pascal SInt32 AGAStaticGroupBoxTextDefProc (SInt16 procID, ControlHandle theCont { bool disabled = false ; bool hasColor = true ; - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; FontInfo fi ; ::GetFontInfo( &fi ) ; @@ -1896,7 +1899,7 @@ pascal SInt32 AGAStaticTextDefProc (SInt16 procID, ControlHandle theControl, Con return 0 ; { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; int x = (**theControl).contrlRect.left ; int y = (**theControl).contrlRect.top ; @@ -2091,7 +2094,7 @@ pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, Contr { case initCntl : { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; SetPort( (**theControl).contrlOwner ) ; ::TextFont( kFontIDGeneva ) ; ::TextSize( 10 ) ; @@ -2113,7 +2116,7 @@ pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, Contr break ; case drawCntl : { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; SetPort( (**theControl).contrlOwner ) ; RGBBackColor( &gAGARamp[ kAGAWhite ] ) ; @@ -2220,7 +2223,7 @@ pascal SInt32 AGAEditTextDefProc (SInt16 procID, ControlHandle theControl, Contr break ; case kControlMsgKeyDown : { - AGAPortHelper help( (**theControl).contrlOwner ) ; + wxMacPortStateHelper help( (**theControl).contrlOwner ) ; AGASetFontStyle( &info->fontStyle ) ; RGBBackColor( &gAGARamp[ kAGAWhite ] ) ; RGBForeColor( &gAGARamp[ kAGABlack ] ) ; @@ -2329,7 +2332,7 @@ pascal SInt32 AGAListControlDefProc (SInt16 procID, ControlHandle theControl, Co break ; case drawCntl : { - AGAPortHelper help((**theControl).contrlOwner) ; + wxMacPortStateHelper help((**theControl).contrlOwner) ; AGASetFontStyle( &info->fontStyle ) ; RGBBackColor( &gAGARamp[ kAGAWhite ] ) ; EraseRect( &(**theControl).contrlRect ) ; @@ -2551,70 +2554,10 @@ void AGAApplyThemeBackground(ThemeBackgroundKind inKind, { } -#endif -AGAPortHelper::AGAPortHelper( GrafPtr newport) -{ - GetPort( &port ) ; - SetPort( newport ) ; -// wxASSERT( newport->portRect.left == 0 && newport->portRect.top == 0 ) ; - GetPenState( &oldPenState ) ; - GetBackColor( &oldBackColor ) ; - GetForeColor( &oldForeColor ) ; - - clip = NewRgn() ; - GetClip( clip ); - font = GetPortTextFont( newport); - size = GetPortTextSize( newport); - style = GetPortTextFace( newport); - mode = GetPortTextMode( newport); - nport = newport ; +#endif // !TARGET_CARBON + +// this helper class stores and restores the current grafport +// status in a theme savvy manner, pen mode, patterns and fonts +// attributes -} -AGAPortHelper::AGAPortHelper() -{ - clip = NULL ; -} -void AGAPortHelper::Setup( GrafPtr newport ) -{ - GetPort( &port ) ; - SetPort( newport ) ; -// wxASSERT( newport->portRect.left == 0 && newport->portRect.top == 0 ) ; - GetPenState( &oldPenState ) ; - GetBackColor( &oldBackColor ) ; - GetForeColor( &oldForeColor ) ; - - clip = NewRgn() ; - GetClip( clip ); - font = GetPortTextFont( newport); - size = GetPortTextSize( newport); - style = GetPortTextFace( newport); - mode = GetPortTextMode( newport); - nport = newport ; -} -void AGAPortHelper::Clear() -{ - if ( clip ) - { - DisposeRgn( clip ) ; - clip = NULL ; - } -} -AGAPortHelper::~AGAPortHelper() -{ - if ( clip ) - { - SetPort( nport ) ; - SetClip( clip ) ; - DisposeRgn( clip ) ; - RGBForeColor(&oldForeColor); - RGBBackColor(&oldBackColor); - SetPenState(&oldPenState); - - TextFont( font ); - TextSize( size ); - TextFace( style ); - TextMode( mode ); - SetPort( port ) ; - } -}