macOS, iOS native implementation for wxStaticBitmap

templated native images are not drawing correctly using the low-level drawing calls, therefore use the native Image Views
This commit is contained in:
Stefan Csomor 2018-09-25 15:22:56 +02:00
parent 13a96c586f
commit 19c4d8cf3e
10 changed files with 414 additions and 15 deletions

View File

@ -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

View File

@ -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
</if>
</set>
@ -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
</set>
<set var="OSX_COCOA_HDR" hints="files">
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
</set>
<set var="OSX_IPHONE_HDR" hints="files">

View File

@ -2346,6 +2346,7 @@ set(OSX_COMMON_SRC
src/generic/textmeasure.cpp
src/generic/icon.cpp
#TODO: </if>
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

View File

@ -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

View File

@ -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();

View File

@ -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;

View File

@ -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

101
src/osx/cocoa/statbmp.mm Normal file
View File

@ -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<wxStaticBitmapCocoaImpl*>(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

101
src/osx/iphone/statbmp.mm Normal file
View File

@ -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<wxStaticBitmapIPhoneImpl*>(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

66
src/osx/statbmp_osx.cpp Normal file
View File

@ -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 <stdio.h>
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