]> git.saurik.com Git - wxWidgets.git/commitdiff
common drawing code for osx-cocoa and osx-carbon, also since 10.5 HIShapeRef is in...
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 9 Feb 2009 09:01:19 +0000 (09:01 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 9 Feb 2009 09:01:19 +0000 (09:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

Makefile.in
build/bakefiles/files.bkl
include/wx/osx/carbon/private.h
include/wx/osx/region.h
include/wx/osx/window.h
include/wx/region.h
src/osx/carbon/region.cpp
src/osx/carbon/window.cpp
src/osx/window_osx.cpp

index 0b96ebe4f51686a570835c8a722e4df13f11122e..60aedcd90681df2db052ff270580910d77a936f0 100644 (file)
@@ -4995,7 +4995,6 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS =  \
        monodll_notebmac.o \
        monodll_carbon_printdlg.o \
        monodll_carbon_radiobut.o \
-       monodll_carbon_region.o \
        monodll_carbon_scrolbar.o \
        monodll_carbon_slider.o \
        monodll_carbon_spinbutt.o \
@@ -5061,7 +5060,6 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS =  \
        monodll_fontpickerg.o \
        monodll_generic_listctrl.o \
        monodll_prntdlgg.o \
-       monodll_regiong.o \
        monodll_generic_statusbr.o
 @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS)
 COND_TOOLKIT_PM___GUI_SRC_OBJECTS =  \
@@ -6809,7 +6807,6 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_1 =  \
        monolib_notebmac.o \
        monolib_carbon_printdlg.o \
        monolib_carbon_radiobut.o \
-       monolib_carbon_region.o \
        monolib_carbon_scrolbar.o \
        monolib_carbon_slider.o \
        monolib_carbon_spinbutt.o \
@@ -6875,7 +6872,6 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1 =  \
        monolib_fontpickerg.o \
        monolib_generic_listctrl.o \
        monolib_prntdlgg.o \
-       monolib_regiong.o \
        monolib_generic_statusbr.o
 @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1)
 COND_TOOLKIT_PM___GUI_SRC_OBJECTS_1 =  \
@@ -8769,7 +8765,6 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_2 =  \
        coredll_notebmac.o \
        coredll_carbon_printdlg.o \
        coredll_carbon_radiobut.o \
-       coredll_carbon_region.o \
        coredll_carbon_scrolbar.o \
        coredll_carbon_slider.o \
        coredll_carbon_spinbutt.o \
@@ -8835,7 +8830,6 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2 =  \
        coredll_fontpickerg.o \
        coredll_generic_listctrl.o \
        coredll_prntdlgg.o \
-       coredll_regiong.o \
        coredll_generic_statusbr.o
 @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2)
 COND_TOOLKIT_PM___GUI_SRC_OBJECTS_2 =  \
@@ -10279,7 +10273,6 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_3 =  \
        corelib_notebmac.o \
        corelib_carbon_printdlg.o \
        corelib_carbon_radiobut.o \
-       corelib_carbon_region.o \
        corelib_carbon_scrolbar.o \
        corelib_carbon_slider.o \
        corelib_carbon_spinbutt.o \
@@ -10345,7 +10338,6 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3 =  \
        corelib_fontpickerg.o \
        corelib_generic_listctrl.o \
        corelib_prntdlgg.o \
-       corelib_regiong.o \
        corelib_generic_statusbr.o
 @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3)
 COND_TOOLKIT_PM___GUI_SRC_OBJECTS_3 =  \
@@ -11821,6 +11813,7 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS =  \
        monodll_carbon_renderer.o \
        monodll_carbon_settings.o \
        monodll_statbrma.o \
+       monodll_carbon_region.o \
        monodll_utilscocoa.o
 @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS)
 COND_PLATFORM_MACOSX_1___OSX_LOWLEVEL_SRC_OBJECTS =  \
@@ -11980,6 +11973,7 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_0 =  \
        monolib_carbon_renderer.o \
        monolib_carbon_settings.o \
        monolib_statbrma.o \
+       monolib_carbon_region.o \
        monolib_utilscocoa.o
 @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_0 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_0)
 COND_PLATFORM_MACOSX_1___OSX_LOWLEVEL_SRC_OBJECTS_17 =  \
@@ -12139,6 +12133,7 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_8 =  \
        coredll_carbon_renderer.o \
        coredll_carbon_settings.o \
        coredll_statbrma.o \
