X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/22143f7164e14a4473cb8f1784d17c12aa66e548..7dbefc568525cecea8c67986775a945283afd365:/src/mac/carbon/region.cpp diff --git a/src/mac/carbon/region.cpp b/src/mac/carbon/region.cpp index 08d061c295..5c8f05e7ad 100644 --- a/src/mac/carbon/region.cpp +++ b/src/mac/carbon/region.cpp @@ -87,6 +87,8 @@ wxRegion::wxRegion(size_t n, const wxPoint *points, int WXUNUSED(fillStyle)) { m_refData = new wxRegionRefData; +#ifndef __LP64__ + // TODO : any APIs ? // OS X somehow does not collect the region invisibly as before, so sometimes things // get drawn on screen instead of just being combined into a region, therefore we allocate a temp gworld now @@ -124,6 +126,7 @@ wxRegion::wxRegion(size_t n, const wxPoint *points, int WXUNUSED(fillStyle)) ::SetGWorld( oldWorld, oldGDHandle ); } +#endif } wxRegion::~wxRegion() @@ -204,7 +207,7 @@ bool wxRegion::DoCombine(const wxRegion& region, wxRegionOp op) //# Information on region //----------------------------------------------------------------------------- -bool wxRegion::DoIsEqual(const wxRegion& region) const +bool wxRegion::DoIsEqual(const wxRegion& WXUNUSED(region)) const { wxFAIL_MSG( _T("not implemented") ); @@ -355,7 +358,7 @@ wxRegionIterator::wxRegionIterator(const wxRegion& region) */ OSStatus wxMacRegionToRectsCounterCallback( - UInt16 message, RgnHandle region, const Rect *rect, void *data ) + UInt16 message, RgnHandle WXUNUSED(region), const Rect *WXUNUSED(rect), void *data ) { long *m_numRects = (long*) data ; if ( message == kQDRegionToRectsMsgInit ) @@ -378,7 +381,7 @@ public : }; OSStatus wxMacRegionToRectsSetterCallback( - UInt16 message, RgnHandle region, const Rect *rect, void *data ) + UInt16 message, RgnHandle WXUNUSED(region), const Rect *rect, void *data ) { if (message == kQDRegionToRectsMsgParse) { @@ -406,14 +409,26 @@ void wxRegionIterator::Reset(const wxRegion& region) } else { - RegionToRectsUPP proc = NewRegionToRectsUPP( wxMacRegionToRectsCounterCallback ); + RegionToRectsUPP proc = +#ifdef __MACH__ + (RegionToRectsUPP) wxMacRegionToRectsCounterCallback; +#else + NewRegionToRectsUPP( wxMacRegionToRectsCounterCallback ); +#endif OSStatus err = noErr; err = QDRegionToRects (OTHER_M_REGION( region ) , kQDParseRegionFromTopLeft, proc, (void*)&m_numRects); if (err == noErr) { +#ifndef __MACH__ DisposeRegionToRectsUPP (proc); - proc = NewRegionToRectsUPP (wxMacRegionToRectsSetterCallback); +#endif + proc = +#ifdef __MACH__ + (RegionToRectsUPP) wxMacRegionToRectsSetterCallback; +#else + NewRegionToRectsUPP (wxMacRegionToRectsSetterCallback); +#endif m_rects = new wxRect[m_numRects]; RegionToRectsCallbackData data ; data.m_rects = m_rects ; @@ -425,7 +440,9 @@ void wxRegionIterator::Reset(const wxRegion& region) m_numRects = 0; } +#ifndef __MACH__ DisposeRegionToRectsUPP( proc ); +#endif } }