diff --git a/Makefile.in b/Makefile.in
index d7bc3e8d99..342a4d4a29 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -5605,7 +5605,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS = \
monodll_cocoa_dataview.o \
monodll_timectrl_osx.o \
monodll_taskbarcmn.o \
- monodll_cocoa_activityindicator.o
+ monodll_cocoa_activityindicator.o \
+ monodll_cocoa_statbmp.o
@COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS)
COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS = \
$(__OSX_COMMON_SRC_OBJECTS) \
@@ -5629,7 +5630,8 @@ COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS = \
monodll_iphone_settings.o \
monodll_sound_osx.o \
monodll_core_sound.o \
- monodll_animateg.o
+ monodll_animateg.o \
+ monodll_iphone_statbmp.o
@COND_TOOLKIT_OSX_IPHONE@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS)
COND_TOOLKIT_QT___GUI_SRC_OBJECTS = \
monodll_taskbarcmn.o \
@@ -7568,7 +7570,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1 = \
monolib_cocoa_dataview.o \
monolib_timectrl_osx.o \
monolib_taskbarcmn.o \
- monolib_cocoa_activityindicator.o
+ monolib_cocoa_activityindicator.o \
+ monolib_cocoa_statbmp.o
@COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1)
COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_1 = \
$(__OSX_COMMON_SRC_OBJECTS_0) \
@@ -7592,7 +7595,8 @@ COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_1 = \
monolib_iphone_settings.o \
monolib_sound_osx.o \
monolib_core_sound.o \
- monolib_animateg.o
+ monolib_animateg.o \
+ monolib_iphone_statbmp.o
@COND_TOOLKIT_OSX_IPHONE@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_1)
COND_TOOLKIT_QT___GUI_SRC_OBJECTS_1 = \
monolib_taskbarcmn.o \
@@ -9678,7 +9682,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2 = \
coredll_cocoa_dataview.o \
coredll_timectrl_osx.o \
coredll_taskbarcmn.o \
- coredll_cocoa_activityindicator.o
+ coredll_cocoa_activityindicator.o \
+ coredll_cocoa_statbmp.o
@COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2)
COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_2 = \
$(__OSX_COMMON_SRC_OBJECTS_8) \
@@ -9702,7 +9707,8 @@ COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_2 = \
coredll_iphone_settings.o \
coredll_sound_osx.o \
coredll_core_sound.o \
- coredll_animateg.o
+ coredll_animateg.o \
+ coredll_iphone_statbmp.o
@COND_TOOLKIT_OSX_IPHONE@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_2)
COND_TOOLKIT_QT___GUI_SRC_OBJECTS_2 = \
coredll_taskbarcmn.o \
@@ -11383,7 +11389,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3 = \
corelib_cocoa_dataview.o \
corelib_timectrl_osx.o \
corelib_taskbarcmn.o \
- corelib_cocoa_activityindicator.o
+ corelib_cocoa_activityindicator.o \
+ corelib_cocoa_statbmp.o
@COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3)
COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_3 = \
$(__OSX_COMMON_SRC_OBJECTS_9) \
@@ -11407,7 +11414,8 @@ COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_3 = \
corelib_iphone_settings.o \
corelib_sound_osx.o \
corelib_core_sound.o \
- corelib_animateg.o
+ corelib_animateg.o \
+ corelib_iphone_statbmp.o
@COND_TOOLKIT_OSX_IPHONE@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_3)
COND_TOOLKIT_QT___GUI_SRC_OBJECTS_3 = \
corelib_taskbarcmn.o \
@@ -13119,7 +13127,8 @@ COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS = \
monodll_prntdlgg.o \
monodll_generic_statusbr.o \
monodll_generic_textmeasure.o \
- monodll_generic_icon.o
+ monodll_generic_icon.o \
+ monodll_statbmp_osx.o
@COND_PLATFORM_MACOSX_1@__OSX_COMMON_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS)
COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS = \
monodll_generic_caret.o \
@@ -13262,7 +13271,8 @@ COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_0 = \
monolib_prntdlgg.o \
monolib_generic_statusbr.o \
monolib_generic_textmeasure.o \
- monolib_generic_icon.o
+ monolib_generic_icon.o \
+ monolib_statbmp_osx.o
@COND_PLATFORM_MACOSX_1@__OSX_COMMON_SRC_OBJECTS_0 = $(COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_0)
COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_27 = \
monolib_generic_caret.o \
@@ -13405,7 +13415,8 @@ COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_8 = \
coredll_prntdlgg.o \
coredll_generic_statusbr.o \
coredll_generic_textmeasure.o \
- coredll_generic_icon.o
+ coredll_generic_icon.o \
+ coredll_statbmp_osx.o
@COND_PLATFORM_MACOSX_1@__OSX_COMMON_SRC_OBJECTS_8 = $(COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_8)
COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_1_4 = \
coredll_generic_caret.o \
@@ -13545,7 +13556,8 @@ COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_9 = \
corelib_prntdlgg.o \
corelib_generic_statusbr.o \
corelib_generic_textmeasure.o \
- corelib_generic_icon.o
+ corelib_generic_icon.o \
+ corelib_statbmp_osx.o
@COND_PLATFORM_MACOSX_1@__OSX_COMMON_SRC_OBJECTS_9 = $(COND_PLATFORM_MACOSX_1___OSX_COMMON_SRC_OBJECTS_9)
COND_PLATFORM_MACOSX_1___GTK_PLATFORM_SRC_OBJECTS_2_2 = \
corelib_generic_caret.o \
@@ -16456,6 +16468,9 @@ monodll_timectrl_osx.o: $(srcdir)/src/osx/timectrl_osx.cpp $(MONODLL_ODEP)
monodll_cocoa_activityindicator.o: $(srcdir)/src/osx/cocoa/activityindicator.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/activityindicator.mm
+monodll_cocoa_statbmp.o: $(srcdir)/src/osx/cocoa/statbmp.mm $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/statbmp.mm
+
monodll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
@@ -16507,6 +16522,9 @@ monodll_iphone_window.o: $(srcdir)/src/osx/iphone/window.mm $(MONODLL_ODEP)
monodll_iphone_settings.o: $(srcdir)/src/osx/iphone/settings.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/settings.mm
+monodll_iphone_statbmp.o: $(srcdir)/src/osx/iphone/statbmp.mm $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/statbmp.mm
+
monodll_qt_accel.o: $(srcdir)/src/qt/accel.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/qt/accel.cpp
@@ -20017,6 +20035,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_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_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_core_sound.o: $(srcdir)/src/osx/core/sound.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/sound.cpp
@@ -21694,6 +21718,9 @@ monolib_timectrl_osx.o: $(srcdir)/src/osx/timectrl_osx.cpp $(MONOLIB_ODEP)
monolib_cocoa_activityindicator.o: $(srcdir)/src/osx/cocoa/activityindicator.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/activityindicator.mm
+monolib_cocoa_statbmp.o: $(srcdir)/src/osx/cocoa/statbmp.mm $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/statbmp.mm
+
monolib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
@@ -21745,6 +21772,9 @@ monolib_iphone_window.o: $(srcdir)/src/osx/iphone/window.mm $(MONOLIB_ODEP)
monolib_iphone_settings.o: $(srcdir)/src/osx/iphone/settings.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/settings.mm
+monolib_iphone_statbmp.o: $(srcdir)/src/osx/iphone/statbmp.mm $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/statbmp.mm
+
monolib_qt_accel.o: $(srcdir)/src/qt/accel.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/qt/accel.cpp
@@ -25255,6 +25285,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monolib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_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_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monolib_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(MONOLIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_core_sound.o: $(srcdir)/src/osx/core/sound.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/sound.cpp
@@ -27595,6 +27631,9 @@ coredll_timectrl_osx.o: $(srcdir)/src/osx/timectrl_osx.cpp $(COREDLL_ODEP)
coredll_cocoa_activityindicator.o: $(srcdir)/src/osx/cocoa/activityindicator.mm $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/activityindicator.mm
+coredll_cocoa_statbmp.o: $(srcdir)/src/osx/cocoa/statbmp.mm $(COREDLL_ODEP)
+ $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/statbmp.mm
+
coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
@@ -27649,6 +27688,9 @@ coredll_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(COREDLL_ODEP)
coredll_iphone_settings.o: $(srcdir)/src/osx/iphone/settings.mm $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/settings.mm
+coredll_iphone_statbmp.o: $(srcdir)/src/osx/iphone/statbmp.mm $(COREDLL_ODEP)
+ $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/statbmp.mm
+
coredll_qt_accel.o: $(srcdir)/src/qt/accel.cpp $(COREDLL_ODEP)
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/qt/accel.cpp
@@ -30586,6 +30628,12 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_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_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_core_sound.o: $(srcdir)/src/osx/core/sound.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/core/sound.cpp
@@ -31828,6 +31876,9 @@ corelib_timectrl_osx.o: $(srcdir)/src/osx/timectrl_osx.cpp $(CORELIB_ODEP)
corelib_cocoa_activityindicator.o: $(srcdir)/src/osx/cocoa/activityindicator.mm $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/activityindicator.mm
+corelib_cocoa_statbmp.o: $(srcdir)/src/osx/cocoa/statbmp.mm $(CORELIB_ODEP)
+ $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/statbmp.mm
+
corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/regiong.cpp
@@ -31882,6 +31933,9 @@ corelib_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(CORELIB_ODEP)
corelib_iphone_settings.o: $(srcdir)/src/osx/iphone/settings.mm $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/settings.mm
+corelib_iphone_statbmp.o: $(srcdir)/src/osx/iphone/statbmp.mm $(CORELIB_ODEP)
+ $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/statbmp.mm
+
corelib_qt_accel.o: $(srcdir)/src/qt/accel.cpp $(CORELIB_ODEP)
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/qt/accel.cpp
@@ -34819,6 +34873,12 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_utilscocoa.o: $(srcdir)/src/osx/carbon/utilscocoa.mm $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_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_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_statbmp_osx.o: $(srcdir)/src/osx/statbmp_osx.cpp $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/statbmp_osx.cpp
+
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_core_sound.o: $(srcdir)/src/osx/core/sound.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/core/sound.cpp
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index 5dc4572ee7..27339536a8 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -2468,6 +2468,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/generic/statusbr.cpp
src/generic/textmeasure.cpp
src/generic/icon.cpp
+ src/osx/statbmp_osx.cpp
@@ -2627,6 +2628,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/osx/timectrl_osx.cpp
src/common/taskbarcmn.cpp
src/osx/cocoa/activityindicator.mm
+ src/osx/cocoa/statbmp.mm
wx/osx/cocoa/chkconf.h
@@ -2677,6 +2679,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/osx/sound_osx.cpp
src/osx/core/sound.cpp
src/generic/animateg.cpp
+ src/osx/iphone/statbmp.mm
diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake
index 9183db4a9b..7749731579 100644
--- a/build/cmake/files.cmake
+++ b/build/cmake/files.cmake
@@ -2346,6 +2346,7 @@ set(OSX_COMMON_SRC
src/generic/textmeasure.cpp
src/generic/icon.cpp
#TODO:
+ src/osx/statbmp_osx.cpp
)
set(OSX_SHARED_HDR
@@ -2499,6 +2500,7 @@ set(OSX_COCOA_SRC
src/osx/cocoa/notifmsg.mm
src/osx/datectrl_osx.cpp
src/osx/core/sound.cpp
+ src/osx/cocoa/statbmp.mm
)
set(OSX_COCOA_HDR
@@ -2546,6 +2548,7 @@ set(OSX_IPHONE_SRC
src/osx/sound_osx.cpp
src/generic/animateg.cpp
src/osx/core/sound.cpp
+ src/osx/iphone/statbmp.mm
)
set(OSX_IPHONE_HDR
diff --git a/build/files b/build/files
index 5fde938a4c..ef98625be1 100644
--- a/build/files
+++ b/build/files
@@ -2278,6 +2278,7 @@ OSX_COMMON_SRC =
src/osx/slider_osx.cpp
src/osx/spinbutt_osx.cpp
src/osx/srchctrl_osx.cpp
+ src/osx/statbmp_osx.cpp
src/osx/statbox_osx.cpp
src/osx/statline_osx.cpp
src/osx/stattext_osx.cpp
@@ -2467,6 +2468,7 @@ OSX_COCOA_SRC =
src/osx/cocoa/slider.mm
src/osx/cocoa/spinbutt.mm
src/osx/cocoa/srchctrl.mm
+ src/osx/cocoa/statbmp.mm
src/osx/cocoa/statbox.mm
src/osx/cocoa/statline.mm
src/osx/cocoa/stattext.mm
@@ -2525,6 +2527,7 @@ OSX_IPHONE_SRC =
src/osx/iphone/scrolbar.mm
src/osx/iphone/settings.mm
src/osx/iphone/slider.mm
+ src/osx/iphone/statbmp.mm
src/osx/iphone/stattext.mm
src/osx/iphone/textctrl.mm
src/osx/iphone/toolbar.mm
diff --git a/include/wx/osx/cocoa/private.h b/include/wx/osx/cocoa/private.h
index de91d02245..18267fda31 100644
--- a/include/wx/osx/cocoa/private.h
+++ b/include/wx/osx/cocoa/private.h
@@ -41,7 +41,6 @@ WX_NSImage WXDLLIMPEXP_CORE wxOSXGetNSImageFromCGImage( CGImageRef image, double
WX_NSImage WXDLLIMPEXP_CORE wxOSXGetNSImageFromIconRef( WXHICON iconref );
WX_NSImage WXDLLIMPEXP_CORE wxOSXGetIconForType(OSType type );
void WXDLLIMPEXP_CORE wxOSXSetImageSize(WX_NSImage image, CGFloat width, CGFloat height);
-double WXDLLIMPEXP_CORE wxOSXGetImageScaleFactor(WXImage image);
wxBitmap WXDLLIMPEXP_CORE wxOSXCreateSystemBitmap(const wxString& id, const wxString &client, const wxSize& size);
WXWindow WXDLLIMPEXP_CORE wxOSXGetMainWindow();
WXWindow WXDLLIMPEXP_CORE wxOSXGetKeyWindow();
diff --git a/include/wx/osx/core/private.h b/include/wx/osx/core/private.h
index b9cffaa443..85bf77b8cf 100644
--- a/include/wx/osx/core/private.h
+++ b/include/wx/osx/core/private.h
@@ -119,6 +119,7 @@ CGImageRef WXDLLIMPEXP_CORE wxOSXCreateCGImageFromImage( WXImage nsimage, double
CGImageRef WXDLLIMPEXP_CORE wxOSXGetCGImageFromImage( WXImage nsimage, CGRect* r, CGContextRef cg);
CGContextRef WXDLLIMPEXP_CORE wxOSXCreateBitmapContextFromImage( WXImage nsimage, bool *isTemplate = NULL);
WXImage WXDLLIMPEXP_CORE wxOSXGetImageFromCGImage( CGImageRef image, double scale = 1.0, bool isTemplate = false);
+double WXDLLIMPEXP_CORE wxOSXGetImageScaleFactor(WXImage image);
class wxWindowMac;
diff --git a/include/wx/osx/statbmp.h b/include/wx/osx/statbmp.h
index 45d1f3c9d5..4ba4e069d0 100644
--- a/include/wx/osx/statbmp.h
+++ b/include/wx/osx/statbmp.h
@@ -1,2 +1,64 @@
-#define wxGenericStaticBitmap wxStaticBitmap
-#include "wx/generic/statbmpg.h"
+#ifndef _WX_STATBMP_H_
+#define _WX_STATBMP_H_
+
+#include "wx/statbmp.h"
+
+class WXDLLIMPEXP_CORE wxStaticBitmap : public wxStaticBitmapBase
+{
+public:
+ wxStaticBitmap() {}
+ wxStaticBitmap(wxWindow *parent,
+ wxWindowID id,
+ const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr)
+ {
+ Create(parent, id, bitmap, pos, size, style, name);
+ }
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxBitmap& bitmap,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxString& name = wxStaticBitmapNameStr);
+
+ virtual void SetBitmap(const wxBitmap& bitmap) wxOVERRIDE;
+
+ virtual wxBitmap GetBitmap() const wxOVERRIDE { return m_bitmap; }
+
+ virtual void SetIcon(const wxIcon& icon) wxOVERRIDE
+ {
+ wxBitmap bmp;
+ bmp.CopyFromIcon(icon);
+ SetBitmap(bmp);
+ }
+
+#if defined(__WXGTK20__) || defined(__WXMAC__)
+ // icons and bitmaps are really the same thing in wxGTK and wxMac
+ wxIcon GetIcon() const wxOVERRIDE { return (const wxIcon &)m_bitmap; }
+#endif
+
+ virtual void SetScaleMode(ScaleMode scaleMode) wxOVERRIDE;
+
+ virtual ScaleMode GetScaleMode() const wxOVERRIDE { return m_scaleMode; }
+
+private:
+ wxSize GetBitmapSize()
+ {
+ return m_bitmap.IsOk() ? m_bitmap.GetScaledSize()
+ : wxSize(16, 16); // this is completely arbitrary
+ }
+
+ void OnPaint(wxPaintEvent& event);
+
+ wxBitmap m_bitmap;
+ ScaleMode m_scaleMode;
+
+ wxDECLARE_DYNAMIC_CLASS(wxStaticBitmap);
+};
+
+#endif
diff --git a/src/osx/cocoa/statbmp.mm b/src/osx/cocoa/statbmp.mm
new file mode 100644
index 0000000000..a1833634ff
--- /dev/null
+++ b/src/osx/cocoa/statbmp.mm
@@ -0,0 +1,101 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/osx/cocoa/statbmp.mm
+// Purpose: wxStaticBitmap
+// Author: Stefan Csomor
+// Created: 28.06.99
+// Copyright: (c) 2008 Stefan Csomor
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#if wxUSE_STATBMP
+
+#include "wx/statline.h"
+
+#ifndef WX_PRECOMP
+#include "wx/statbmp.h"
+#endif
+
+#include "wx/osx/private.h"
+
+class wxStaticBitmapCocoaImpl : public wxWidgetCocoaImpl
+{
+public :
+ wxStaticBitmapCocoaImpl(wxWindowMac* peer , WXWidget w) :
+ wxWidgetCocoaImpl(peer, w)
+ {
+ }
+
+ ~wxStaticBitmapCocoaImpl()
+ {
+ }
+
+ void SetLabel( const wxString& title, wxFontEncoding encoding ) wxOVERRIDE
+ {
+ // although NSControl has this method, NSImageView throws an exception if it is called
+ }
+
+ void SetScaleMode(wxStaticBitmap::ScaleMode scaleMode)
+ {
+ NSImageView* v = (NSImageView*) m_osxView;
+
+ NSImageScaling scaling = NSImageScaleNone;
+ switch ( scaleMode )
+ {
+ case wxStaticBitmap::Scale_Fill:
+ scaling = NSImageScaleAxesIndependently;
+ break;
+ case wxStaticBitmap::Scale_AspectFill:
+ scaling = NSImageScaleProportionallyUpOrDown;
+ break;
+ case wxStaticBitmap::Scale_AspectFit:
+ scaling = NSImageScaleProportionallyUpOrDown;
+ break;
+ default:
+ break;
+ }
+ [v setImageScaling:scaling];
+ }
+};
+
+void wxStaticBitmap::SetScaleMode(ScaleMode scaleMode)
+{
+ m_scaleMode = scaleMode;
+
+ dynamic_cast(GetPeer())->SetScaleMode(scaleMode);
+
+ Refresh();
+}
+
+
+wxWidgetImplType* wxWidgetImpl::CreateStaticBitmap( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
+ const wxBitmap& bitmap,
+ const wxPoint& pos,
+ const wxSize& size,
+ long WXUNUSED(style),
+ long WXUNUSED(extraStyle))
+{
+ NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
+ NSImageView* v = [[NSImageView alloc] initWithFrame:r];
+
+ wxWidgetCocoaImpl* c = new wxStaticBitmapCocoaImpl( wxpeer, v );
+ return c;
+}
+
+#endif //wxUSE_STATBMP
diff --git a/src/osx/iphone/statbmp.mm b/src/osx/iphone/statbmp.mm
new file mode 100644
index 0000000000..a1095a04a9
--- /dev/null
+++ b/src/osx/iphone/statbmp.mm
@@ -0,0 +1,101 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/osx/cocoa/statbmp.mm
+// Purpose: wxStaticBitmap
+// Author: Stefan Csomor
+// Created: 28.06.99
+// Copyright: (c) 2008 Stefan Csomor
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#if wxUSE_STATBMP
+
+#include "wx/statline.h"
+
+#ifndef WX_PRECOMP
+#include "wx/statbmp.h"
+#endif
+
+#include "wx/osx/private.h"
+
+class wxStaticBitmapIPhoneImpl : public wxWidgetIPhoneImpl
+{
+public :
+ wxStaticBitmapIPhoneImpl(wxWindowMac* peer , WXWidget w) :
+ wxWidgetIPhoneImpl(peer, w)
+ {
+ }
+
+ ~wxStaticBitmapIPhoneImpl()
+ {
+ }
+
+ void SetLabel( const wxString& title, wxFontEncoding encoding ) wxOVERRIDE
+ {
+ // although NSControl has this method, NSImageView throws an exception if it is called
+ }
+
+ void SetScaleMode(wxStaticBitmap::ScaleMode scaleMode)
+ {
+ UIImageView* v = (UIImageView*) m_osxView;
+
+ UIViewContentMode scaling = UIViewContentModeRedraw;
+ switch ( scaleMode )
+ {
+ case wxStaticBitmap::Scale_Fill:
+ scaling = UIViewContentModeScaleToFill;
+ break;
+ case wxStaticBitmap::Scale_AspectFill:
+ scaling = UIViewContentModeScaleAspectFill;
+ break;
+ case wxStaticBitmap::Scale_AspectFit:
+ scaling = UIViewContentModeScaleAspectFit;
+ break;
+ default:
+ break;
+ }
+ [v setContentMode:scaling];
+ }
+};
+
+void wxStaticBitmap::SetScaleMode(ScaleMode scaleMode)
+{
+ m_scaleMode = scaleMode;
+
+ dynamic_cast(GetPeer())->SetScaleMode(scaleMode);
+
+ Refresh();
+}
+
+
+wxWidgetImplType* wxWidgetImpl::CreateStaticBitmap( wxWindowMac* wxpeer,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
+ const wxBitmap& bitmap,
+ const wxPoint& pos,
+ const wxSize& size,
+ long WXUNUSED(style),
+ long WXUNUSED(extraStyle))
+{
+ CGRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
+ UIImageView* v = [[UIImageView alloc] initWithFrame:r];
+
+ wxWidgetIPhoneImpl* c = new wxStaticBitmapIPhoneImpl( wxpeer, v );
+ return c;
+}
+
+#endif //wxUSE_STATBMP
diff --git a/src/osx/statbmp_osx.cpp b/src/osx/statbmp_osx.cpp
new file mode 100644
index 0000000000..64d011cefa
--- /dev/null
+++ b/src/osx/statbmp_osx.cpp
@@ -0,0 +1,66 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: src/osx/statbmp_osx.cpp
+// Purpose: wxStaticBitmap
+// Author: Stefan Csomor
+// Modified by:
+// Created: 04/01/98
+// Copyright: (c) Stefan Csomor
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/wxprec.h"
+
+#if wxUSE_STATBMP
+
+#include "wx/stattext.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/utils.h"
+ #include "wx/dc.h"
+ #include "wx/dcclient.h"
+ #include "wx/settings.h"
+#endif // WX_PRECOMP
+
+#include "wx/osx/private.h"
+
+#include
+
+
+bool wxStaticBitmap::Create(wxWindow *parent,
+ wxWindowID id,
+ const wxBitmap& bitmap,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style,
+ const wxString& name )
+{
+ m_scaleMode = Scale_None;
+
+ DontCreatePeer();
+
+ if (! wxControl::Create(parent, id, pos, size, style,
+ wxDefaultValidator, name))
+ return false;
+
+ SetPeer(wxWidgetImpl::CreateStaticBitmap( this, parent, id, bitmap , pos, size, style, GetExtraStyle() ));
+
+ MacPostControlCreate( pos, size );
+
+ SetBitmap(bitmap);
+
+ return true;
+}
+
+
+void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap)
+{
+ m_bitmap = bitmap;
+ SetInitialSize(GetBitmapSize());
+
+ GetPeer()->SetBitmap(bitmap);
+
+ Refresh();
+}
+
+#endif //if wxUSE_STATBMP