-#if !TARGET_CARBON
+#include "wx/dc.h"
+#include "wx/mac/uma.h"
+#include "wx/mac/aga.h"
-#include <wx/mac/uma.h>
-#include <wx/mac/aga.h>
-#include <extcdef.h>
+#if 0 // TO BE REMOVED SOON
+
+//#include <extcdef.h>
#include <PictUtils.h>
pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param);
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[] =
{
{
}
-#endif
+#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( 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 ;
-
+ m_clip = NULL ;
+ Setup( newport ) ;
}
AGAPortHelper::AGAPortHelper()
{
- clip = NULL ;
+ m_clip = NULL ;
}
+
void AGAPortHelper::Setup( GrafPtr newport )
{
- GetPort( &port ) ;
+ GetPort( &m_oldPort ) ;
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 ;
+ wxASSERT_MSG( m_clip == NULL , "Cannot call setup twice" ) ;
+ m_clip = NewRgn() ;
+ GetClip( m_clip );
+ m_textFont = GetPortTextFont( newport);
+ m_textSize = GetPortTextSize( newport);
+ m_textStyle = GetPortTextFace( newport);
+ m_textMode = GetPortTextMode( newport);
+ GetThemeDrawingState( &m_drawingState ) ;
+ m_currentPort = newport ;
}
void AGAPortHelper::Clear()
{
- if ( clip )
+ if ( m_clip )
{
- DisposeRgn( clip ) ;
- clip = NULL ;
+ DisposeRgn( m_clip ) ;
+ DisposeThemeDrawingState( m_drawingState ) ;
+ m_clip = NULL ;
}
}
AGAPortHelper::~AGAPortHelper()
{
- if ( clip )
+ if ( m_clip )
{
- SetPort( nport ) ;
- SetClip( clip ) ;
- DisposeRgn( clip ) ;
- RGBForeColor(&oldForeColor);
- RGBBackColor(&oldBackColor);
- SetPenState(&oldPenState);
-
- TextFont( font );
- TextSize( size );
- TextFace( style );
- TextMode( mode );
- SetPort( port ) ;
+ SetPort( m_currentPort ) ;
+ SetClip( m_clip ) ;
+ DisposeRgn( m_clip ) ;
+ TextFont( m_textFont );
+ TextSize( m_textSize );
+ TextFace( m_textStyle );
+ TextMode( m_textMode );
+ SetThemeDrawingState( m_drawingState , true ) ;
+ SetPort( m_oldPort ) ;
}
}