+       coredll_carbon_region.o \
        coredll_utilscocoa.o
 @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_8 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_8)
 COND_PLATFORM_MACOSX_1___OSX_LOWLEVEL_SRC_OBJECTS_1_1 =  \
@@ -12218,6 +12213,7 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_9 =  \
        corelib_carbon_renderer.o \
        corelib_carbon_settings.o \
        corelib_statbrma.o \
+       corelib_carbon_region.o \
        corelib_utilscocoa.o
 @COND_PLATFORM_MACOSX_1@__OSX_CARBON_COCOA_SRC_OBJECTS_9 = $(COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_9)
 COND_PLATFORM_MACOSX_1___OSX_LOWLEVEL_SRC_OBJECTS_1_4 =  \
@@ -14869,9 +14865,6 @@ monodll_carbon_printdlg.o: $(srcdir)/src/osx/carbon/printdlg.cpp $(MONODLL_ODEP)
 monodll_carbon_radiobut.o: $(srcdir)/src/osx/carbon/radiobut.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/radiobut.cpp
 
-monodll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONODLL_ODEP)
-       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
-
 monodll_carbon_scrolbar.o: $(srcdir)/src/osx/carbon/scrolbar.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/scrolbar.cpp
 
@@ -15226,6 +15219,9 @@ monodll_cocoa_utilsexc.o: $(srcdir)/src/cocoa/utilsexc.mm $(MONODLL_ODEP)
 monodll_src_cocoa_window.o: $(srcdir)/src/cocoa/window.mm $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/window.mm
 
+monodll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONODLL_ODEP)
+       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
+
 monodll_os2_accel.o: $(srcdir)/src/os2/accel.cpp $(MONODLL_ODEP)
        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/accel.cpp
 
@@ -17917,18 +17913,18 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp
 
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONODLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@    $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monodll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
 @COND_USE_GUI_1@monodll_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
 
@@ -19546,9 +19542,6 @@ monolib_carbon_printdlg.o: $(srcdir)/src/osx/carbon/printdlg.cpp $(MONOLIB_ODEP)
 monolib_carbon_radiobut.o: $(srcdir)/src/osx/carbon/radiobut.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/radiobut.cpp
 
-monolib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONOLIB_ODEP)
-       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
-
 monolib_carbon_scrolbar.o: $(srcdir)/src/osx/carbon/scrolbar.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/scrolbar.cpp
 
@@ -19903,6 +19896,9 @@ monolib_cocoa_utilsexc.o: $(srcdir)/src/cocoa/utilsexc.mm $(MONOLIB_ODEP)
 monolib_src_cocoa_window.o: $(srcdir)/src/cocoa/window.mm $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/window.mm
 
+monolib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONOLIB_ODEP)
+       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
+
 monolib_os2_accel.o: $(srcdir)/src/os2/accel.cpp $(MONOLIB_ODEP)
        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/accel.cpp
 
@@ -22594,18 +22590,18 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp
 
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monolib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monolib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONOLIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@    $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@monolib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
 @COND_USE_GUI_1@monolib_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
 
@@ -24883,9 +24879,6 @@ coredll_carbon_printdlg.o: $(srcdir)/src/osx/carbon/printdlg.cpp $(COREDLL_ODEP)
 coredll_carbon_radiobut.o: $(srcdir)/src/osx/carbon/radiobut.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/radiobut.cpp
 
-coredll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(COREDLL_ODEP)
-       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
-
 coredll_carbon_scrolbar.o: $(srcdir)/src/osx/carbon/scrolbar.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/scrolbar.cpp
 
@@ -25240,6 +25233,9 @@ coredll_utilsexc.o: $(srcdir)/src/cocoa/utilsexc.mm $(COREDLL_ODEP)
 coredll_src_cocoa_window.o: $(srcdir)/src/cocoa/window.mm $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/window.mm
 
+coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
+       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
+
 coredll_os2_accel.o: $(srcdir)/src/os2/accel.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/os2/accel.cpp
 
