Implement loading resource bundle from Windows resources

This allows to use resources defined in the .rc files under MSW instead
of embedding them in the program text as arrays.
This commit is contained in:
Vadim Zeitlin
2021-09-25 00:49:15 +01:00
parent 97f6c85d9b
commit b33df7360a
15 changed files with 815 additions and 62 deletions

View File

@@ -4711,7 +4711,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
monodll_calctrlg.o \
monodll_creddlgg.o \
monodll_rowheightcache.o \
monodll_bmpbndl.o
monodll_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_0@__CORE_SRC_OBJECTS = $(COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS)
COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
$(__LOWLEVEL_SRC_OBJECTS_1) \
@@ -4974,7 +4974,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
monodll_calctrlg.o \
monodll_creddlgg.o \
monodll_rowheightcache.o \
monodll_bmpbndl.o
monodll_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_1@__CORE_SRC_OBJECTS = $(COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS)
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS = \
monodll_fontmgrcmn.o \
@@ -5257,7 +5257,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS = \
monodll_notifmsgrt.o \
monodll_uuid.o \
monodll_msw_evtloop.o \
monodll_access.o
monodll_access.o \
monodll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS)
@@ -6164,7 +6165,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 = \
monodll_notifmsgrt.o \
monodll_uuid.o \
monodll_msw_evtloop.o \
monodll_access.o
monodll_access.o \
monodll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS)
@@ -6709,7 +6711,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
monolib_calctrlg.o \
monolib_creddlgg.o \
monolib_rowheightcache.o \
monolib_bmpbndl.o
monolib_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_0@__CORE_SRC_OBJECTS_1 = $(COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1)
COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
$(__LOWLEVEL_SRC_OBJECTS_3) \
@@ -6972,7 +6974,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
monolib_calctrlg.o \
monolib_creddlgg.o \
monolib_rowheightcache.o \
monolib_bmpbndl.o
monolib_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_1@__CORE_SRC_OBJECTS_1 = $(COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1)
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_fontmgrcmn.o \
@@ -7255,7 +7257,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 = \
monolib_notifmsgrt.o \
monolib_uuid.o \
monolib_msw_evtloop.o \
monolib_access.o
monolib_access.o \
monolib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_2 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_17)
@@ -8162,7 +8165,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 = \
monolib_notifmsgrt.o \
monolib_uuid.o \
monolib_msw_evtloop.o \
monolib_access.o
monolib_access.o \
monolib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_17)
@@ -8860,7 +8864,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
coredll_calctrlg.o \
coredll_creddlgg.o \
coredll_rowheightcache.o \
coredll_bmpbndl.o
coredll_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_0@__CORE_SRC_OBJECTS_2 = $(COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2)
COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
$(__LOWLEVEL_SRC_OBJECTS_5) \
@@ -9123,7 +9127,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
coredll_calctrlg.o \
coredll_creddlgg.o \
coredll_rowheightcache.o \
coredll_bmpbndl.o
coredll_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_1@__CORE_SRC_OBJECTS_2 = $(COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2)
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_fontmgrcmn.o \
@@ -9406,7 +9410,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 = \
coredll_notifmsgrt.o \
coredll_uuid.o \
coredll_msw_evtloop.o \
coredll_access.o
coredll_access.o \
coredll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_4 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_1_1)
@@ -10313,7 +10318,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 = \
coredll_notifmsgrt.o \
coredll_uuid.o \
coredll_msw_evtloop.o \
coredll_access.o
coredll_access.o \
coredll_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_1_1)
@@ -10587,7 +10593,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
corelib_calctrlg.o \
corelib_creddlgg.o \
corelib_rowheightcache.o \
corelib_bmpbndl.o
corelib_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_0@__CORE_SRC_OBJECTS_3 = $(COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3)
COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
$(__LOWLEVEL_SRC_OBJECTS_7) \
@@ -10850,7 +10856,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
corelib_calctrlg.o \
corelib_creddlgg.o \
corelib_rowheightcache.o \
corelib_bmpbndl.o
corelib_common_bmpbndl.o
@COND_USE_GUI_1_WXUNIV_1@__CORE_SRC_OBJECTS_3 = $(COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3)
COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_fontmgrcmn.o \
@@ -11133,7 +11139,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 = \
corelib_notifmsgrt.o \
corelib_uuid.o \
corelib_msw_evtloop.o \
corelib_access.o
corelib_access.o \
corelib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_6 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_1_4)
@@ -12040,7 +12047,8 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 = \
corelib_notifmsgrt.o \
corelib_uuid.o \
corelib_msw_evtloop.o \
corelib_access.o
corelib_access.o \
corelib_msw_bmpbndl.o
@COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7)
@COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \
@COND_TOOLKIT_OSX_COCOA@ $(__OSX_LOWLEVEL_SRC_OBJECTS_1_4)
@@ -19034,6 +19042,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@monodll_access.o: $(srcdir)/src/msw/ole/access.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/ole/access.cpp
@COND_TOOLKIT_MSW_USE_GUI_1@monodll_msw_bmpbndl.o: $(srcdir)/src/msw/bmpbndl.cpp $(MONODLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/bmpbndl.cpp
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@monodll_artmac.o: $(srcdir)/src/osx/artmac.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/artmac.cpp
@@ -21023,7 +21034,7 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_rowheightcache.o: $(srcdir)/src/generic/rowheightcache.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/rowheightcache.cpp
@COND_USE_GUI_1@monodll_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_common_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/bmpbndl.cpp
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1@monodll_osx_cocoa_mediactrl.o: $(srcdir)/src/osx/cocoa/mediactrl.mm $(MONODLL_ODEP)
@@ -24326,6 +24337,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@monolib_access.o: $(srcdir)/src/msw/ole/access.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/ole/access.cpp
@COND_TOOLKIT_MSW_USE_GUI_1@monolib_msw_bmpbndl.o: $(srcdir)/src/msw/bmpbndl.cpp $(MONOLIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/bmpbndl.cpp
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@monolib_artmac.o: $(srcdir)/src/osx/artmac.cpp $(MONOLIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/artmac.cpp
@@ -26315,7 +26329,7 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_rowheightcache.o: $(srcdir)/src/generic/rowheightcache.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/rowheightcache.cpp
@COND_USE_GUI_1@monolib_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_common_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/bmpbndl.cpp
@COND_TOOLKIT_OSX_COCOA_USE_GUI_1@monolib_osx_cocoa_mediactrl.o: $(srcdir)/src/osx/cocoa/mediactrl.mm $(MONOLIB_ODEP)
@@ -29723,6 +29737,9 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@coredll_access.o: $(srcdir)/src/msw/ole/access.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/ole/access.cpp
@COND_TOOLKIT_MSW_USE_GUI_1@coredll_msw_bmpbndl.o: $(srcdir)/src/msw/bmpbndl.cpp $(COREDLL_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/bmpbndl.cpp
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@coredll_artmac.o: $(srcdir)/src/osx/artmac.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/artmac.cpp
@@ -31712,7 +31729,7 @@ coredll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@coredll_rowheightcache.o: $(srcdir)/src/generic/rowheightcache.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/rowheightcache.cpp
@COND_USE_GUI_1@coredll_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@coredll_common_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/bmpbndl.cpp
corelib_event.o: $(srcdir)/src/common/event.cpp $(CORELIB_ODEP)
@@ -33980,6 +33997,9 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@corelib_access.o: $(srcdir)/src/msw/ole/access.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/ole/access.cpp
@COND_TOOLKIT_MSW_USE_GUI_1@corelib_msw_bmpbndl.o: $(srcdir)/src/msw/bmpbndl.cpp $(CORELIB_ODEP)
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/bmpbndl.cpp
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@corelib_artmac.o: $(srcdir)/src/osx/artmac.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/artmac.cpp
@@ -35969,7 +35989,7 @@ corelib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@corelib_rowheightcache.o: $(srcdir)/src/generic/rowheightcache.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/rowheightcache.cpp
@COND_USE_GUI_1@corelib_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@corelib_common_bmpbndl.o: $(srcdir)/src/common/bmpbndl.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/bmpbndl.cpp
advdll_version_rc.o: $(srcdir)/src/msw/version.rc $(ADVDLL_ODEP)

View File

@@ -2089,6 +2089,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/msw/ole/uuid.cpp
src/msw/evtloop.cpp
src/msw/ole/access.cpp
src/msw/bmpbndl.cpp
</set>
<set var="MSW_LOWLEVEL_HDR" hints="files">
wx/msw/nonownedwnd.h

View File

@@ -1963,6 +1963,7 @@ set(MSW_LOWLEVEL_SRC
src/msw/richtooltip.cpp
src/msw/evtloop.cpp
src/msw/ole/access.cpp
src/msw/bmpbndl.cpp
)
set(MSW_LOWLEVEL_HDR

View File

@@ -1903,6 +1903,7 @@ MSW_LOWLEVEL_SRC =
src/msw/aboutdlg.cpp
src/msw/app.cpp
src/msw/bitmap.cpp
src/msw/bmpbndl.cpp
src/msw/brush.cpp
src/msw/caret.cpp
src/msw/clipbrd.cpp

View File

@@ -1929,6 +1929,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_uuid.o \
$(OBJS)\monodll_evtloop.o \
$(OBJS)\monodll_access.o \
$(OBJS)\monodll_msw_bmpbndl.o \
$(OBJS)\monodll_clrpickerg.o \
$(OBJS)\monodll_collpaneg.o \
$(OBJS)\monodll_filepickerg.o \
@@ -2202,7 +2203,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_calctrlg.o \
$(OBJS)\monodll_creddlgg.o \
$(OBJS)\monodll_rowheightcache.o \
$(OBJS)\monodll_bmpbndl.o
$(OBJS)\monodll_common_bmpbndl.o
endif
endif
ifeq ($(USE_GUI),1)
@@ -2275,6 +2276,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_uuid.o \
$(OBJS)\monodll_evtloop.o \
$(OBJS)\monodll_access.o \
$(OBJS)\monodll_msw_bmpbndl.o \
$(OBJS)\monodll_generic_accel.o \
$(OBJS)\monodll_clrpickerg.o \
$(OBJS)\monodll_collpaneg.o \
@@ -2533,7 +2535,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_calctrlg.o \
$(OBJS)\monodll_creddlgg.o \
$(OBJS)\monodll_rowheightcache.o \
$(OBJS)\monodll_bmpbndl.o
$(OBJS)\monodll_common_bmpbndl.o
endif
endif
ifeq ($(USE_STC),1)
@@ -2773,6 +2775,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_uuid.o \
$(OBJS)\monolib_evtloop.o \
$(OBJS)\monolib_access.o \
$(OBJS)\monolib_msw_bmpbndl.o \
$(OBJS)\monolib_clrpickerg.o \
$(OBJS)\monolib_collpaneg.o \
$(OBJS)\monolib_filepickerg.o \
@@ -3046,7 +3049,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_calctrlg.o \
$(OBJS)\monolib_creddlgg.o \
$(OBJS)\monolib_rowheightcache.o \
$(OBJS)\monolib_bmpbndl.o
$(OBJS)\monolib_common_bmpbndl.o
endif
endif
ifeq ($(USE_GUI),1)
@@ -3119,6 +3122,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_uuid.o \
$(OBJS)\monolib_evtloop.o \
$(OBJS)\monolib_access.o \
$(OBJS)\monolib_msw_bmpbndl.o \
$(OBJS)\monolib_generic_accel.o \
$(OBJS)\monolib_clrpickerg.o \
$(OBJS)\monolib_collpaneg.o \
@@ -3377,7 +3381,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_calctrlg.o \
$(OBJS)\monolib_creddlgg.o \
$(OBJS)\monolib_rowheightcache.o \
$(OBJS)\monolib_bmpbndl.o
$(OBJS)\monolib_common_bmpbndl.o
endif
endif
ifeq ($(USE_STC),1)
@@ -3500,6 +3504,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_uuid.o \
$(OBJS)\coredll_evtloop.o \
$(OBJS)\coredll_access.o \
$(OBJS)\coredll_msw_bmpbndl.o \
$(OBJS)\coredll_clrpickerg.o \
$(OBJS)\coredll_collpaneg.o \
$(OBJS)\coredll_filepickerg.o \
@@ -3773,7 +3778,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_calctrlg.o \
$(OBJS)\coredll_creddlgg.o \
$(OBJS)\coredll_rowheightcache.o \
$(OBJS)\coredll_bmpbndl.o
$(OBJS)\coredll_common_bmpbndl.o
endif
endif
ifeq ($(USE_GUI),1)
@@ -3846,6 +3851,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_uuid.o \
$(OBJS)\coredll_evtloop.o \
$(OBJS)\coredll_access.o \
$(OBJS)\coredll_msw_bmpbndl.o \
$(OBJS)\coredll_generic_accel.o \
$(OBJS)\coredll_clrpickerg.o \
$(OBJS)\coredll_collpaneg.o \
@@ -4104,7 +4110,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_calctrlg.o \
$(OBJS)\coredll_creddlgg.o \
$(OBJS)\coredll_rowheightcache.o \
$(OBJS)\coredll_bmpbndl.o
$(OBJS)\coredll_common_bmpbndl.o
endif
endif
ifeq ($(MONOLITHIC),0)
@@ -4185,6 +4191,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_uuid.o \
$(OBJS)\corelib_evtloop.o \
$(OBJS)\corelib_access.o \
$(OBJS)\corelib_msw_bmpbndl.o \
$(OBJS)\corelib_clrpickerg.o \
$(OBJS)\corelib_collpaneg.o \
$(OBJS)\corelib_filepickerg.o \
@@ -4458,7 +4465,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_calctrlg.o \
$(OBJS)\corelib_creddlgg.o \
$(OBJS)\corelib_rowheightcache.o \
$(OBJS)\corelib_bmpbndl.o
$(OBJS)\corelib_common_bmpbndl.o
endif
endif
ifeq ($(USE_GUI),1)
@@ -4531,6 +4538,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_uuid.o \
$(OBJS)\corelib_evtloop.o \
$(OBJS)\corelib_access.o \
$(OBJS)\corelib_msw_bmpbndl.o \
$(OBJS)\corelib_generic_accel.o \
$(OBJS)\corelib_clrpickerg.o \
$(OBJS)\corelib_collpaneg.o \
@@ -4789,7 +4797,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_calctrlg.o \
$(OBJS)\corelib_creddlgg.o \
$(OBJS)\corelib_rowheightcache.o \
$(OBJS)\corelib_bmpbndl.o
$(OBJS)\corelib_common_bmpbndl.o
endif
endif
ifeq ($(SHARED),1)
@@ -8419,6 +8427,11 @@ $(OBJS)\monodll_access.o: ../../src/msw/ole/access.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_msw_bmpbndl.o: ../../src/msw/bmpbndl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_clrpickerg.o: ../../src/generic/clrpickerg.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -9465,7 +9478,7 @@ $(OBJS)\monodll_rowheightcache.o: ../../src/generic/rowheightcache.cpp
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(OBJS)\monodll_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -10998,6 +11011,11 @@ $(OBJS)\monolib_access.o: ../../src/msw/ole/access.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_msw_bmpbndl.o: ../../src/msw/bmpbndl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_clrpickerg.o: ../../src/generic/clrpickerg.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -12044,7 +12062,7 @@ $(OBJS)\monolib_rowheightcache.o: ../../src/generic/rowheightcache.cpp
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(OBJS)\monolib_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -13550,6 +13568,11 @@ $(OBJS)\coredll_access.o: ../../src/msw/ole/access.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_msw_bmpbndl.o: ../../src/msw/bmpbndl.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_clrpickerg.o: ../../src/generic/clrpickerg.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -14596,7 +14619,7 @@ $(OBJS)\coredll_rowheightcache.o: ../../src/generic/rowheightcache.cpp
endif
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(OBJS)\coredll_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
@@ -15295,6 +15318,11 @@ $(OBJS)\corelib_access.o: ../../src/msw/ole/access.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_msw_bmpbndl.o: ../../src/msw/bmpbndl.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_clrpickerg.o: ../../src/generic/clrpickerg.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
@@ -16341,7 +16369,7 @@ $(OBJS)\corelib_rowheightcache.o: ../../src/generic/rowheightcache.cpp
endif
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(OBJS)\corelib_common_bmpbndl.o: ../../src/common/bmpbndl.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif

View File

@@ -2259,6 +2259,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_uuid.obj \
$(OBJS)\monodll_evtloop.obj \
$(OBJS)\monodll_access.obj \
$(OBJS)\monodll_msw_bmpbndl.obj \
$(OBJS)\monodll_clrpickerg.obj \
$(OBJS)\monodll_collpaneg.obj \
$(OBJS)\monodll_filepickerg.obj \
@@ -2532,7 +2533,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_calctrlg.obj \
$(OBJS)\monodll_creddlgg.obj \
$(OBJS)\monodll_rowheightcache.obj \
$(OBJS)\monodll_bmpbndl.obj
$(OBJS)\monodll_common_bmpbndl.obj
!endif
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
____CORE_SRC_FILENAMES_OBJECTS = \
@@ -2603,6 +2604,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_uuid.obj \
$(OBJS)\monodll_evtloop.obj \
$(OBJS)\monodll_access.obj \
$(OBJS)\monodll_msw_bmpbndl.obj \
$(OBJS)\monodll_generic_accel.obj \
$(OBJS)\monodll_clrpickerg.obj \
$(OBJS)\monodll_collpaneg.obj \
@@ -2861,7 +2863,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_calctrlg.obj \
$(OBJS)\monodll_creddlgg.obj \
$(OBJS)\monodll_rowheightcache.obj \
$(OBJS)\monodll_bmpbndl.obj
$(OBJS)\monodll_common_bmpbndl.obj
!endif
!if "$(USE_STC)" == "1"
____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \
@@ -3103,6 +3105,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_uuid.obj \
$(OBJS)\monolib_evtloop.obj \
$(OBJS)\monolib_access.obj \
$(OBJS)\monolib_msw_bmpbndl.obj \
$(OBJS)\monolib_clrpickerg.obj \
$(OBJS)\monolib_collpaneg.obj \
$(OBJS)\monolib_filepickerg.obj \
@@ -3376,7 +3379,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_calctrlg.obj \
$(OBJS)\monolib_creddlgg.obj \
$(OBJS)\monolib_rowheightcache.obj \
$(OBJS)\monolib_bmpbndl.obj
$(OBJS)\monolib_common_bmpbndl.obj
!endif
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
____CORE_SRC_FILENAMES_1_OBJECTS = \
@@ -3447,6 +3450,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_uuid.obj \
$(OBJS)\monolib_evtloop.obj \
$(OBJS)\monolib_access.obj \
$(OBJS)\monolib_msw_bmpbndl.obj \
$(OBJS)\monolib_generic_accel.obj \
$(OBJS)\monolib_clrpickerg.obj \
$(OBJS)\monolib_collpaneg.obj \
@@ -3705,7 +3709,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_calctrlg.obj \
$(OBJS)\monolib_creddlgg.obj \
$(OBJS)\monolib_rowheightcache.obj \
$(OBJS)\monolib_bmpbndl.obj
$(OBJS)\monolib_common_bmpbndl.obj
!endif
!if "$(USE_STC)" == "1"
____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \
@@ -3880,6 +3884,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_uuid.obj \
$(OBJS)\coredll_evtloop.obj \
$(OBJS)\coredll_access.obj \
$(OBJS)\coredll_msw_bmpbndl.obj \
$(OBJS)\coredll_clrpickerg.obj \
$(OBJS)\coredll_collpaneg.obj \
$(OBJS)\coredll_filepickerg.obj \
@@ -4153,7 +4158,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_calctrlg.obj \
$(OBJS)\coredll_creddlgg.obj \
$(OBJS)\coredll_rowheightcache.obj \
$(OBJS)\coredll_bmpbndl.obj
$(OBJS)\coredll_common_bmpbndl.obj
!endif
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
____CORE_SRC_FILENAMES_2_OBJECTS = \
@@ -4224,6 +4229,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_uuid.obj \
$(OBJS)\coredll_evtloop.obj \
$(OBJS)\coredll_access.obj \
$(OBJS)\coredll_msw_bmpbndl.obj \
$(OBJS)\coredll_generic_accel.obj \
$(OBJS)\coredll_clrpickerg.obj \
$(OBJS)\coredll_collpaneg.obj \
@@ -4482,7 +4488,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_calctrlg.obj \
$(OBJS)\coredll_creddlgg.obj \
$(OBJS)\coredll_rowheightcache.obj \
$(OBJS)\coredll_bmpbndl.obj
$(OBJS)\coredll_common_bmpbndl.obj
!endif
!if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "0" && "$(USE_GUI)" == "1"
__corelib___depname = \
@@ -4563,6 +4569,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_uuid.obj \
$(OBJS)\corelib_evtloop.obj \
$(OBJS)\corelib_access.obj \
$(OBJS)\corelib_msw_bmpbndl.obj \
$(OBJS)\corelib_clrpickerg.obj \
$(OBJS)\corelib_collpaneg.obj \
$(OBJS)\corelib_filepickerg.obj \
@@ -4836,7 +4843,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_calctrlg.obj \
$(OBJS)\corelib_creddlgg.obj \
$(OBJS)\corelib_rowheightcache.obj \
$(OBJS)\corelib_bmpbndl.obj
$(OBJS)\corelib_common_bmpbndl.obj
!endif
!if "$(USE_GUI)" == "1" && "$(WXUNIV)" == "1"
____CORE_SRC_FILENAMES_3_OBJECTS = \
@@ -4907,6 +4914,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_uuid.obj \
$(OBJS)\corelib_evtloop.obj \
$(OBJS)\corelib_access.obj \
$(OBJS)\corelib_msw_bmpbndl.obj \
$(OBJS)\corelib_generic_accel.obj \
$(OBJS)\corelib_clrpickerg.obj \
$(OBJS)\corelib_collpaneg.obj \
@@ -5165,7 +5173,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_calctrlg.obj \
$(OBJS)\corelib_creddlgg.obj \
$(OBJS)\corelib_rowheightcache.obj \
$(OBJS)\corelib_bmpbndl.obj
$(OBJS)\corelib_common_bmpbndl.obj
!endif
!if "$(SHARED)" == "1"
____wxcore_namedll_DEP = $(__coredll___depname)
@@ -8850,6 +8858,11 @@ $(OBJS)\monodll_access.obj: ..\..\src\msw\ole\access.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\ole\access.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_msw_bmpbndl.obj: ..\..\src\msw\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\bmpbndl.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_clrpickerg.obj: ..\..\src\generic\clrpickerg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\clrpickerg.cpp
@@ -9896,7 +9909,7 @@ $(OBJS)\monodll_rowheightcache.obj: ..\..\src\generic\rowheightcache.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(OBJS)\monodll_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
!endif
@@ -11429,6 +11442,11 @@ $(OBJS)\monolib_access.obj: ..\..\src\msw\ole\access.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\ole\access.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_msw_bmpbndl.obj: ..\..\src\msw\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\bmpbndl.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_clrpickerg.obj: ..\..\src\generic\clrpickerg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\clrpickerg.cpp
@@ -12475,7 +12493,7 @@ $(OBJS)\monolib_rowheightcache.obj: ..\..\src\generic\rowheightcache.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(OBJS)\monolib_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
!endif
@@ -13981,6 +13999,11 @@ $(OBJS)\coredll_access.obj: ..\..\src\msw\ole\access.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\ole\access.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_msw_bmpbndl.obj: ..\..\src\msw\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\bmpbndl.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_clrpickerg.obj: ..\..\src\generic\clrpickerg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\clrpickerg.cpp
@@ -15027,7 +15050,7 @@ $(OBJS)\coredll_rowheightcache.obj: ..\..\src\generic\rowheightcache.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(OBJS)\coredll_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
!endif
@@ -15726,6 +15749,11 @@ $(OBJS)\corelib_access.obj: ..\..\src\msw\ole\access.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\ole\access.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_msw_bmpbndl.obj: ..\..\src\msw\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\bmpbndl.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_clrpickerg.obj: ..\..\src\generic\clrpickerg.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\clrpickerg.cpp
@@ -16772,7 +16800,7 @@ $(OBJS)\corelib_rowheightcache.obj: ..\..\src\generic\rowheightcache.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(OBJS)\corelib_common_bmpbndl.obj: ..\..\src\common\bmpbndl.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\bmpbndl.cpp
!endif

View File

@@ -603,6 +603,16 @@
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\msw\bmpbndl.cpp">
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='DLL Debug|Win32'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='DLL Release|Win32'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='DLL Debug|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='DLL Release|x64'">$(IntDir)msw_%(Filename).obj</ObjectFileName>
</ClCompile>
<ClCompile Include="..\..\src\msw\graphicsd2d.cpp" />
<ClCompile Include="..\..\src\msw\ole\access.cpp" />
<ClCompile Include="..\..\src\msw\ole\activex.cpp" />
@@ -1511,4 +1521,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@@ -1071,6 +1071,9 @@
<ClCompile Include="..\..\src\common\bmpbndl.cpp">
<Filter>Common Sources</Filter>
</ClCompile>
<ClCompile Include="..\..\src\msw\bmpbndl.cpp">
<Filter>MSW Sources</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\src\msw\version.rc">

View File

@@ -788,6 +788,70 @@
<File
RelativePath="..\..\src\common\bmpbndl.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswud\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswu\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswuddll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswudll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswud\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswu\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswuddll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswudll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\common\bmpbtncmn.cpp"
@@ -1426,6 +1490,74 @@
RelativePath="..\..\src\msw\bitmap.cpp"
>
</File>
<File
RelativePath="..\..\src\msw\bmpbndl.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswud\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswu\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswuddll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswudll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswud\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswu\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswuddll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswudll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\msw\bmpbuttn.cpp"
>

View File

@@ -784,6 +784,70 @@
<File
RelativePath="..\..\src\common\bmpbndl.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswud\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswu\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswuddll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswudll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswud\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswu\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswuddll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswudll\core\common_bmpbndl.obj"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\common\bmpbtncmn.cpp"
@@ -1422,6 +1486,74 @@
RelativePath="..\..\src\msw\bitmap.cpp"
>
</File>
<File
RelativePath="..\..\src\msw\bmpbndl.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswud\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswu\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswuddll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_mswudll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswud\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswu\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Debug|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswuddll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
<FileConfiguration
Name="DLL Release|x64"
>
<Tool
Name="VCCLCompilerTool"
ObjectFile="vc_x64_mswudll\core\msw_bmpbndl.obj"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\msw\bmpbuttn.cpp"
>

View File

@@ -59,6 +59,10 @@ public:
static wxBitmapBundle FromBitmap(const wxBitmap& bitmap);
static wxBitmapBundle FromImage(const wxImage& image);
// Create from the resources: all existing versions of the bitmap of the
// form name_2x or name@2x (and also using other factors) will be used.
static wxBitmapBundle FromResources(const wxString& name);
// Check if bitmap bundle is non-empty.
bool IsOk() const { return m_impl; }
@@ -83,6 +87,16 @@ private:
wxBitmapBundleImplPtr m_impl;
};
// This macro can be used to create a bundle from resources on the platforms
// that support it and from name_png and name_2x_png on the other ones.
#ifdef wxHAS_IMAGE_RESOURCES
#define wxBITMAP_BUNDLE_2(name) wxBitmapBundle::FromResources(#name)
#else
#define wxBITMAP_BUNDLE_2(name) \
wxBitmapBundle::FromBitmaps(wxBITMAP_PNG_FROM_DATA(name), \
wxBITMAP_PNG_FROM_DATA(name##_2x))
#endif
// Inline functions implementation.
/* static */ inline

View File

@@ -61,6 +61,22 @@
by including a file generated with @c bin2c (see wxBITMAP_PNG_FROM_DATA()),
on the other platforms.
For the platforms with resources support, you can also create the bundle
from the bitmaps defined in the resources, which has the advantage of not
having to explicitly list all the bitmaps, e.g. the code above becomes
@code
#ifdef wxHAS_IMAGE_RESOURCES
toolBar->AddTool(wxID_OPEN, wxBitmapBundle::FromResources("open"));
#else
... same code as shown above ...
#endif
@endcode
and will load all resources called @c open, @c open_2x, @c open_1_5x etc
(at least the first one of them must be available). See also
wxBITMAP_BUNDLE_2() macro which can avoid the need to check for
wxHAS_IMAGE_RESOURCES explicitly in the code in a common case of having
only 2 embedded resources (for standard and high DPI).
Also note that the existing code using wxBitmap is compatible with the
functions taking wxBitmapBundle in wxWidgets 3.1.6 and later because
bitmaps are implicitly convertible to the objects of this class, so just
@@ -145,6 +161,21 @@ public:
*/
static wxBitmapBundle FromImage(const wxImage& image);
/**
Create a bundle from the bitmaps in the application resources.
This function can only be used on the platforms supporting storing
bitmaps in resources, and currently only works under MSW and simply
returns an empty bundle on the other platforms.
Under MSW, for this function to create a valid bundle, you must have @c
RCDATA resource with the given @a name in your application resource
file (with the extension @c .rc) containing PNG file, and any other
resources using @a name as prefix and suffix with the scale, e.g. "_2x"
or "_1_5x" (for 150% DPI) will be also loaded as part of the bundle.
*/
static wxBitmapBundle FromResources(const wxString& name);
/**
Check if bitmap bundle is non-empty.
@@ -177,3 +208,28 @@ public:
*/
wxBitmap GetBitmap(const wxSize size) const;
};
/**
Creates a wxBitmapBundle from resources on the platforms supporting them or
from two embedded bitmaps otherwise.
This macro use wxBitmapBundle::FromResources() with the provide @a name,
which must be an @e identifier and not a string, i.e. used without quotes,
on the platforms where it works and wxBitmapBundle::FromBitmaps() with @c
name_png and @c name_2x_png arrays containing PNG data elsewhere.
Using it allows to avoid using preprocessor checks in the common case when
just two bitmaps (for standard and high DPI) are embedded in the
application code. Note that all bitmaps defined in the resources, even if
there are more than 2 of them.
Example of use:
@code
toolBar->AddTool(wxID_OPEN, wxBITMAP_BUNDLE_2(open));
@endcode
@header{wx/bmpbndl.h}
@since 3.1.6
*/
#define wxBITMAP_BUNDLE_2(name)

View File

@@ -51,8 +51,9 @@
#include "../sample.xpm"
#endif // !wxHAS_IMAGES_IN_RESOURCES
// Temporarily embed bitmaps in the program itself on all platforms.
#if 1 // ndef wxHAS_IMAGE_RESOURCES
// If PNG files are not available in resources, we need to embed them in the
// program itself. We could also load them during run-time.
#ifndef wxHAS_IMAGE_RESOURCES
#include "bitmaps/new_png.c"
#include "bitmaps/open_png.c"
#include "bitmaps/save_png.c"
@@ -391,21 +392,22 @@ void MyFrame::PopulateToolbar(wxToolBarBase* toolBar)
wxBitmapBundle toolBarBitmaps[Tool_Max];
// This macro relies on having name_png and name_2x_png arrays defined,
// (this is done in this sample by including the corresponding *_png.c files
// above).
#define BUNDLE_2(name) \
wxBitmapBundle::FromBitmaps(wxBITMAP_PNG_FROM_DATA(name), \
wxBITMAP_PNG_FROM_DATA(name##_2x))
toolBarBitmaps[Tool_new ] = BUNDLE_2(new );
toolBarBitmaps[Tool_open ] = BUNDLE_2(open );
toolBarBitmaps[Tool_save ] = BUNDLE_2(save );
toolBarBitmaps[Tool_copy ] = BUNDLE_2(copy );
toolBarBitmaps[Tool_cut ] = BUNDLE_2(cut );
toolBarBitmaps[Tool_paste] = BUNDLE_2(paste);
toolBarBitmaps[Tool_print] = BUNDLE_2(print);
toolBarBitmaps[Tool_help ] = BUNDLE_2(help );
// Note that to use wxBITMAP_BUNDLE_2() macro it is necessary to
//
// 1. Have resources (either RT_RCDATA under MSW or files in the app
// bundle resources subdirectory under Mac) with this name.
//
// 2. Have name_png and name_2x_png arrays defined under the other
// platforms (as is done in this sample by including the corresponding
// *_png.c files above).
toolBarBitmaps[Tool_new ] = wxBITMAP_BUNDLE_2(new );
toolBarBitmaps[Tool_open ] = wxBITMAP_BUNDLE_2(open );
toolBarBitmaps[Tool_save ] = wxBITMAP_BUNDLE_2(save );
toolBarBitmaps[Tool_copy ] = wxBITMAP_BUNDLE_2(copy );
toolBarBitmaps[Tool_cut ] = wxBITMAP_BUNDLE_2(cut );
toolBarBitmaps[Tool_paste] = wxBITMAP_BUNDLE_2(paste);
toolBarBitmaps[Tool_print] = wxBITMAP_BUNDLE_2(print);
toolBarBitmaps[Tool_help ] = wxBITMAP_BUNDLE_2(help );
// Size of the bitmaps we use by default.
int w = 32,

View File

@@ -244,6 +244,24 @@ wxBitmapBundle wxBitmapBundle::FromBitmaps(const wxVector<wxBitmap>& bitmaps)
return wxBitmapBundle(new wxBitmapBundleImplSet(bitmaps));
}
// MSW has its own, actually working, version, in MSW-specific code.
#ifndef __WXMSW__
/* static */
wxBitmapBundle wxBitmapBundle::FromResources(const wxString& WXUNUSED(name))
{
wxFAIL_MSG
(
"Loading bitmaps from resources not available on this platform, "
"don't use this function and call wxBitmapBundle::FromBitmaps() "
"instead."
);
return wxBitmapBundle();
}
#endif // __WXMSW__
wxSize wxBitmapBundle::GetDefaultSize() const
{
if ( !m_impl )

307
src/msw/bmpbndl.cpp Normal file
View File

@@ -0,0 +1,307 @@
///////////////////////////////////////////////////////////////////////////////
// Name: src/msw/bmpbndl.cpp
// Purpose: MSW-specific part of wxBitmapBundle class.
// Author: Vadim Zeitlin
// Created: 2021-09-22
// Copyright: (c) 2021 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// for compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/log.h"
#include "wx/msw/wrapwin.h"
#endif // WX_PRECOMP
#include "wx/bmpbndl.h"
#include "wx/private/bmpbndl.h"
#include <algorithm>
// ----------------------------------------------------------------------------
// private helpers
// ----------------------------------------------------------------------------
namespace
{
// Helper function, which will probably need to be factored out as it's likely
// to be useful elsewhere, returning the scale determined by the given suffix,
// i.e. it returns 2 for the suffix of "_2x" or 1.5 for "_1_5x".
//
// Returns 1 if the suffix is empty or 0 if it doesn't look like a valid scale
// suffix at all.
double GetScaleFromSuffix(const wxString& suffix)
{
if ( suffix.empty() )
return 1.0;
if ( *suffix.begin() != '_' )
return 0;
if ( *suffix.rbegin() != 'x' )
return 0;
wxString factor = suffix.substr(1, suffix.length() - 2);
if ( factor.empty() )
return 0;
factor.Replace(wxS("_"), wxS("."));
double d;
if ( !factor.ToCDouble(&d) )
return 0;
return d;
}
// Just a bitmap name and the corresponding scale for some resource.
struct ResourceInfo
{
ResourceInfo(const wxString& name_, double scale_)
: name(name_), scale(scale_)
{
}
wxString name;
double scale;
};
// Predicate for std::sort() comparing resource infos using their scale.
struct ScaleComparator
{
bool operator()(const ResourceInfo& info1, const ResourceInfo& info2) const
{
return info1.scale < info2.scale;
}
};
typedef wxVector<ResourceInfo> ResourceInfos;
// Used to pass information to EnumRCBitmaps() callback.
struct RCEnumCallbackData
{
explicit RCEnumCallbackData(const wxString& name_)
: name(name_.Lower())
{
}
// The base name of all resources, passed to the callback.
wxString name;
// All the existing bitmaps starting with this name and using a valid scale
// suffix, filled by the callback.
ResourceInfos resourceInfos;
};
BOOL CALLBACK EnumRCBitmaps(HMODULE WXUNUSED(hModule),
LPCTSTR WXUNUSED(lpszType),
LPTSTR lpszName,
LONG_PTR lParam)
{
wxString name(lpszName);
name.MakeLower(); // resource names are case insensitive
RCEnumCallbackData *data = reinterpret_cast<RCEnumCallbackData*>(lParam);
wxString suffix;
if ( name.StartsWith(data->name, &suffix) )
{
const double scale = GetScaleFromSuffix(suffix);
if ( scale )
data->resourceInfos.push_back(ResourceInfo(name, scale));
}
return TRUE; // continue enumeration
}
// Bundle implementation using PNG bitmaps from Windows resources.
class wxBitmapBundleImplRC : public wxBitmapBundleImpl
{
public:
// Ctor takes the vector containing all the existing resources starting
// with the given name and the valid bitmap corresponding to the base name
// resource itself.
wxBitmapBundleImplRC(const ResourceInfos& resourceInfos,
const wxBitmap& bitmap);
virtual wxSize GetDefaultSize() const wxOVERRIDE;
virtual wxBitmap GetBitmap(const wxSize size) wxOVERRIDE;
private:
// Load the bitmap from the given resource and add it m_bitmaps, after
// rescaling it to the given size if necessary, i.e. if the needed size is
// different from the size of this bitmap itself.
//
// The expected size is used to confirm that the resource really has the
// size we expect it to have.
//
// Return the just loaded bitmap.
wxBitmap
AddBitmap(const ResourceInfo& info,
const wxSize& sizeExpected,
const wxSize& sizeNeeded);
// All the available resources.
const ResourceInfos m_resourceInfos;
// All already loaded bitmaps sorted by their size.
//
// This vector is never empty and its first element is the bitmap using the
// default size.
wxVector<wxBitmap> m_bitmaps;
wxDECLARE_NO_COPY_CLASS(wxBitmapBundleImplRC);
};
} // anonymous namespace
// ============================================================================
// wxBitmapBundleImplRC implementation
// ============================================================================
wxBitmapBundleImplRC::wxBitmapBundleImplRC(const ResourceInfos& resourceInfos,
const wxBitmap& bitmap)
: m_resourceInfos(resourceInfos)
{
m_bitmaps.push_back(bitmap);
}
wxSize wxBitmapBundleImplRC::GetDefaultSize() const
{
return m_bitmaps[0].GetSize();
}
wxBitmap
wxBitmapBundleImplRC::AddBitmap(const ResourceInfo& info,
const wxSize& sizeExpected,
const wxSize& sizeNeeded)
{
// First load the bitmap, it shouldn't fail, but we can't do much if it
// does fail -- we're just going to return an invalid bitmap in this case.
wxBitmap bitmap(info.name, wxBITMAP_TYPE_PNG_RESOURCE);
// We rely on suffixes really corresponding to the bitmap sizes and bad
// things will happen if they don't.
wxASSERT_MSG
(
bitmap.GetSize() == sizeExpected,
wxString::Format(wxS("Bitmap \"%s\" should have size %d*%d."),
sizeExpected.x, sizeExpected.y)
);
if ( sizeNeeded != sizeExpected )
wxBitmap::Rescale(bitmap, sizeNeeded);
// Now cache the bitmap for future use by inserting it into our sorted
// vector of bitmaps. We don't bother with the binary search here because
// the vector is typically very small (< 10 elements).
const wxSize sizeThis = bitmap.GetSize();
for ( size_t i = 0; ; ++i )
{
if ( i == m_bitmaps.size() )
{
// This is the biggest bitmap we have, put it at the end.
m_bitmaps.push_back(bitmap);
break;
}
if ( m_bitmaps[i].GetSize().y > sizeThis.y )
{
m_bitmaps.insert(m_bitmaps.begin() + i, bitmap);
break;
}
}
return bitmap;
}
wxBitmap wxBitmapBundleImplRC::GetBitmap(const wxSize size)
{
// First check if we already have the bitmap of this size: we're only
// interested in the exact match here.
for ( size_t i = 0; i < m_bitmaps.size(); ++i )
{
const wxBitmap& bitmap = m_bitmaps[i];
if ( bitmap.GetSize() == size )
return bitmap;
}
// If we don't have one, create it using one of the available resources.
// Here we try to find the exact match (ideal) or the next larger size
// (downscaling results in better appearance than upscaling, generally
// speaking).
const wxSize sizeDef = GetDefaultSize();
for ( size_t i = 0; i < m_resourceInfos.size(); ++i )
{
const ResourceInfo& info = m_resourceInfos[i];
const wxSize sizeThis = sizeDef*info.scale;
// Use this bitmap if it's the first one bigger than the requested size
// or if it's the last item as in this case we're not going to find any
// bitmap bigger than the given one anyhow and we don't have any choice
// but to upscale the largest one we have.
if ( sizeThis.y >= size.y || i + 1 == m_resourceInfos.size() )
return AddBitmap(info, sizeThis, size);
}
wxFAIL_MSG( wxS("unreachable") );
return wxBitmap();
}
// ============================================================================
// wxBitmapBundle::FromResources() implementation
// ============================================================================
/* static */
wxBitmapBundle wxBitmapBundle::FromResources(const wxString& name)
{
// First of all, find all resources starting with this name.
RCEnumCallbackData data(name);
if ( !::EnumResourceNames(NULL, // this HMODULE
RT_RCDATA,
EnumRCBitmaps,
reinterpret_cast<LONG_PTR>(&data)) )
{
const DWORD err = ::GetLastError();
if ( err != NO_ERROR && err != ERROR_RESOURCE_TYPE_NOT_FOUND )
{
wxLogSysError(wxS("Couldn't enumerate RCDATA resources"));
}
}
ResourceInfos& resourceInfos = data.resourceInfos;
if ( resourceInfos.empty() )
return wxBitmapBundle();
// We need to load the base bitmap to get the default size anyhow, so do it
// now and also check that it works.
wxBitmap bitmap(name, wxBITMAP_TYPE_PNG_RESOURCE);
if ( !bitmap.IsOk() )
return wxBitmapBundle();
// Sort the resources in the order of increasing sizes to simplify the code
// of wxBitmapBundleImplRC::GetBitmap().
std::sort(resourceInfos.begin(), resourceInfos.end(), ScaleComparator());
return wxBitmapBundle(new wxBitmapBundleImplRC(resourceInfos, bitmap));
}