#include "wx/dcmemory.h"
#include "wx/region.h"
#include "wx/image.h"
+#include "wx/log.h"
#if __MSL__ >= 0x6000
const short kEmulatedMode = -1 ;
const short kUnsupportedMode = -2 ;
-#define wxMAC_EXPERIMENTAL_PATTERN 0
-
wxMacPortSetter::wxMacPortSetter( const wxDC* dc ) :
m_ph( (GrafPtr) dc->m_macPort )
{
{
Pattern blackColor ;
::PenPat(GetQDGlobalsBlack(&blackColor));
- DisposePixMap( (PixMapHandle) m_macForegroundPixMap ) ;
+ DisposePixPat( (PixPatHandle) m_macForegroundPixMap ) ;
m_macForegroundPixMap = NULL ;
}
if ( m_macBackgroundPixMap )
{
Pattern whiteColor ;
::BackPat(GetQDGlobalsWhite(&whiteColor));
- DisposePixMap( (PixMapHandle) m_macBackgroundPixMap ) ;
+ DisposePixPat( (PixPatHandle) m_macBackgroundPixMap ) ;
m_macBackgroundPixMap = NULL ;
}
}
int wxDC::GetDepth() const
{
- return wxDisplayDepth() ;
+ if ( IsPortColor( (CGrafPtr) m_macPort ) )
+ {
+ return ( (**GetPortPixMap( (CGrafPtr) m_macPort)).pixelSize ) ;
+ }
+ return 1 ;
}
void wxDC::ComputeScaleAndOrigin()
m_macPenInstalled = false ;
}
-void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col,
- int style )
+extern void wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
+ const wxColour & col, int style);
+
+void wxDC::DoFloodFill(wxCoord x, wxCoord y,
+ const wxColour& col, int style)
{
+ wxDoFloodFill(this, x, y, col, style);
}
bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
}
+Pattern gHatchPatterns[] =
+{
+ { 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF } ,
+ { 0x01 , 0x02 , 0x04 , 0x08 , 0x10 , 0x20 , 0x40 , 0x80 } ,
+ { 0x80 , 0x40 , 0x20 , 0x10 , 0x08 , 0x04 , 0x02 , 0x01 } ,
+ { 0x10 , 0x10 , 0x10 , 0xFF , 0x10 , 0x10 , 0x10 , 0x10 } ,
+ { 0x00 , 0x00 , 0x00 , 0xFF , 0x00 , 0x00 , 0x00 , 0x00 } ,
+ { 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 } ,
+ { 0x81 , 0x42 , 0x24 , 0x18 , 0x18 , 0x24 , 0x42 , 0x81 } ,
+} ;
+
static void wxMacGetHatchPattern(int hatchStyle, Pattern *pattern)
{
- // we have our own pattern list now
- int thePatListID = 128;
- int theIndex;
+ int theIndex = 1 ;
+
switch(hatchStyle)
{
case wxBDIAGONAL_HATCH:
theIndex = 1; // solid pattern
break;
}
- GetIndPattern( pattern, thePatListID, theIndex);
+ *pattern = gHatchPatterns[theIndex-1] ;
}
void wxDC::MacInstallPen() const