@@ -27454,18 +27450,18 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(COREDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp
 
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(COREDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(COREDLL_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@    $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
 @COND_USE_GUI_1@coredll_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
 
@@ -28387,9 +28383,6 @@ corelib_carbon_printdlg.o: $(srcdir)/src/osx/carbon/printdlg.cpp $(CORELIB_ODEP)
 corelib_carbon_radiobut.o: $(srcdir)/src/osx/carbon/radiobut.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/radiobut.cpp
 
-corelib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(CORELIB_ODEP)
-       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
-
 corelib_carbon_scrolbar.o: $(srcdir)/src/osx/carbon/scrolbar.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/scrolbar.cpp
 
@@ -28744,6 +28737,9 @@ corelib_utilsexc.o: $(srcdir)/src/cocoa/utilsexc.mm $(CORELIB_ODEP)
 corelib_src_cocoa_window.o: $(srcdir)/src/cocoa/window.mm $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/window.mm
 
+corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
+       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
+
 corelib_os2_accel.o: $(srcdir)/src/os2/accel.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/os2/accel.cpp
 
@@ -30958,18 +30954,18 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(CORELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp
 
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_carbon_region.o: $(srcdir)/src/osx/carbon/region.cpp $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/region.cpp
+
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(CORELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(CORELIB_ODEP)
 @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/carbon/utilscocoa.mm
 
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@    $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
-
 @COND_USE_GUI_1@corelib_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
 
index 804601dd15aba1c01f661c88b96f8ef6fd603094..ef2cc9efb17cdeae0ffff5ba69672a72a94f7e51 100644 (file)
@@ -2254,6 +2254,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/osx/carbon/renderer.cpp
     src/osx/carbon/settings.cpp
     src/osx/carbon/statbrma.cpp
+    src/osx/carbon/region.cpp
     <!-- cocoa bridge -->
     src/osx/carbon/utilscocoa.mm
 </if>
@@ -2281,7 +2282,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/osx/carbon/notebmac.cpp
     src/osx/carbon/printdlg.cpp
     src/osx/carbon/radiobut.cpp
-    src/osx/carbon/region.cpp
     src/osx/carbon/scrolbar.cpp
     src/osx/carbon/slider.cpp
     src/osx/carbon/spinbutt.cpp
@@ -2462,7 +2462,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/generic/fontpickerg.cpp
     src/generic/listctrl.cpp
     src/generic/prntdlgg.cpp
-    src/generic/regiong.cpp
     src/generic/statusbr.cpp
 </set>
 <set var="OSX_COCOA_HDR" hints="files">
index 088fe282f3fa825e4a6037a0bd31c13ab8a6c5b1..16580178cb3f17d0468bd8c3913dadef2aa3ba7d 100644 (file)
@@ -56,6 +56,7 @@ WXDLLIMPEXP_BASE wxString wxMacFindFolder(short vRefNum,
                                           Boolean createFolder);
 
 template<typename T> EventParamType wxMacGetEventParamType() { wxFAIL_MSG( wxT("Unknown Param Type") ); return 0; }
+template<> inline EventParamType wxMacGetEventParamType<HIShapeRef>() { return typeHIShapeRef; }
 template<> inline EventParamType wxMacGetEventParamType<RgnHandle>() { return typeQDRgnHandle; }
 template<> inline EventParamType wxMacGetEventParamType<ControlRef>() { return typeControlRef; }
 template<> inline EventParamType wxMacGetEventParamType<WindowRef>() { return typeWindowRef; }
index ea68dd8757f590bb62dbf9392ca8770169d2472f..e08528207937eb0883c0329f061c5c436c86a23e 100644 (file)
@@ -1,4 +1,4 @@
-#if wxOSX_USE_CARBON
+#if wxOSX_USE_COCOA_OR_CARBON
 #include "wx/osx/carbon/region.h"
 #else
 #define wxRegionGeneric wxRegion
index d228363115335f7786e1de45722e93bda268da95..d5693becf3a2cdadbc1bc4bc9f1dfc9bc13896ed 100644 (file)
@@ -163,11 +163,12 @@ public:
     wxWindowMac *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const;
 
     virtual void        TriggerScrollEvent( wxEventType scrollEvent ) ;
-    virtual bool        MacDoRedraw( void* updatergn , long time ) ;
-
     // this should not be overriden in classes above wxWindowMac
     // because it is called from its destructor via DeleteChildren
     virtual void        RemoveChild( wxWindowBase *child );
+    
+    virtual bool        MacDoRedraw( long time ) ;
+    virtual void        MacPaintChildrenBorders();
     virtual void        MacPaintBorders( int left , int top ) ;
     void                MacPaintGrowBox();
 
index 103306be896781ea9a7fd110a4cf1e388197d815..915ed71d2a0fddf996d4a840d6fd395754371906 100644 (file)
@@ -183,7 +183,7 @@ protected:
 // ports with Combine() in this class
 #if defined(__WXPALMOS__) || \
     defined(__WXMSW__) || \
-    ( defined(__WXMAC__) && wxOSX_USE_CARBON ) || \
+    ( defined(__WXMAC__) && wxOSX_USE_COCOA_OR_CARBON ) || \
     defined(__WXPM__)
 
 #define wxHAS_REGION_COMBINE
index b2d0c251ca41d8ee66591b843966d18197712f68..ef66179aa091da6bbf3bc52b4fa7c74b11d9f7a1 100644 (file)
@@ -16,7 +16,7 @@
     #include "wx/gdicmn.h"
 #endif
 
-#include "wx/osx/uma.h"
+#include "wx/osx/private.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
 IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator, wxObject)
@@ -101,9 +101,9 @@ wxRegion::wxRegion(size_t n, const wxPoint *points, wxPolygonFillMode WXUNUSED(f
     wxUnusedVar(n);
     wxUnusedVar(points);
 
-#ifndef __LP64__
-
-    // TODO : any APIs ?
+#if 0 
+    // no non-QD APIs available
+    // TODO : remove ?
     // 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
 
@@ -405,7 +405,15 @@ wxRegionIterator::wxRegionIterator(const wxRegion& region)
  * Reset iterator for a new /e region.
  */
 
-#ifndef __LP64__
+class RegionToRectsCallbackData
+{
+public :
+    wxRect* m_rects ;
+    long m_current ;
+};
+
+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+
 OSStatus wxMacRegionToRectsCounterCallback(
     UInt16 message, RgnHandle WXUNUSED(region), const Rect *WXUNUSED(rect), void *data )
 {
@@ -422,13 +430,6 @@ OSStatus wxMacRegionToRectsCounterCallback(
     return noErr;
 }
 
-class RegionToRectsCallbackData
-{
-public :
-    wxRect* m_rects ;
-    long m_current ;
-};
-
 OSStatus wxMacRegionToRectsSetterCallback(
     UInt16 message, RgnHandle WXUNUSED(region), const Rect *rect, void *data )
 {
@@ -440,6 +441,39 @@ OSStatus wxMacRegionToRectsSetterCallback(
 
     return noErr;
 }
+
+#endif
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+
+OSStatus wxOSXRegionToRectsCounterCallback(
+    int message, HIShapeRef WXUNUSED(region), const CGRect *WXUNUSED(rect), void *data )
+{
+    long *m_numRects = (long*) data ;
+    if ( message == kHIShapeEnumerateInit )
+    {
+        (*m_numRects) = 0 ;
+    }
+    else if (message == kHIShapeEnumerateRect)
+    {
+        (*m_numRects) += 1 ;
+    }
+
+    return noErr;
+}
+
+OSStatus wxOSXRegionToRectsSetterCallback(
+    int message, HIShapeRef WXUNUSED(region), const CGRect *rect, void *data )
+{
+    if (message == kHIShapeEnumerateRect)
+    {
+        RegionToRectsCallbackData *cb = (RegionToRectsCallbackData*) data ;
+        cb->m_rects[cb->m_current++] = wxRect( rect->origin.x , rect->origin.y , rect->size.width , rect->size.height ) ;
+    }
+
+    return noErr;
+}
+
 #endif
 
 void wxRegionIterator::Reset(const wxRegion& region)
@@ -459,35 +493,59 @@ void wxRegionIterator::Reset(const wxRegion& region)
     }
     else
     {
-#ifdef __LP64__
+#if 0
+        // fallback code in case we ever need it again
         // copying this to a path and dissecting the path would be an option
         m_numRects = 1;
         m_rects = new wxRect[m_numRects];
         m_rects[0] = m_region.GetBox();
+#endif
 
-#else
-        RegionToRectsUPP proc = (RegionToRectsUPP) wxMacRegionToRectsCounterCallback;
-
-        OSStatus err = noErr;
-        RgnHandle rgn = NewRgn();
-        HIShapeGetAsQDRgn(OTHER_M_REGION(region), rgn);
-
-        err = QDRegionToRects (rgn, kQDParseRegionFromTopLeft, proc, (void*)&m_numRects);
-        if (err == noErr)
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+        if ( HIShapeEnumerate != NULL )
         {
-            proc = (RegionToRectsUPP) wxMacRegionToRectsSetterCallback;
-            m_rects = new wxRect[m_numRects];
-            RegionToRectsCallbackData data ;
-            data.m_rects = m_rects ;
-            data.m_current = 0 ;
-            QDRegionToRects( rgn , kQDParseRegionFromTopLeft, proc, (void*)&data );
+            OSStatus err = HIShapeEnumerate (OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsCounterCallback, 
+                (void*)&m_numRects);
+            if (err == noErr)
+            {
+                m_rects = new wxRect[m_numRects];
+                RegionToRectsCallbackData data ;
+                data.m_rects = m_rects ;
+                data.m_current = 0 ;
+                HIShapeEnumerate( OTHER_M_REGION(region), kHIShapeParseFromTopLeft, wxOSXRegionToRectsSetterCallback, 
+                    (void*)&data );
+            }
+            else
+            {
+                m_numRects = 0;
+            }
         }
         else
+#endif
         {
-            m_numRects = 0;
-        }
-        DisposeRgn( rgn );
+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+            OSStatus err = noErr;
+            RgnHandle rgn = NewRgn();
+            HIShapeGetAsQDRgn(OTHER_M_REGION(region), rgn);
+
+            err = QDRegionToRects (rgn, kQDParseRegionFromTopLeft, wxMacRegionToRectsCounterCallback
+                , (void*)&m_numRects);
+            if (err == noErr)
+            {
+                m_rects = new wxRect[m_numRects];
+                RegionToRectsCallbackData data ;
+                data.m_rects = m_rects ;
+                data.m_current = 0 ;
+                QDRegionToRects( rgn , kQDParseRegionFromTopLeft, wxMacRegionToRectsSetterCallback, 
+                    (void*)&data );
+            }
+            else
+            {
+                m_numRects = 0;
+            }
+            DisposeRgn( rgn );
 #endif
+        }
     }
 }
 
index f56dde4393a6fe15c7e59d41301fe75866d980c8..2e9a26ff25b71774fa9755ec07d7326d03542b4f 100644 (file)
@@ -131,24 +131,23 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
     {
         case kEventControlDraw :
             {
-                RgnHandle updateRgn = NULL ;
-                RgnHandle allocatedRgn = NULL ;
+                HIShapeRef updateRgn = NULL ;
+                HIMutableShapeRef allocatedRgn = NULL ;
                 wxRegion visRegion = thisWindow->MacGetVisibleRegion() ;
 
-                if ( cEvent.GetParameter<RgnHandle>(kEventParamRgnHandle, &updateRgn) != noErr )
+                // according to the docs: redraw entire control if param not present
+                if ( cEvent.GetParameter<HIShapeRef>(kEventParamShape, &updateRgn) != noErr )
                 {
-                    HIShapeGetAsQDRgn( visRegion.GetWXHRGN(), updateRgn );
+                    updateRgn = visRegion.GetWXHRGN();
                 }
                 else
                 {
                     if ( thisWindow->MacGetLeftBorderSize() != 0 || thisWindow->MacGetTopBorderSize() != 0 )
                     {
                         // as this update region is in native window locals we must adapt it to wx window local
-                        allocatedRgn = NewRgn() ;
-                        CopyRgn( updateRgn , allocatedRgn ) ;
-
+                        allocatedRgn = HIShapeCreateMutableCopy(updateRgn);
+                        HIShapeOffset(allocatedRgn, thisWindow->MacGetLeftBorderSize() , thisWindow->MacGetTopBorderSize());
                         // hide the given region by the new region that must be shifted
-                        OffsetRgn( allocatedRgn , thisWindow->MacGetLeftBorderSize() , thisWindow->MacGetTopBorderSize() ) ;
                         updateRgn = allocatedRgn ;
                     }
                 }
@@ -210,9 +209,23 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
                             CGContextClearRect( cgContext, bounds );
                         }
 
-                        if ( thisWindow->MacDoRedraw( updateRgn , cEvent.GetTicks() ) )
-                            result = noErr ;
-
+                        if ( !HIShapeIsEmpty(updateRgn) )
+                        {
+                            // refcount increase because wxRegion constructor takes ownership of the native region
+                            CFRetain(updateRgn);
+                            thisWindow->GetUpdateRegion() = wxRegion(updateRgn);
+                            if ( !thisWindow->MacDoRedraw( cEvent.GetTicks() ) )
+                            {
+                               // for native controls: call their native paint method
+                                if ( !thisWindow->MacIsUserPane() || 
+                                    ( thisWindow->IsTopLevel() && thisWindow->GetBackgroundStyle() == wxBG_STYLE_SYSTEM ) )
+                                {
+                                    if ( thisWindow->GetBackgroundStyle() != wxBG_STYLE_TRANSPARENT )
+                                        CallNextEventHandler( handler ,event ) ;
+                                }
+                            }
+                            thisWindow->MacPaintChildrenBorders();
+                        }
                         thisWindow->MacSetCGContextRef( NULL ) ;
                     }
 
@@ -221,7 +234,7 @@ static pascal OSStatus wxMacWindowControlEventHandler( EventHandlerCallRef handl
                 }
 
                 if ( allocatedRgn )
-                    DisposeRgn( allocatedRgn ) ;
+                    CFRelease( allocatedRgn ) ;
             }
             break ;
 
index 5e8a0b9f46981c4a78d03029294d22b4f27d8584..d5a4f2a756ce7b5aba2ddd928e4b8a83b59f2b51 100644 (file)
@@ -1818,116 +1818,96 @@ void wxWindowMac::MacUpdateClippedRects() const
 /*
     This function must not change the updatergn !
  */
-bool wxWindowMac::MacDoRedraw( void* updatergnr , long time )
+bool wxWindowMac::MacDoRedraw( long time )
 {
     bool handled = false ;
-#if wxOSX_USE_CARBON
-    Rect updatebounds ;
-    RgnHandle updatergn = (RgnHandle) updatergnr ;
-    GetRegionBounds( updatergn , &updatebounds ) ;
+    
+    wxRegion formerUpdateRgn = m_updateRegion;
+    wxRegion clientUpdateRgn = formerUpdateRgn;
 
-    // wxLogDebug(wxT("update for %s bounds %d, %d, %d, %d"), wxString(GetClassInfo()->GetClassName()).c_str(), updatebounds.left, updatebounds.top , updatebounds.right , updatebounds.bottom ) ;
+    wxSize sz = GetClientSize() ;
+    wxPoint origin = GetClientAreaOrigin() ;
+    
+    clientUpdateRgn.Intersect(origin.x , origin.y , origin.x + sz.x , origin.y + sz.y);
+    
+    // first send an erase event to the entire update area
+    {
+        // for the toplevel window this really is the entire area
+        // for all the others only their client area, otherwise they
+        // might be drawing with full alpha and eg put blue into
+        // the grow-box area of a scrolled window (scroll sample)
+        wxDC* dc = new wxWindowDC(this);
+        if ( IsTopLevel() )
+            dc->SetDeviceClippingRegion(formerUpdateRgn);
+        else
+            dc->SetDeviceClippingRegion(clientUpdateRgn);
 
-    if ( !EmptyRgn(updatergn) )
-    {
-        RgnHandle newupdate = NewRgn() ;
-        wxSize point = GetClientSize() ;
-        wxPoint origin = GetClientAreaOrigin() ;
-        SetRectRgn( newupdate , origin.x , origin.y , origin.x + point.x , origin.y + point.y ) ;
-        SectRgn( newupdate , updatergn , newupdate ) ;
+        wxEraseEvent eevent( GetId(), dc );
+        eevent.SetEventObject( this );
+        HandleWindowEvent( eevent );
+        delete dc ;
+    }
 
-        // first send an erase event to the entire update area
-        {
-            // for the toplevel window this really is the entire area
-            // for all the others only their client area, otherwise they
-            // might be drawing with full alpha and eg put blue into
-            // the grow-box area of a scrolled window (scroll sample)
-            wxDC* dc = new wxWindowDC(this);
-            if ( IsTopLevel() )
-                dc->SetDeviceClippingRegion(wxRegion(HIShapeCreateWithQDRgn(updatergn)));
-            else
-                dc->SetDeviceClippingRegion(wxRegion(HIShapeCreateWithQDRgn(newupdate)));
+    MacPaintGrowBox();
 
-            wxEraseEvent eevent( GetId(), dc );
-            eevent.SetEventObject( this );
-            HandleWindowEvent( eevent );
-            delete dc ;
-        }
+    // calculate a client-origin version of the update rgn and set m_updateRegion to that
+    clientUpdateRgn.Offset( -origin.x , -origin.y );
+    m_updateRegion = clientUpdateRgn ;
 
-        MacPaintGrowBox();
+    if ( !m_updateRegion.Empty() )
+    {
+        // paint the window itself
 
-        // calculate a client-origin version of the update rgn and set m_updateRegion to that
-        OffsetRgn( newupdate , -origin.x , -origin.y ) ;
-        m_updateRegion = wxRegion(HIShapeCreateWithQDRgn(newupdate)) ;
-        DisposeRgn( newupdate ) ;
+        wxPaintEvent event;
+        event.SetTimestamp(time);
+        event.SetEventObject(this);
+        handled = HandleWindowEvent(event);
+    }
 
-        if ( !m_updateRegion.Empty() )
-        {
-            // paint the window itself
+    m_updateRegion = formerUpdateRgn;
+    return handled;
+}
 
-            wxPaintEvent event;
-            event.SetTimestamp(time);
-            event.SetEventObject(this);
-            if ( !HandleWindowEvent(event) )
-            {
-                // for native controls: call their native paint method
-                if ( !MacIsUserPane() || ( IsTopLevel() && GetBackgroundStyle() == wxBG_STYLE_SYSTEM ) )
-                {
-                    if ( wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL
-                        && GetBackgroundStyle() != wxBG_STYLE_TRANSPARENT )
-                        CallNextEventHandler(
-                            (EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef() ,
-                            (EventRef) wxTheApp->MacGetCurrentEvent() ) ;
-                }
-            }
-            
-            handled = true ;
-        }
+void wxWindowMac::MacPaintChildrenBorders()
+{
+    // now we cannot rely on having its borders drawn by a window itself, as it does not
+    // get the updateRgn wide enough to always do so, so we do it from the parent
+    // this would also be the place to draw any custom backgrounds for native controls
+    // in Composited windowing
+    wxPoint clientOrigin = GetClientAreaOrigin() ;
 
-        // now we cannot rely on having its borders drawn by a window itself, as it does not
-        // get the updateRgn wide enough to always do so, so we do it from the parent
-        // this would also be the place to draw any custom backgrounds for native controls
-        // in Composited windowing
-        wxPoint clientOrigin = GetClientAreaOrigin() ;
+    wxWindowMac *child;
+    int x, y, w, h;
+    for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext())
+    {
+        child = node->GetData();
+        if (child == NULL)
+            continue;
+        if (child == m_vScrollBar)
+            continue;
+        if (child == m_hScrollBar)
+            continue;
+        if (child->IsTopLevel())
+            continue;
+        if (!child->IsShown())
+            continue;
 
-        wxWindowMac *child;
-        int x, y, w, h;
-        for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst(); node; node = node->GetNext())
+        // only draw those in the update region (add a safety margin of 10 pixels for shadow effects
+
+        child->GetPosition( &x, &y );
+        child->GetSize( &w, &h );
+        
+        if ( m_updateRegion.Contains(clientOrigin.x+x-10, clientOrigin.y+y-10, w+20, h+20) )
         {
-            child = node->GetData();
-            if (child == NULL)
-                continue;
-            if (child == m_vScrollBar)
-                continue;
-            if (child == m_hScrollBar)
-                continue;
-            if (child->IsTopLevel())
-                continue;
-            if (!child->IsShown())
-                continue;
-
-            // only draw those in the update region (add a safety margin of 10 pixels for shadow effects
-
-            child->GetPosition( &x, &y );
-            child->GetSize( &w, &h );
-            Rect childRect = { y , x , y + h , x + w } ;
-            OffsetRect( &childRect , clientOrigin.x , clientOrigin.y ) ;
-            InsetRect( &childRect , -10 , -10) ;
-
-            if ( RectInRgn( &childRect , updatergn ) )
+            // paint custom borders
+            wxNcPaintEvent eventNc( child->GetId() );
+            eventNc.SetEventObject( child );
+            if ( !child->HandleWindowEvent( eventNc ) )
             {
-                // paint custom borders
-                wxNcPaintEvent eventNc( child->GetId() );
-                eventNc.SetEventObject( child );
-                if ( !child->HandleWindowEvent( eventNc ) )
-                {
-                    child->MacPaintBorders(0, 0) ;
-                }
+                child->MacPaintBorders(0, 0) ;
             }
         }
     }
-#endif
-    return handled ;
 }