#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 )
{
m_macPenInstalled = false ;
}
-void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col,
- int style )
+extern bool wxDoFloodFill(wxDC *dc, wxCoord x, wxCoord y,
+ const wxColour & col, int style);
+
+bool wxDC::DoFloodFill(wxCoord x, wxCoord y,
+ const wxColour& col, int style)
{
+ return wxDoFloodFill(this, x, y, col, style);
}
bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
if (m_pen.GetStyle() != wxTRANSPARENT)
{
- MacInstallPen() ;
wxCoord xx1 = XLOG2DEVMAC(x);
wxCoord yy1 = YLOG2DEVMAC(y);
-
- ::MoveTo(xx1,yy1);
- ::LineTo(xx1+1, yy1+1);
+ RGBColor pencolor = MAC_WXCOLORREF( m_pen.GetColour().GetPixel());
+ ::SetCPixel( xx1,yy1,&pencolor) ;
+ CalcBoundingBox(x, y);
}
}
}
void wxDC::DoDrawPolygon(int n, wxPoint points[],
- wxCoord xoffset, wxCoord yoffset,
- int fillStyle )
+ wxCoord xoffset, wxCoord yoffset,
+ int fillStyle )
{
wxCHECK_RET(Ok(), wxT("Invalid DC"));
wxMacPortSetter helper(this) ;
if ( LockPixels(bmappixels) )
{
wxMacPortSetter helper(this) ;
- RGBColor tempColor ;
if ( source->GetDepth() == 1 )
{
}
+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