added wxAnimationCtrl (patch 1570325)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
233
Makefile.in
233
Makefile.in
@@ -2574,11 +2574,15 @@ COND_TOOLKIT_WINCE_GUI_HDR = \
|
||||
wx/msw/wince/textctrlce.h \
|
||||
wx/msw/wince/resources.h
|
||||
@COND_TOOLKIT_WINCE@GUI_HDR = $(COND_TOOLKIT_WINCE_GUI_HDR)
|
||||
@COND_TOOLKIT_COCOA@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_COCOA@ wx/cocoa/taskbar.h wx/mac/corefoundation/joystick.h
|
||||
COND_TOOLKIT_COCOA_ADVANCED_PLATFORM_HDR = \
|
||||
wx/generic/animate.h \
|
||||
wx/cocoa/taskbar.h \
|
||||
wx/mac/corefoundation/joystick.h
|
||||
@COND_TOOLKIT_COCOA@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_COCOA_ADVANCED_PLATFORM_HDR)
|
||||
@COND_TOOLKIT_GTK@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_GTK@ wx/unix/joystick.h wx/unix/sound.h wx/unix/taskbarx11.h
|
||||
COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR = \
|
||||
wx/generic/animate.h \
|
||||
wx/mac/carbon/drawer.h \
|
||||
wx/mac/carbon/sound.h \
|
||||
wx/mac/carbon/taskbarosx.h \
|
||||
@@ -2587,17 +2591,22 @@ COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_MOTIF@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_MOTIF@ wx/unix/joystick.h wx/unix/sound.h \
|
||||
@COND_TOOLKIT_MOTIF@ wx/unix/taskbarx11.h
|
||||
@COND_TOOLKIT_MSW@ADVANCED_PLATFORM_HDR = wx/msw/sound.h \
|
||||
@COND_TOOLKIT_MSW@ wx/msw/taskbar.h wx/msw/joystick.h
|
||||
@COND_TOOLKIT_PM@ADVANCED_PLATFORM_HDR = wx/os2/joystick.h \
|
||||
@COND_TOOLKIT_PM@ wx/os2/sound.h
|
||||
COND_TOOLKIT_MSW_ADVANCED_PLATFORM_HDR = \
|
||||
wx/generic/animate.h \
|
||||
wx/msw/sound.h \
|
||||
wx/msw/taskbar.h \
|
||||
wx/msw/joystick.h
|
||||
@COND_TOOLKIT_MSW@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_MSW_ADVANCED_PLATFORM_HDR)
|
||||
@COND_TOOLKIT_PM@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_PM@ wx/generic/animate.h wx/os2/joystick.h wx/os2/sound.h
|
||||
@COND_TOOLKIT_WINCE@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_WINCE@ wx/msw/sound.h wx/msw/taskbar.h
|
||||
@COND_TOOLKIT_WINCE@ wx/generic/animate.h wx/msw/sound.h wx/msw/taskbar.h
|
||||
@COND_TOOLKIT_X11@ADVANCED_PLATFORM_HDR = \
|
||||
@COND_TOOLKIT_X11@ wx/unix/joystick.h wx/unix/sound.h wx/unix/taskbarx11.h
|
||||
@COND_TOOLKIT_MSW@ADVANCED_PLATFORM_NATIVE_HDR = wx/msw/datectrl.h
|
||||
@COND_TOOLKIT_WINCE@ADVANCED_PLATFORM_NATIVE_HDR = wx/msw/datectrl.h
|
||||
COND_WXUNIV_0_ADVANCED_HDR = \
|
||||
wx/animate.h \
|
||||
wx/bmpcbox.h \
|
||||
wx/calctrl.h \
|
||||
wx/dataview.h \
|
||||
@@ -2637,6 +2646,7 @@ COND_WXUNIV_0_ADVANCED_HDR = \
|
||||
$(ADVANCED_PLATFORM_NATIVE_HDR)
|
||||
@COND_WXUNIV_0@ADVANCED_HDR = $(COND_WXUNIV_0_ADVANCED_HDR)
|
||||
COND_WXUNIV_1_ADVANCED_HDR = \
|
||||
wx/animate.h \
|
||||
wx/bmpcbox.h \
|
||||
wx/calctrl.h \
|
||||
wx/dataview.h \
|
||||
@@ -2820,6 +2830,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||
wx/wupdlock.h \
|
||||
wx/accel.h \
|
||||
wx/access.h \
|
||||
wx/anidecod.h \
|
||||
wx/artprov.h \
|
||||
wx/bitmap.h \
|
||||
wx/bookctrl.h \
|
||||
@@ -3312,6 +3323,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
|
||||
$(__LOWLEVEL_SRC_OBJECTS) \
|
||||
$(__GUI_SRC_OBJECTS) \
|
||||
monodll_accesscmn.o \
|
||||
monodll_anidecod.o \
|
||||
monodll_appcmn.o \
|
||||
monodll_artprov.o \
|
||||
monodll_artstd.o \
|
||||
@@ -3480,6 +3492,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
|
||||
monodll_mono.o \
|
||||
monodll_win32.o \
|
||||
monodll_accesscmn.o \
|
||||
monodll_anidecod.o \
|
||||
monodll_appcmn.o \
|
||||
monodll_artprov.o \
|
||||
monodll_artstd.o \
|
||||
@@ -4713,6 +4726,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1 = \
|
||||
monodll_window.o
|
||||
@COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_1)
|
||||
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \
|
||||
monodll_animatecmn.o \
|
||||
monodll_datavcmn.o \
|
||||
monodll_aboutdlgg.o \
|
||||
monodll_bmpcboxg.o \
|
||||
@@ -4735,6 +4749,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \
|
||||
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS)
|
||||
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS)
|
||||
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS = \
|
||||
monodll_animatecmn.o \
|
||||
monodll_datavcmn.o \
|
||||
monodll_aboutdlgg.o \
|
||||
monodll_bmpcboxg.o \
|
||||
@@ -5047,6 +5062,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
|
||||
$(__LOWLEVEL_SRC_OBJECTS_2) \
|
||||
$(__GUI_SRC_OBJECTS_1) \
|
||||
monolib_accesscmn.o \
|
||||
monolib_anidecod.o \
|
||||
monolib_appcmn.o \
|
||||
monolib_artprov.o \
|
||||
monolib_artstd.o \
|
||||
@@ -5215,6 +5231,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_mono.o \
|
||||
monolib_win32.o \
|
||||
monolib_accesscmn.o \
|
||||
monolib_anidecod.o \
|
||||
monolib_appcmn.o \
|
||||
monolib_artprov.o \
|
||||
monolib_artstd.o \
|
||||
@@ -6450,6 +6467,7 @@ COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3 = \
|
||||
monolib_window.o
|
||||
@COND_TOOLKIT_X11@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_X11___LOWLEVEL_SRC_OBJECTS_3)
|
||||
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \
|
||||
monolib_animatecmn.o \
|
||||
monolib_datavcmn.o \
|
||||
monolib_aboutdlgg.o \
|
||||
monolib_bmpcboxg.o \
|
||||
@@ -6472,6 +6490,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \
|
||||
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1)
|
||||
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1)
|
||||
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 = \
|
||||
monolib_animatecmn.o \
|
||||
monolib_datavcmn.o \
|
||||
monolib_aboutdlgg.o \
|
||||
monolib_bmpcboxg.o \
|
||||
@@ -6998,6 +7017,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
|
||||
$(__LOWLEVEL_SRC_OBJECTS_4) \
|
||||
$(__GUI_SRC_OBJECTS_2) \
|
||||
coredll_accesscmn.o \
|
||||
coredll_anidecod.o \
|
||||
coredll_appcmn.o \
|
||||
coredll_artprov.o \
|
||||
coredll_artstd.o \
|
||||
@@ -7166,6 +7186,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_mono.o \
|
||||
coredll_win32.o \
|
||||
coredll_accesscmn.o \
|
||||
coredll_anidecod.o \
|
||||
coredll_appcmn.o \
|
||||
coredll_artprov.o \
|
||||
coredll_artstd.o \
|
||||
@@ -8423,6 +8444,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
|
||||
$(__LOWLEVEL_SRC_OBJECTS_6) \
|
||||
$(__GUI_SRC_OBJECTS_3) \
|
||||
corelib_accesscmn.o \
|
||||
corelib_anidecod.o \
|
||||
corelib_appcmn.o \
|
||||
corelib_artprov.o \
|
||||
corelib_artstd.o \
|
||||
@@ -8591,6 +8613,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_mono.o \
|
||||
corelib_win32.o \
|
||||
corelib_accesscmn.o \
|
||||
corelib_anidecod.o \
|
||||
corelib_appcmn.o \
|
||||
corelib_artprov.o \
|
||||
corelib_artstd.o \
|
||||
@@ -9872,6 +9895,7 @@ COND_USE_SOSYMLINKS_1___advdll___so_symlinks_inst_cmd = rm -f \
|
||||
@COND_USE_SOSYMLINKS_1@__advdll___so_symlinks_inst_cmd = $(COND_USE_SOSYMLINKS_1___advdll___so_symlinks_inst_cmd)
|
||||
@COND_PLATFORM_WIN32_1@__advdll___win32rc = advdll_version_rc.o
|
||||
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \
|
||||
advdll_animatecmn.o \
|
||||
advdll_datavcmn.o \
|
||||
advdll_aboutdlgg.o \
|
||||
advdll_bmpcboxg.o \
|
||||
@@ -9894,6 +9918,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \
|
||||
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2)
|
||||
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2)
|
||||
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 = \
|
||||
advdll_animatecmn.o \
|
||||
advdll_datavcmn.o \
|
||||
advdll_aboutdlgg.o \
|
||||
advdll_bmpcboxg.o \
|
||||
@@ -9931,6 +9956,7 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___advlib___depname = \
|
||||
@COND_USE_PCH_1@___pch_wxprec_advlib_wx_wxprec_h_gch___depname \
|
||||
@COND_USE_PCH_1@ = .pch/wxprec_advlib/wx/wxprec.h.gch
|
||||
COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \
|
||||
advlib_animatecmn.o \
|
||||
advlib_datavcmn.o \
|
||||
advlib_aboutdlgg.o \
|
||||
advlib_bmpcboxg.o \
|
||||
@@ -9953,6 +9979,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \
|
||||
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3)
|
||||
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3)
|
||||
COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 = \
|
||||
advlib_animatecmn.o \
|
||||
advlib_datavcmn.o \
|
||||
advlib_aboutdlgg.o \
|
||||
advlib_bmpcboxg.o \
|
||||
@@ -10612,9 +10639,12 @@ COND_WITH_PLUGIN_SDL_1___sound_sdl___depname = \
|
||||
@COND_PLATFORM_MACOSX_1@__MAC_LOWLEVEL_SRC_OBJECTS \
|
||||
@COND_PLATFORM_MACOSX_1@ = monodll_gsockosx.o monodll_hid.o \
|
||||
@COND_PLATFORM_MACOSX_1@ monodll_utilsexc_cf.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
@COND_TOOLKIT_COCOA@ monodll_taskbar.o monodll_taskbarcmn.o \
|
||||
@COND_TOOLKIT_COCOA@ monodll_hidjoystick.o
|
||||
COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_animateg.o \
|
||||
monodll_taskbar.o \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_hidjoystick.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS)
|
||||
COND_TOOLKIT_GTK_TOOLKIT_VERSION____ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_joystick.o \
|
||||
@@ -10627,11 +10657,13 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_sound.o \
|
||||
monodll_taskbarx11.o \
|
||||
monodll_aboutdlg.o \
|
||||
monodll_animate.o \
|
||||
monodll_taskbar.o \
|
||||
monodll_dataview.o \
|
||||
monodll_eggtrayicon.o
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS)
|
||||
COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_animateg.o \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_aboutdlg.o \
|
||||
monodll_drawer.o \
|
||||
@@ -10646,6 +10678,7 @@ COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_taskbarx11.o
|
||||
@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS)
|
||||
COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_animateg.o \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_aboutdlg.o \
|
||||
monodll_sound.o \
|
||||
@@ -10653,10 +10686,14 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_joystick.o
|
||||
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS)
|
||||
@COND_TOOLKIT_PM@__ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
@COND_TOOLKIT_PM@ monodll_joystick.o monodll_sound.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
@COND_TOOLKIT_WINCE@ monodll_taskbarcmn.o monodll_aboutdlg.o \
|
||||
@COND_TOOLKIT_WINCE@ monodll_sound.o monodll_taskbar.o
|
||||
@COND_TOOLKIT_PM@ monodll_animateg.o monodll_joystick.o monodll_sound.o
|
||||
COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_animateg.o \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_aboutdlg.o \
|
||||
monodll_sound.o \
|
||||
monodll_taskbar.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS)
|
||||
COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_taskbarcmn.o \
|
||||
monodll_joystick.o \
|
||||
@@ -10666,9 +10703,12 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS = \
|
||||
@COND_PLATFORM_MACOSX_1@__MAC_LOWLEVEL_SRC_OBJECTS_0 \
|
||||
@COND_PLATFORM_MACOSX_1@ = monolib_gsockosx.o monolib_hid.o \
|
||||
@COND_PLATFORM_MACOSX_1@ monolib_utilsexc_cf.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
@COND_TOOLKIT_COCOA@ monolib_taskbar.o monolib_taskbarcmn.o \
|
||||
@COND_TOOLKIT_COCOA@ monolib_hidjoystick.o
|
||||
COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_animateg.o \
|
||||
monolib_taskbar.o \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_hidjoystick.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_0)
|
||||
COND_TOOLKIT_GTK_TOOLKIT_VERSION____ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_joystick.o \
|
||||
@@ -10681,11 +10721,13 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_sound.o \
|
||||
monolib_taskbarx11.o \
|
||||
monolib_aboutdlg.o \
|
||||
monolib_animate.o \
|
||||
monolib_taskbar.o \
|
||||
monolib_dataview.o \
|
||||
monolib_eggtrayicon.o
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0)
|
||||
COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_animateg.o \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_aboutdlg.o \
|
||||
monolib_drawer.o \
|
||||
@@ -10700,6 +10742,7 @@ COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_taskbarx11.o
|
||||
@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_0)
|
||||
COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_animateg.o \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_aboutdlg.o \
|
||||
monolib_sound.o \
|
||||
@@ -10707,10 +10750,14 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_joystick.o
|
||||
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_0)
|
||||
@COND_TOOLKIT_PM@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
@COND_TOOLKIT_PM@ monolib_joystick.o monolib_sound.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
@COND_TOOLKIT_WINCE@ monolib_taskbarcmn.o monolib_aboutdlg.o \
|
||||
@COND_TOOLKIT_WINCE@ monolib_sound.o monolib_taskbar.o
|
||||
@COND_TOOLKIT_PM@ monolib_animateg.o monolib_joystick.o monolib_sound.o
|
||||
COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_animateg.o \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_aboutdlg.o \
|
||||
monolib_sound.o \
|
||||
monolib_taskbar.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_0)
|
||||
COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
monolib_taskbarcmn.o \
|
||||
monolib_joystick.o \
|
||||
@@ -10723,9 +10770,12 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_0 = \
|
||||
@COND_PLATFORM_MACOSX_1@__MAC_LOWLEVEL_SRC_OBJECTS_9 \
|
||||
@COND_PLATFORM_MACOSX_1@ = corelib_gsockosx.o corelib_hid.o \
|
||||
@COND_PLATFORM_MACOSX_1@ corelib_utilsexc_cf.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
@COND_TOOLKIT_COCOA@ advdll_taskbar.o advdll_taskbarcmn.o \
|
||||
@COND_TOOLKIT_COCOA@ advdll_hidjoystick.o
|
||||
COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_animateg.o \
|
||||
advdll_taskbar.o \
|
||||
advdll_taskbarcmn.o \
|
||||
advdll_hidjoystick.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_8)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__ADVANCED_PLATFORM_SRC_OBJECTS_8 \
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@ = advdll_taskbarcmn.o advdll_joystick.o \
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@ advdll_sound.o advdll_taskbarx11.o
|
||||
@@ -10735,11 +10785,13 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_sound.o \
|
||||
advdll_taskbarx11.o \
|
||||
advdll_aboutdlg.o \
|
||||
advdll_animate.o \
|
||||
advdll_taskbar.o \
|
||||
advdll_dataview.o \
|
||||
advdll_eggtrayicon.o
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8)
|
||||
COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_animateg.o \
|
||||
advdll_taskbarcmn.o \
|
||||
advdll_aboutdlg.o \
|
||||
advdll_drawer.o \
|
||||
@@ -10751,6 +10803,7 @@ COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
@COND_TOOLKIT_MOTIF@ advdll_taskbarcmn.o advdll_joystick.o advdll_sound.o \
|
||||
@COND_TOOLKIT_MOTIF@ advdll_taskbarx11.o
|
||||
COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_animateg.o \
|
||||
advdll_taskbarcmn.o \
|
||||
advdll_aboutdlg.o \
|
||||
advdll_sound.o \
|
||||
@@ -10758,16 +10811,23 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_joystick.o
|
||||
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_8)
|
||||
@COND_TOOLKIT_PM@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
@COND_TOOLKIT_PM@ advdll_joystick.o advdll_sound.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
@COND_TOOLKIT_WINCE@ advdll_taskbarcmn.o advdll_aboutdlg.o advdll_sound.o \
|
||||
@COND_TOOLKIT_WINCE@ advdll_taskbar.o
|
||||
@COND_TOOLKIT_PM@ advdll_animateg.o advdll_joystick.o advdll_sound.o
|
||||
COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
advdll_animateg.o \
|
||||
advdll_taskbarcmn.o \
|
||||
advdll_aboutdlg.o \
|
||||
advdll_sound.o \
|
||||
advdll_taskbar.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_8)
|
||||
@COND_TOOLKIT_X11@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
|
||||
@COND_TOOLKIT_X11@ advdll_taskbarcmn.o advdll_joystick.o advdll_sound.o \
|
||||
@COND_TOOLKIT_X11@ advdll_taskbarx11.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
@COND_TOOLKIT_COCOA@ advlib_taskbar.o advlib_taskbarcmn.o \
|
||||
@COND_TOOLKIT_COCOA@ advlib_hidjoystick.o
|
||||
COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_animateg.o \
|
||||
advlib_taskbar.o \
|
||||
advlib_taskbarcmn.o \
|
||||
advlib_hidjoystick.o
|
||||
@COND_TOOLKIT_COCOA@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_COCOA___ADVANCED_PLATFORM_SRC_OBJECTS_9)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@__ADVANCED_PLATFORM_SRC_OBJECTS_9 \
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@ = advlib_taskbarcmn.o advlib_joystick.o \
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@ advlib_sound.o advlib_taskbarx11.o
|
||||
@@ -10777,11 +10837,13 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_sound.o \
|
||||
advlib_taskbarx11.o \
|
||||
advlib_aboutdlg.o \
|
||||
advlib_animate.o \
|
||||
advlib_taskbar.o \
|
||||
advlib_dataview.o \
|
||||
advlib_eggtrayicon.o
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9)
|
||||
COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_animateg.o \
|
||||
advlib_taskbarcmn.o \
|
||||
advlib_aboutdlg.o \
|
||||
advlib_drawer.o \
|
||||
@@ -10793,6 +10855,7 @@ COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
@COND_TOOLKIT_MOTIF@ advlib_taskbarcmn.o advlib_joystick.o advlib_sound.o \
|
||||
@COND_TOOLKIT_MOTIF@ advlib_taskbarx11.o
|
||||
COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_animateg.o \
|
||||
advlib_taskbarcmn.o \
|
||||
advlib_aboutdlg.o \
|
||||
advlib_sound.o \
|
||||
@@ -10800,10 +10863,14 @@ COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_joystick.o
|
||||
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_9)
|
||||
@COND_TOOLKIT_PM@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
@COND_TOOLKIT_PM@ advlib_joystick.o advlib_sound.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
@COND_TOOLKIT_WINCE@ advlib_taskbarcmn.o advlib_aboutdlg.o advlib_sound.o \
|
||||
@COND_TOOLKIT_WINCE@ advlib_taskbar.o
|
||||
@COND_TOOLKIT_PM@ advlib_animateg.o advlib_joystick.o advlib_sound.o
|
||||
COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
advlib_animateg.o \
|
||||
advlib_taskbarcmn.o \
|
||||
advlib_aboutdlg.o \
|
||||
advlib_sound.o \
|
||||
advlib_taskbar.o
|
||||
@COND_TOOLKIT_WINCE@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_WINCE___ADVANCED_PLATFORM_SRC_OBJECTS_9)
|
||||
@COND_TOOLKIT_X11@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
|
||||
@COND_TOOLKIT_X11@ advlib_taskbarcmn.o advlib_joystick.o advlib_sound.o \
|
||||
@COND_TOOLKIT_X11@ advlib_taskbarx11.o
|
||||
@@ -15377,6 +15444,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@monodll_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_anidecod.o: $(srcdir)/src/common/anidecod.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/anidecod.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_appcmn.o: $(srcdir)/src/common/appcmn.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/appcmn.cpp
|
||||
|
||||
@@ -15716,6 +15786,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@monodll_vscroll.o: $(srcdir)/src/generic/vscroll.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/vscroll.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@monodll_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
|
||||
|
||||
@@ -15770,6 +15843,21 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@monodll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MAC_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_MAC_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_COCOA_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_PM_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_PM_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@monodll_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp
|
||||
|
||||
@@ -15857,6 +15945,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_X11_USE_GUI_1@monodll_taskbarx11.o: $(srcdir)/src/unix/taskbarx11.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/taskbarx11.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_animate.o: $(srcdir)/src/gtk/animate.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/animate.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(MONODLL_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
|
||||
|
||||
@@ -19376,6 +19467,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@monolib_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_anidecod.o: $(srcdir)/src/common/anidecod.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/anidecod.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_appcmn.o: $(srcdir)/src/common/appcmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/appcmn.cpp
|
||||
|
||||
@@ -19715,6 +19809,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@monolib_vscroll.o: $(srcdir)/src/generic/vscroll.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/vscroll.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@monolib_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
|
||||
|
||||
@@ -19769,6 +19866,21 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@monolib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MAC_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_MAC_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_COCOA_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_PM_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_PM_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@monolib_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp
|
||||
|
||||
@@ -19856,6 +19968,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_X11_USE_GUI_1@monolib_taskbarx11.o: $(srcdir)/src/unix/taskbarx11.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_X11_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/taskbarx11.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_animate.o: $(srcdir)/src/gtk/animate.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/animate.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(MONOLIB_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
|
||||
|
||||
@@ -23714,6 +23829,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@coredll_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@coredll_anidecod.o: $(srcdir)/src/common/anidecod.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/anidecod.cpp
|
||||
|
||||
@COND_USE_GUI_1@coredll_appcmn.o: $(srcdir)/src/common/appcmn.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/appcmn.cpp
|
||||
|
||||
@@ -26621,6 +26739,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@corelib_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
|
||||
|
||||
@COND_USE_GUI_1@corelib_anidecod.o: $(srcdir)/src/common/anidecod.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/anidecod.cpp
|
||||
|
||||
@COND_USE_GUI_1@corelib_appcmn.o: $(srcdir)/src/common/appcmn.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/appcmn.cpp
|
||||
|
||||
@@ -26966,6 +27087,9 @@ advdll_version_rc.o: $(srcdir)/src/msw/version.rc $(ADVDLL_ODEP)
|
||||
advdll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(ADVDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/unix/sound_sdl.cpp
|
||||
|
||||
advdll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
|
||||
|
||||
advdll_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(ADVDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
|
||||
|
||||
@@ -27020,6 +27144,21 @@ advdll_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(ADVDLL_ODEP)
|
||||
advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_WINCE@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_WINCE@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MAC@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_COCOA@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_PM@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_PM@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW@advdll_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp
|
||||
|
||||
@@ -27134,6 +27273,9 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_X11@advdll_taskbarx11.o: $(srcdir)/src/unix/taskbarx11.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_X11@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/unix/taskbarx11.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_animate.o: $(srcdir)/src/gtk/animate.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/gtk/animate.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(ADVDLL_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
|
||||
|
||||
@@ -27149,6 +27291,9 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
|
||||
advlib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(ADVLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/unix/sound_sdl.cpp
|
||||
|
||||
advlib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(ADVLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
|
||||
|
||||
advlib_datavcmn.o: $(srcdir)/src/common/datavcmn.cpp $(ADVLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/datavcmn.cpp
|
||||
|
||||
@@ -27203,6 +27348,21 @@ advlib_tipdlg.o: $(srcdir)/src/generic/tipdlg.cpp $(ADVLIB_ODEP)
|
||||
advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
|
||||
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_WINCE@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_WINCE@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MAC@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_MAC@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_COCOA@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_COCOA@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_PM@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_PM@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
|
||||
|
||||
@COND_TOOLKIT_MSW@advlib_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp
|
||||
|
||||
@@ -27317,6 +27477,9 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_X11@advlib_taskbarx11.o: $(srcdir)/src/unix/taskbarx11.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_X11@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/unix/taskbarx11.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_animate.o: $(srcdir)/src/gtk/animate.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/animate.cpp
|
||||
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_dataview.o: $(srcdir)/src/gtk/dataview.cpp $(ADVLIB_ODEP)
|
||||
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/dataview.cpp
|
||||
|
||||
|
@@ -551,6 +551,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
|
||||
<set var="GUI_CMN_SRC" hints="files">
|
||||
src/common/accesscmn.cpp
|
||||
src/common/anidecod.cpp
|
||||
src/common/appcmn.cpp
|
||||
src/common/artprov.cpp
|
||||
src/common/artstd.cpp
|
||||
@@ -756,6 +757,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
|
||||
wx/accel.h
|
||||
wx/access.h
|
||||
wx/anidecod.h
|
||||
wx/artprov.h
|
||||
wx/bitmap.h
|
||||
wx/bookctrl.h
|
||||
@@ -2611,6 +2613,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
<!-- ====================================================================== -->
|
||||
|
||||
<set var="ADVANCED_CMN_SRC" hints="files">
|
||||
src/common/animatecmn.cpp
|
||||
src/common/datavcmn.cpp
|
||||
src/generic/aboutdlgg.cpp
|
||||
src/generic/bmpcboxg.cpp
|
||||
@@ -2632,6 +2635,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_CMN_HDR" hints="files">
|
||||
wx/animate.h
|
||||
wx/bmpcbox.h
|
||||
wx/calctrl.h
|
||||
wx/dataview.h
|
||||
@@ -2673,12 +2677,14 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_MSW_SRC" hints="files">
|
||||
src/generic/animateg.cpp
|
||||
src/common/taskbarcmn.cpp
|
||||
src/msw/aboutdlg.cpp
|
||||
src/msw/sound.cpp
|
||||
src/msw/taskbar.cpp
|
||||
</set>
|
||||
<set var="ADVANCED_MSW_HDR" hints="files">
|
||||
wx/generic/animate.h
|
||||
wx/msw/sound.h
|
||||
wx/msw/taskbar.h
|
||||
</set>
|
||||
@@ -2700,6 +2706,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_MAC_SRC" hints="files">
|
||||
src/generic/animateg.cpp
|
||||
src/common/taskbarcmn.cpp
|
||||
src/mac/carbon/aboutdlg.cpp
|
||||
src/mac/carbon/drawer.cpp
|
||||
@@ -2708,6 +2715,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/mac/corefoundation/hidjoystick.cpp
|
||||
</set>
|
||||
<set var="ADVANCED_MAC_HDR" hints="files">
|
||||
wx/generic/animate.h
|
||||
wx/mac/carbon/drawer.h
|
||||
wx/mac/carbon/sound.h
|
||||
wx/mac/carbon/taskbarosx.h
|
||||
@@ -2715,20 +2723,24 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_COCOA_SRC" hints="files">
|
||||
src/generic/animateg.cpp
|
||||
src/cocoa/taskbar.mm
|
||||
src/common/taskbarcmn.cpp
|
||||
src/mac/corefoundation/hidjoystick.cpp
|
||||
</set>
|
||||
<set var="ADVANCED_COCOA_HDR" hints="files">
|
||||
wx/generic/animate.h
|
||||
wx/cocoa/taskbar.h
|
||||
wx/mac/corefoundation/joystick.h
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_OS2_SRC" hints="files">
|
||||
src/generic/animateg.cpp
|
||||
src/os2/joystick.cpp
|
||||
src/os2/sound.cpp
|
||||
</set>
|
||||
<set var="ADVANCED_OS2_HDR" hints="files">
|
||||
wx/generic/animate.h
|
||||
wx/os2/joystick.h
|
||||
wx/os2/sound.h
|
||||
</set>
|
||||
@@ -2747,10 +2759,15 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
|
||||
<set var="ADVANCED_GTK_SRC" hints="files">
|
||||
src/gtk/aboutdlg.cpp
|
||||
src/gtk/animate.cpp
|
||||
src/gtk/taskbar.cpp
|
||||
src/gtk/dataview.cpp
|
||||
src/gtk/eggtrayicon.c
|
||||
</set>
|
||||
<set var="ADVANCED_GTK_HDR" hints="files">
|
||||
wx/gtk/animate.h
|
||||
</set>
|
||||
|
||||
<set var="ADVANCED_GTK1_SRC" hints="files">
|
||||
</set>
|
||||
|
||||
|
@@ -1369,6 +1369,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_fdrepdlg.obj \
|
||||
$(OBJS)\monodll_fontdlg.obj \
|
||||
$(OBJS)\monodll_accesscmn.obj \
|
||||
$(OBJS)\monodll_anidecod.obj \
|
||||
$(OBJS)\monodll_appcmn.obj \
|
||||
$(OBJS)\monodll_artprov.obj \
|
||||
$(OBJS)\monodll_artstd.obj \
|
||||
@@ -1587,6 +1588,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_mono.obj \
|
||||
$(OBJS)\monodll_win32.obj \
|
||||
$(OBJS)\monodll_accesscmn.obj \
|
||||
$(OBJS)\monodll_anidecod.obj \
|
||||
$(OBJS)\monodll_appcmn.obj \
|
||||
$(OBJS)\monodll_artprov.obj \
|
||||
$(OBJS)\monodll_artstd.obj \
|
||||
@@ -1703,6 +1705,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.obj \
|
||||
$(OBJS)\monodll_datavcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlgg.obj \
|
||||
$(OBJS)\monodll_bmpcboxg.obj \
|
||||
@@ -1721,6 +1724,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.obj \
|
||||
$(OBJS)\monodll_tipdlg.obj \
|
||||
$(OBJS)\monodll_wizard.obj \
|
||||
$(OBJS)\monodll_animateg.obj \
|
||||
$(OBJS)\monodll_taskbarcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlg.obj \
|
||||
$(OBJS)\monodll_sound.obj \
|
||||
@@ -1730,6 +1734,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.obj \
|
||||
$(OBJS)\monodll_datavcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlgg.obj \
|
||||
$(OBJS)\monodll_bmpcboxg.obj \
|
||||
@@ -1748,6 +1753,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.obj \
|
||||
$(OBJS)\monodll_tipdlg.obj \
|
||||
$(OBJS)\monodll_wizard.obj \
|
||||
$(OBJS)\monodll_animateg.obj \
|
||||
$(OBJS)\monodll_taskbarcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlg.obj \
|
||||
$(OBJS)\monodll_sound.obj \
|
||||
@@ -1961,6 +1967,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_fdrepdlg.obj \
|
||||
$(OBJS)\monolib_fontdlg.obj \
|
||||
$(OBJS)\monolib_accesscmn.obj \
|
||||
$(OBJS)\monolib_anidecod.obj \
|
||||
$(OBJS)\monolib_appcmn.obj \
|
||||
$(OBJS)\monolib_artprov.obj \
|
||||
$(OBJS)\monolib_artstd.obj \
|
||||
@@ -2179,6 +2186,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_mono.obj \
|
||||
$(OBJS)\monolib_win32.obj \
|
||||
$(OBJS)\monolib_accesscmn.obj \
|
||||
$(OBJS)\monolib_anidecod.obj \
|
||||
$(OBJS)\monolib_appcmn.obj \
|
||||
$(OBJS)\monolib_artprov.obj \
|
||||
$(OBJS)\monolib_artstd.obj \
|
||||
@@ -2295,6 +2303,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.obj \
|
||||
$(OBJS)\monolib_datavcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlgg.obj \
|
||||
$(OBJS)\monolib_bmpcboxg.obj \
|
||||
@@ -2313,6 +2322,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.obj \
|
||||
$(OBJS)\monolib_tipdlg.obj \
|
||||
$(OBJS)\monolib_wizard.obj \
|
||||
$(OBJS)\monolib_animateg.obj \
|
||||
$(OBJS)\monolib_taskbarcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlg.obj \
|
||||
$(OBJS)\monolib_sound.obj \
|
||||
@@ -2322,6 +2332,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.obj \
|
||||
$(OBJS)\monolib_datavcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlgg.obj \
|
||||
$(OBJS)\monolib_bmpcboxg.obj \
|
||||
@@ -2340,6 +2351,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.obj \
|
||||
$(OBJS)\monolib_tipdlg.obj \
|
||||
$(OBJS)\monolib_wizard.obj \
|
||||
$(OBJS)\monolib_animateg.obj \
|
||||
$(OBJS)\monolib_taskbarcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlg.obj \
|
||||
$(OBJS)\monolib_sound.obj \
|
||||
@@ -2467,6 +2479,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_fdrepdlg.obj \
|
||||
$(OBJS)\coredll_fontdlg.obj \
|
||||
$(OBJS)\coredll_accesscmn.obj \
|
||||
$(OBJS)\coredll_anidecod.obj \
|
||||
$(OBJS)\coredll_appcmn.obj \
|
||||
$(OBJS)\coredll_artprov.obj \
|
||||
$(OBJS)\coredll_artstd.obj \
|
||||
@@ -2685,6 +2698,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_mono.obj \
|
||||
$(OBJS)\coredll_win32.obj \
|
||||
$(OBJS)\coredll_accesscmn.obj \
|
||||
$(OBJS)\coredll_anidecod.obj \
|
||||
$(OBJS)\coredll_appcmn.obj \
|
||||
$(OBJS)\coredll_artprov.obj \
|
||||
$(OBJS)\coredll_artstd.obj \
|
||||
@@ -2904,6 +2918,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_fdrepdlg.obj \
|
||||
$(OBJS)\corelib_fontdlg.obj \
|
||||
$(OBJS)\corelib_accesscmn.obj \
|
||||
$(OBJS)\corelib_anidecod.obj \
|
||||
$(OBJS)\corelib_appcmn.obj \
|
||||
$(OBJS)\corelib_artprov.obj \
|
||||
$(OBJS)\corelib_artstd.obj \
|
||||
@@ -3122,6 +3137,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_mono.obj \
|
||||
$(OBJS)\corelib_win32.obj \
|
||||
$(OBJS)\corelib_accesscmn.obj \
|
||||
$(OBJS)\corelib_anidecod.obj \
|
||||
$(OBJS)\corelib_appcmn.obj \
|
||||
$(OBJS)\corelib_artprov.obj \
|
||||
$(OBJS)\corelib_artstd.obj \
|
||||
@@ -3242,6 +3258,7 @@ __advdll___depname = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.obj \
|
||||
$(OBJS)\advdll_datavcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlgg.obj \
|
||||
$(OBJS)\advdll_bmpcboxg.obj \
|
||||
@@ -3260,6 +3277,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.obj \
|
||||
$(OBJS)\advdll_tipdlg.obj \
|
||||
$(OBJS)\advdll_wizard.obj \
|
||||
$(OBJS)\advdll_animateg.obj \
|
||||
$(OBJS)\advdll_taskbarcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlg.obj \
|
||||
$(OBJS)\advdll_sound.obj \
|
||||
@@ -3269,6 +3287,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.obj \
|
||||
$(OBJS)\advdll_datavcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlgg.obj \
|
||||
$(OBJS)\advdll_bmpcboxg.obj \
|
||||
@@ -3287,6 +3306,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.obj \
|
||||
$(OBJS)\advdll_tipdlg.obj \
|
||||
$(OBJS)\advdll_wizard.obj \
|
||||
$(OBJS)\advdll_animateg.obj \
|
||||
$(OBJS)\advdll_taskbarcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlg.obj \
|
||||
$(OBJS)\advdll_sound.obj \
|
||||
@@ -3299,6 +3319,7 @@ __advlib___depname = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.obj \
|
||||
$(OBJS)\advlib_datavcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlgg.obj \
|
||||
$(OBJS)\advlib_bmpcboxg.obj \
|
||||
@@ -3317,6 +3338,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.obj \
|
||||
$(OBJS)\advlib_tipdlg.obj \
|
||||
$(OBJS)\advlib_wizard.obj \
|
||||
$(OBJS)\advlib_animateg.obj \
|
||||
$(OBJS)\advlib_taskbarcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlg.obj \
|
||||
$(OBJS)\advlib_sound.obj \
|
||||
@@ -3326,6 +3348,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.obj \
|
||||
$(OBJS)\advlib_datavcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlgg.obj \
|
||||
$(OBJS)\advlib_bmpcboxg.obj \
|
||||
@@ -3344,6 +3367,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.obj \
|
||||
$(OBJS)\advlib_tipdlg.obj \
|
||||
$(OBJS)\advlib_wizard.obj \
|
||||
$(OBJS)\advlib_animateg.obj \
|
||||
$(OBJS)\advlib_taskbarcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlg.obj \
|
||||
$(OBJS)\advlib_sound.obj \
|
||||
@@ -5635,6 +5659,11 @@ $(OBJS)\monodll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -6200,6 +6229,11 @@ $(OBJS)\monodll_vscroll.obj: ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -6290,6 +6324,11 @@ $(OBJS)\monodll_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -7548,6 +7587,11 @@ $(OBJS)\monolib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -8113,6 +8157,11 @@ $(OBJS)\monolib_vscroll.obj: ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -8203,6 +8252,11 @@ $(OBJS)\monolib_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -9482,6 +9536,11 @@ $(OBJS)\coredll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||
@@ -10722,6 +10781,11 @@ $(OBJS)\corelib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||
@@ -11296,6 +11360,9 @@ $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc
|
||||
$(OBJS)\advdll_datectrl.obj: ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
@@ -11350,6 +11417,9 @@ $(OBJS)\advdll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advdll_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
@@ -11371,6 +11441,9 @@ $(OBJS)\advlib_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(OBJS)\advlib_datectrl.obj: ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
@@ -11425,6 +11498,9 @@ $(OBJS)\advlib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advlib_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
|
@@ -1379,6 +1379,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_fdrepdlg.o \
|
||||
$(OBJS)\monodll_fontdlg.o \
|
||||
$(OBJS)\monodll_accesscmn.o \
|
||||
$(OBJS)\monodll_anidecod.o \
|
||||
$(OBJS)\monodll_appcmn.o \
|
||||
$(OBJS)\monodll_artprov.o \
|
||||
$(OBJS)\monodll_artstd.o \
|
||||
@@ -1599,6 +1600,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_mono.o \
|
||||
$(OBJS)\monodll_win32.o \
|
||||
$(OBJS)\monodll_accesscmn.o \
|
||||
$(OBJS)\monodll_anidecod.o \
|
||||
$(OBJS)\monodll_appcmn.o \
|
||||
$(OBJS)\monodll_artprov.o \
|
||||
$(OBJS)\monodll_artstd.o \
|
||||
@@ -1716,6 +1718,7 @@ endif
|
||||
endif
|
||||
ifeq ($(WXUNIV),0)
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.o \
|
||||
$(OBJS)\monodll_datavcmn.o \
|
||||
$(OBJS)\monodll_aboutdlgg.o \
|
||||
$(OBJS)\monodll_bmpcboxg.o \
|
||||
@@ -1734,6 +1737,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.o \
|
||||
$(OBJS)\monodll_tipdlg.o \
|
||||
$(OBJS)\monodll_wizard.o \
|
||||
$(OBJS)\monodll_animateg.o \
|
||||
$(OBJS)\monodll_taskbarcmn.o \
|
||||
$(OBJS)\monodll_aboutdlg.o \
|
||||
$(OBJS)\monodll_sound.o \
|
||||
@@ -1743,6 +1747,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.o \
|
||||
$(OBJS)\monodll_datavcmn.o \
|
||||
$(OBJS)\monodll_aboutdlgg.o \
|
||||
$(OBJS)\monodll_bmpcboxg.o \
|
||||
@@ -1761,6 +1766,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.o \
|
||||
$(OBJS)\monodll_tipdlg.o \
|
||||
$(OBJS)\monodll_wizard.o \
|
||||
$(OBJS)\monodll_animateg.o \
|
||||
$(OBJS)\monodll_taskbarcmn.o \
|
||||
$(OBJS)\monodll_aboutdlg.o \
|
||||
$(OBJS)\monodll_sound.o \
|
||||
@@ -1977,6 +1983,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_fdrepdlg.o \
|
||||
$(OBJS)\monolib_fontdlg.o \
|
||||
$(OBJS)\monolib_accesscmn.o \
|
||||
$(OBJS)\monolib_anidecod.o \
|
||||
$(OBJS)\monolib_appcmn.o \
|
||||
$(OBJS)\monolib_artprov.o \
|
||||
$(OBJS)\monolib_artstd.o \
|
||||
@@ -2197,6 +2204,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_mono.o \
|
||||
$(OBJS)\monolib_win32.o \
|
||||
$(OBJS)\monolib_accesscmn.o \
|
||||
$(OBJS)\monolib_anidecod.o \
|
||||
$(OBJS)\monolib_appcmn.o \
|
||||
$(OBJS)\monolib_artprov.o \
|
||||
$(OBJS)\monolib_artstd.o \
|
||||
@@ -2314,6 +2322,7 @@ endif
|
||||
endif
|
||||
ifeq ($(WXUNIV),0)
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.o \
|
||||
$(OBJS)\monolib_datavcmn.o \
|
||||
$(OBJS)\monolib_aboutdlgg.o \
|
||||
$(OBJS)\monolib_bmpcboxg.o \
|
||||
@@ -2332,6 +2341,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.o \
|
||||
$(OBJS)\monolib_tipdlg.o \
|
||||
$(OBJS)\monolib_wizard.o \
|
||||
$(OBJS)\monolib_animateg.o \
|
||||
$(OBJS)\monolib_taskbarcmn.o \
|
||||
$(OBJS)\monolib_aboutdlg.o \
|
||||
$(OBJS)\monolib_sound.o \
|
||||
@@ -2341,6 +2351,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.o \
|
||||
$(OBJS)\monolib_datavcmn.o \
|
||||
$(OBJS)\monolib_aboutdlgg.o \
|
||||
$(OBJS)\monolib_bmpcboxg.o \
|
||||
@@ -2359,6 +2370,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.o \
|
||||
$(OBJS)\monolib_tipdlg.o \
|
||||
$(OBJS)\monolib_wizard.o \
|
||||
$(OBJS)\monolib_animateg.o \
|
||||
$(OBJS)\monolib_taskbarcmn.o \
|
||||
$(OBJS)\monolib_aboutdlg.o \
|
||||
$(OBJS)\monolib_sound.o \
|
||||
@@ -2499,6 +2511,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_fdrepdlg.o \
|
||||
$(OBJS)\coredll_fontdlg.o \
|
||||
$(OBJS)\coredll_accesscmn.o \
|
||||
$(OBJS)\coredll_anidecod.o \
|
||||
$(OBJS)\coredll_appcmn.o \
|
||||
$(OBJS)\coredll_artprov.o \
|
||||
$(OBJS)\coredll_artstd.o \
|
||||
@@ -2719,6 +2732,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_mono.o \
|
||||
$(OBJS)\coredll_win32.o \
|
||||
$(OBJS)\coredll_accesscmn.o \
|
||||
$(OBJS)\coredll_anidecod.o \
|
||||
$(OBJS)\coredll_appcmn.o \
|
||||
$(OBJS)\coredll_artprov.o \
|
||||
$(OBJS)\coredll_artstd.o \
|
||||
@@ -2944,6 +2958,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_fdrepdlg.o \
|
||||
$(OBJS)\corelib_fontdlg.o \
|
||||
$(OBJS)\corelib_accesscmn.o \
|
||||
$(OBJS)\corelib_anidecod.o \
|
||||
$(OBJS)\corelib_appcmn.o \
|
||||
$(OBJS)\corelib_artprov.o \
|
||||
$(OBJS)\corelib_artstd.o \
|
||||
@@ -3164,6 +3179,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_mono.o \
|
||||
$(OBJS)\corelib_win32.o \
|
||||
$(OBJS)\corelib_accesscmn.o \
|
||||
$(OBJS)\corelib_anidecod.o \
|
||||
$(OBJS)\corelib_appcmn.o \
|
||||
$(OBJS)\corelib_artprov.o \
|
||||
$(OBJS)\corelib_artstd.o \
|
||||
@@ -3289,6 +3305,7 @@ endif
|
||||
endif
|
||||
ifeq ($(WXUNIV),0)
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.o \
|
||||
$(OBJS)\advdll_datavcmn.o \
|
||||
$(OBJS)\advdll_aboutdlgg.o \
|
||||
$(OBJS)\advdll_bmpcboxg.o \
|
||||
@@ -3307,6 +3324,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.o \
|
||||
$(OBJS)\advdll_tipdlg.o \
|
||||
$(OBJS)\advdll_wizard.o \
|
||||
$(OBJS)\advdll_animateg.o \
|
||||
$(OBJS)\advdll_taskbarcmn.o \
|
||||
$(OBJS)\advdll_aboutdlg.o \
|
||||
$(OBJS)\advdll_sound.o \
|
||||
@@ -3316,6 +3334,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.o \
|
||||
$(OBJS)\advdll_datavcmn.o \
|
||||
$(OBJS)\advdll_aboutdlgg.o \
|
||||
$(OBJS)\advdll_bmpcboxg.o \
|
||||
@@ -3334,6 +3353,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.o \
|
||||
$(OBJS)\advdll_tipdlg.o \
|
||||
$(OBJS)\advdll_wizard.o \
|
||||
$(OBJS)\advdll_animateg.o \
|
||||
$(OBJS)\advdll_taskbarcmn.o \
|
||||
$(OBJS)\advdll_aboutdlg.o \
|
||||
$(OBJS)\advdll_sound.o \
|
||||
@@ -3350,6 +3370,7 @@ endif
|
||||
endif
|
||||
ifeq ($(WXUNIV),0)
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.o \
|
||||
$(OBJS)\advlib_datavcmn.o \
|
||||
$(OBJS)\advlib_aboutdlgg.o \
|
||||
$(OBJS)\advlib_bmpcboxg.o \
|
||||
@@ -3368,6 +3389,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.o \
|
||||
$(OBJS)\advlib_tipdlg.o \
|
||||
$(OBJS)\advlib_wizard.o \
|
||||
$(OBJS)\advlib_animateg.o \
|
||||
$(OBJS)\advlib_taskbarcmn.o \
|
||||
$(OBJS)\advlib_aboutdlg.o \
|
||||
$(OBJS)\advlib_sound.o \
|
||||
@@ -3377,6 +3399,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
endif
|
||||
ifeq ($(WXUNIV),1)
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.o \
|
||||
$(OBJS)\advlib_datavcmn.o \
|
||||
$(OBJS)\advlib_aboutdlgg.o \
|
||||
$(OBJS)\advlib_bmpcboxg.o \
|
||||
@@ -3395,6 +3418,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.o \
|
||||
$(OBJS)\advlib_tipdlg.o \
|
||||
$(OBJS)\advlib_wizard.o \
|
||||
$(OBJS)\advlib_animateg.o \
|
||||
$(OBJS)\advlib_taskbarcmn.o \
|
||||
$(OBJS)\advlib_aboutdlg.o \
|
||||
$(OBJS)\advlib_sound.o \
|
||||
@@ -5852,6 +5876,11 @@ $(OBJS)\monodll_accesscmn.o: ../../src/common/accesscmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_anidecod.o: ../../src/common/anidecod.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_appcmn.o: ../../src/common/appcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -6417,6 +6446,11 @@ $(OBJS)\monodll_vscroll.o: ../../src/generic/vscroll.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_animatecmn.o: ../../src/common/animatecmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_datavcmn.o: ../../src/common/datavcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -6507,6 +6541,11 @@ $(OBJS)\monodll_wizard.o: ../../src/generic/wizard.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_animateg.o: ../../src/generic/animateg.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -7865,6 +7904,11 @@ $(OBJS)\monolib_accesscmn.o: ../../src/common/accesscmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_anidecod.o: ../../src/common/anidecod.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_appcmn.o: ../../src/common/appcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -8430,6 +8474,11 @@ $(OBJS)\monolib_vscroll.o: ../../src/generic/vscroll.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_animatecmn.o: ../../src/common/animatecmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_datavcmn.o: ../../src/common/datavcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -8520,6 +8569,11 @@ $(OBJS)\monolib_wizard.o: ../../src/generic/wizard.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_animateg.o: ../../src/generic/animateg.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -9899,6 +9953,11 @@ $(OBJS)\coredll_accesscmn.o: ../../src/common/accesscmn.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_anidecod.o: ../../src/common/anidecod.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_appcmn.o: ../../src/common/appcmn.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -11239,6 +11298,11 @@ $(OBJS)\corelib_accesscmn.o: ../../src/common/accesscmn.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_anidecod.o: ../../src/common/anidecod.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_appcmn.o: ../../src/common/appcmn.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -11813,6 +11877,9 @@ $(OBJS)\advdll_version_rc.o: ../../src/msw/version.rc
|
||||
$(OBJS)\advdll_datectrl.o: ../../src/msw/datectrl.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advdll_animatecmn.o: ../../src/common/animatecmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advdll_datavcmn.o: ../../src/common/datavcmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -11867,6 +11934,9 @@ $(OBJS)\advdll_tipdlg.o: ../../src/generic/tipdlg.cpp
|
||||
$(OBJS)\advdll_wizard.o: ../../src/generic/wizard.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advdll_animateg.o: ../../src/generic/animateg.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advdll_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -11888,6 +11958,9 @@ $(OBJS)\advlib_dummy.o: ../../src/common/dummy.cpp
|
||||
$(OBJS)\advlib_datectrl.o: ../../src/msw/datectrl.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advlib_animatecmn.o: ../../src/common/animatecmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advlib_datavcmn.o: ../../src/common/datavcmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
@@ -11942,6 +12015,9 @@ $(OBJS)\advlib_tipdlg.o: ../../src/generic/tipdlg.cpp
|
||||
$(OBJS)\advlib_wizard.o: ../../src/generic/wizard.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advlib_animateg.o: ../../src/generic/animateg.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
$(OBJS)\advlib_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
|
||||
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
||||
|
@@ -1536,6 +1536,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_fdrepdlg.obj \
|
||||
$(OBJS)\monodll_fontdlg.obj \
|
||||
$(OBJS)\monodll_accesscmn.obj \
|
||||
$(OBJS)\monodll_anidecod.obj \
|
||||
$(OBJS)\monodll_appcmn.obj \
|
||||
$(OBJS)\monodll_artprov.obj \
|
||||
$(OBJS)\monodll_artstd.obj \
|
||||
@@ -1754,6 +1755,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_mono.obj \
|
||||
$(OBJS)\monodll_win32.obj \
|
||||
$(OBJS)\monodll_accesscmn.obj \
|
||||
$(OBJS)\monodll_anidecod.obj \
|
||||
$(OBJS)\monodll_appcmn.obj \
|
||||
$(OBJS)\monodll_artprov.obj \
|
||||
$(OBJS)\monodll_artstd.obj \
|
||||
@@ -1870,6 +1872,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.obj \
|
||||
$(OBJS)\monodll_datavcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlgg.obj \
|
||||
$(OBJS)\monodll_bmpcboxg.obj \
|
||||
@@ -1888,6 +1891,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.obj \
|
||||
$(OBJS)\monodll_tipdlg.obj \
|
||||
$(OBJS)\monodll_wizard.obj \
|
||||
$(OBJS)\monodll_animateg.obj \
|
||||
$(OBJS)\monodll_taskbarcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlg.obj \
|
||||
$(OBJS)\monodll_sound.obj \
|
||||
@@ -1897,6 +1901,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_animatecmn.obj \
|
||||
$(OBJS)\monodll_datavcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlgg.obj \
|
||||
$(OBJS)\monodll_bmpcboxg.obj \
|
||||
@@ -1915,6 +1920,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_splash.obj \
|
||||
$(OBJS)\monodll_tipdlg.obj \
|
||||
$(OBJS)\monodll_wizard.obj \
|
||||
$(OBJS)\monodll_animateg.obj \
|
||||
$(OBJS)\monodll_taskbarcmn.obj \
|
||||
$(OBJS)\monodll_aboutdlg.obj \
|
||||
$(OBJS)\monodll_sound.obj \
|
||||
@@ -2134,6 +2140,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_fdrepdlg.obj \
|
||||
$(OBJS)\monolib_fontdlg.obj \
|
||||
$(OBJS)\monolib_accesscmn.obj \
|
||||
$(OBJS)\monolib_anidecod.obj \
|
||||
$(OBJS)\monolib_appcmn.obj \
|
||||
$(OBJS)\monolib_artprov.obj \
|
||||
$(OBJS)\monolib_artstd.obj \
|
||||
@@ -2352,6 +2359,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_mono.obj \
|
||||
$(OBJS)\monolib_win32.obj \
|
||||
$(OBJS)\monolib_accesscmn.obj \
|
||||
$(OBJS)\monolib_anidecod.obj \
|
||||
$(OBJS)\monolib_appcmn.obj \
|
||||
$(OBJS)\monolib_artprov.obj \
|
||||
$(OBJS)\monolib_artstd.obj \
|
||||
@@ -2468,6 +2476,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.obj \
|
||||
$(OBJS)\monolib_datavcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlgg.obj \
|
||||
$(OBJS)\monolib_bmpcboxg.obj \
|
||||
@@ -2486,6 +2495,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.obj \
|
||||
$(OBJS)\monolib_tipdlg.obj \
|
||||
$(OBJS)\monolib_wizard.obj \
|
||||
$(OBJS)\monolib_animateg.obj \
|
||||
$(OBJS)\monolib_taskbarcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlg.obj \
|
||||
$(OBJS)\monolib_sound.obj \
|
||||
@@ -2495,6 +2505,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_animatecmn.obj \
|
||||
$(OBJS)\monolib_datavcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlgg.obj \
|
||||
$(OBJS)\monolib_bmpcboxg.obj \
|
||||
@@ -2513,6 +2524,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_splash.obj \
|
||||
$(OBJS)\monolib_tipdlg.obj \
|
||||
$(OBJS)\monolib_wizard.obj \
|
||||
$(OBJS)\monolib_animateg.obj \
|
||||
$(OBJS)\monolib_taskbarcmn.obj \
|
||||
$(OBJS)\monolib_aboutdlg.obj \
|
||||
$(OBJS)\monolib_sound.obj \
|
||||
@@ -2670,6 +2682,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_fdrepdlg.obj \
|
||||
$(OBJS)\coredll_fontdlg.obj \
|
||||
$(OBJS)\coredll_accesscmn.obj \
|
||||
$(OBJS)\coredll_anidecod.obj \
|
||||
$(OBJS)\coredll_appcmn.obj \
|
||||
$(OBJS)\coredll_artprov.obj \
|
||||
$(OBJS)\coredll_artstd.obj \
|
||||
@@ -2888,6 +2901,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_mono.obj \
|
||||
$(OBJS)\coredll_win32.obj \
|
||||
$(OBJS)\coredll_accesscmn.obj \
|
||||
$(OBJS)\coredll_anidecod.obj \
|
||||
$(OBJS)\coredll_appcmn.obj \
|
||||
$(OBJS)\coredll_artprov.obj \
|
||||
$(OBJS)\coredll_artstd.obj \
|
||||
@@ -3113,6 +3127,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_fdrepdlg.obj \
|
||||
$(OBJS)\corelib_fontdlg.obj \
|
||||
$(OBJS)\corelib_accesscmn.obj \
|
||||
$(OBJS)\corelib_anidecod.obj \
|
||||
$(OBJS)\corelib_appcmn.obj \
|
||||
$(OBJS)\corelib_artprov.obj \
|
||||
$(OBJS)\corelib_artstd.obj \
|
||||
@@ -3331,6 +3346,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_mono.obj \
|
||||
$(OBJS)\corelib_win32.obj \
|
||||
$(OBJS)\corelib_accesscmn.obj \
|
||||
$(OBJS)\corelib_anidecod.obj \
|
||||
$(OBJS)\corelib_appcmn.obj \
|
||||
$(OBJS)\corelib_artprov.obj \
|
||||
$(OBJS)\corelib_artstd.obj \
|
||||
@@ -3457,6 +3473,7 @@ __RUNTIME_LIBS_195 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.obj \
|
||||
$(OBJS)\advdll_datavcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlgg.obj \
|
||||
$(OBJS)\advdll_bmpcboxg.obj \
|
||||
@@ -3475,6 +3492,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.obj \
|
||||
$(OBJS)\advdll_tipdlg.obj \
|
||||
$(OBJS)\advdll_wizard.obj \
|
||||
$(OBJS)\advdll_animateg.obj \
|
||||
$(OBJS)\advdll_taskbarcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlg.obj \
|
||||
$(OBJS)\advdll_sound.obj \
|
||||
@@ -3484,6 +3502,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_animatecmn.obj \
|
||||
$(OBJS)\advdll_datavcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlgg.obj \
|
||||
$(OBJS)\advdll_bmpcboxg.obj \
|
||||
@@ -3502,6 +3521,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\advdll_splash.obj \
|
||||
$(OBJS)\advdll_tipdlg.obj \
|
||||
$(OBJS)\advdll_wizard.obj \
|
||||
$(OBJS)\advdll_animateg.obj \
|
||||
$(OBJS)\advdll_taskbarcmn.obj \
|
||||
$(OBJS)\advdll_aboutdlg.obj \
|
||||
$(OBJS)\advdll_sound.obj \
|
||||
@@ -3520,6 +3540,7 @@ __RUNTIME_LIBS_208 = $(__THREADSFLAG)
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "0"
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.obj \
|
||||
$(OBJS)\advlib_datavcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlgg.obj \
|
||||
$(OBJS)\advlib_bmpcboxg.obj \
|
||||
@@ -3538,6 +3559,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.obj \
|
||||
$(OBJS)\advlib_tipdlg.obj \
|
||||
$(OBJS)\advlib_wizard.obj \
|
||||
$(OBJS)\advlib_animateg.obj \
|
||||
$(OBJS)\advlib_taskbarcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlg.obj \
|
||||
$(OBJS)\advlib_sound.obj \
|
||||
@@ -3547,6 +3569,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
!endif
|
||||
!if "$(WXUNIV)" == "1"
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_animatecmn.obj \
|
||||
$(OBJS)\advlib_datavcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlgg.obj \
|
||||
$(OBJS)\advlib_bmpcboxg.obj \
|
||||
@@ -3565,6 +3588,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\advlib_splash.obj \
|
||||
$(OBJS)\advlib_tipdlg.obj \
|
||||
$(OBJS)\advlib_wizard.obj \
|
||||
$(OBJS)\advlib_animateg.obj \
|
||||
$(OBJS)\advlib_taskbarcmn.obj \
|
||||
$(OBJS)\advlib_aboutdlg.obj \
|
||||
$(OBJS)\advlib_sound.obj \
|
||||
@@ -5968,6 +5992,11 @@ $(OBJS)\monodll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -6533,6 +6562,11 @@ $(OBJS)\monodll_vscroll.obj: ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -6623,6 +6657,11 @@ $(OBJS)\monodll_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||
@@ -7881,6 +7920,11 @@ $(OBJS)\monolib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -8446,6 +8490,11 @@ $(OBJS)\monolib_vscroll.obj: ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -8536,6 +8585,11 @@ $(OBJS)\monolib_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||
@@ -9815,6 +9869,11 @@ $(OBJS)\coredll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||
@@ -11055,6 +11114,11 @@ $(OBJS)\corelib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_anidecod.obj: ..\..\src\common\anidecod.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_appcmn.obj: ..\..\src\common\appcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||
@@ -11629,6 +11693,9 @@ $(OBJS)\advdll_version.res: ..\..\src\msw\version.rc
|
||||
$(OBJS)\advdll_datectrl.obj: ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
@@ -11683,6 +11750,9 @@ $(OBJS)\advdll_tipdlg.obj: ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advdll_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
|
||||
|
||||
@@ -11704,6 +11774,9 @@ $(OBJS)\advlib_dummy.obj: ..\..\src\common\dummy.cpp
|
||||
$(OBJS)\advlib_datectrl.obj: ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_animatecmn.obj: ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_datavcmn.obj: ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
@@ -11758,6 +11831,9 @@ $(OBJS)\advlib_tipdlg.obj: ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advlib_wizard.obj: ..\..\src\generic\wizard.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_animateg.obj: ..\..\src\generic\animateg.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
$(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
|
||||
|
||||
|
@@ -301,6 +301,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_fdrepdlg.obj &
|
||||
$(OBJS)\monodll_fontdlg.obj &
|
||||
$(OBJS)\monodll_accesscmn.obj &
|
||||
$(OBJS)\monodll_anidecod.obj &
|
||||
$(OBJS)\monodll_appcmn.obj &
|
||||
$(OBJS)\monodll_artprov.obj &
|
||||
$(OBJS)\monodll_artstd.obj &
|
||||
@@ -521,6 +522,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_mono.obj &
|
||||
$(OBJS)\monodll_win32.obj &
|
||||
$(OBJS)\monodll_accesscmn.obj &
|
||||
$(OBJS)\monodll_anidecod.obj &
|
||||
$(OBJS)\monodll_appcmn.obj &
|
||||
$(OBJS)\monodll_artprov.obj &
|
||||
$(OBJS)\monodll_artstd.obj &
|
||||
@@ -639,6 +641,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS =
|
||||
!ifeq WXUNIV 0
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_animatecmn.obj &
|
||||
$(OBJS)\monodll_datavcmn.obj &
|
||||
$(OBJS)\monodll_aboutdlgg.obj &
|
||||
$(OBJS)\monodll_bmpcboxg.obj &
|
||||
@@ -657,6 +660,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_splash.obj &
|
||||
$(OBJS)\monodll_tipdlg.obj &
|
||||
$(OBJS)\monodll_wizard.obj &
|
||||
$(OBJS)\monodll_animateg.obj &
|
||||
$(OBJS)\monodll_taskbarcmn.obj &
|
||||
$(OBJS)\monodll_aboutdlg.obj &
|
||||
$(OBJS)\monodll_sound.obj &
|
||||
@@ -666,6 +670,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
|
||||
!endif
|
||||
!ifeq WXUNIV 1
|
||||
____ADVANCED_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_animatecmn.obj &
|
||||
$(OBJS)\monodll_datavcmn.obj &
|
||||
$(OBJS)\monodll_aboutdlgg.obj &
|
||||
$(OBJS)\monodll_bmpcboxg.obj &
|
||||
@@ -684,6 +689,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_splash.obj &
|
||||
$(OBJS)\monodll_tipdlg.obj &
|
||||
$(OBJS)\monodll_wizard.obj &
|
||||
$(OBJS)\monodll_animateg.obj &
|
||||
$(OBJS)\monodll_taskbarcmn.obj &
|
||||
$(OBJS)\monodll_aboutdlg.obj &
|
||||
$(OBJS)\monodll_sound.obj &
|
||||
@@ -903,6 +909,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_fdrepdlg.obj &
|
||||
$(OBJS)\monolib_fontdlg.obj &
|
||||
$(OBJS)\monolib_accesscmn.obj &
|
||||
$(OBJS)\monolib_anidecod.obj &
|
||||
$(OBJS)\monolib_appcmn.obj &
|
||||
$(OBJS)\monolib_artprov.obj &
|
||||
$(OBJS)\monolib_artstd.obj &
|
||||
@@ -1123,6 +1130,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_mono.obj &
|
||||
$(OBJS)\monolib_win32.obj &
|
||||
$(OBJS)\monolib_accesscmn.obj &
|
||||
$(OBJS)\monolib_anidecod.obj &
|
||||
$(OBJS)\monolib_appcmn.obj &
|
||||
$(OBJS)\monolib_artprov.obj &
|
||||
$(OBJS)\monolib_artstd.obj &
|
||||
@@ -1241,6 +1249,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS =
|
||||
!ifeq WXUNIV 0
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_animatecmn.obj &
|
||||
$(OBJS)\monolib_datavcmn.obj &
|
||||
$(OBJS)\monolib_aboutdlgg.obj &
|
||||
$(OBJS)\monolib_bmpcboxg.obj &
|
||||
@@ -1259,6 +1268,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_splash.obj &
|
||||
$(OBJS)\monolib_tipdlg.obj &
|
||||
$(OBJS)\monolib_wizard.obj &
|
||||
$(OBJS)\monolib_animateg.obj &
|
||||
$(OBJS)\monolib_taskbarcmn.obj &
|
||||
$(OBJS)\monolib_aboutdlg.obj &
|
||||
$(OBJS)\monolib_sound.obj &
|
||||
@@ -1268,6 +1278,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
|
||||
!endif
|
||||
!ifeq WXUNIV 1
|
||||
____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_animatecmn.obj &
|
||||
$(OBJS)\monolib_datavcmn.obj &
|
||||
$(OBJS)\monolib_aboutdlgg.obj &
|
||||
$(OBJS)\monolib_bmpcboxg.obj &
|
||||
@@ -1286,6 +1297,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_splash.obj &
|
||||
$(OBJS)\monolib_tipdlg.obj &
|
||||
$(OBJS)\monolib_wizard.obj &
|
||||
$(OBJS)\monolib_animateg.obj &
|
||||
$(OBJS)\monolib_taskbarcmn.obj &
|
||||
$(OBJS)\monolib_aboutdlg.obj &
|
||||
$(OBJS)\monolib_sound.obj &
|
||||
@@ -1432,6 +1444,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_fdrepdlg.obj &
|
||||
$(OBJS)\coredll_fontdlg.obj &
|
||||
$(OBJS)\coredll_accesscmn.obj &
|
||||
$(OBJS)\coredll_anidecod.obj &
|
||||
$(OBJS)\coredll_appcmn.obj &
|
||||
$(OBJS)\coredll_artprov.obj &
|
||||
$(OBJS)\coredll_artstd.obj &
|
||||
@@ -1652,6 +1665,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_mono.obj &
|
||||
$(OBJS)\coredll_win32.obj &
|
||||
$(OBJS)\coredll_accesscmn.obj &
|
||||
$(OBJS)\coredll_anidecod.obj &
|
||||
$(OBJS)\coredll_appcmn.obj &
|
||||
$(OBJS)\coredll_artprov.obj &
|
||||
$(OBJS)\coredll_artstd.obj &
|
||||
@@ -1879,6 +1893,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_fdrepdlg.obj &
|
||||
$(OBJS)\corelib_fontdlg.obj &
|
||||
$(OBJS)\corelib_accesscmn.obj &
|
||||
$(OBJS)\corelib_anidecod.obj &
|
||||
$(OBJS)\corelib_appcmn.obj &
|
||||
$(OBJS)\corelib_artprov.obj &
|
||||
$(OBJS)\corelib_artstd.obj &
|
||||
@@ -2099,6 +2114,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_mono.obj &
|
||||
$(OBJS)\corelib_win32.obj &
|
||||
$(OBJS)\corelib_accesscmn.obj &
|
||||
$(OBJS)\corelib_anidecod.obj &
|
||||
$(OBJS)\corelib_appcmn.obj &
|
||||
$(OBJS)\corelib_artprov.obj &
|
||||
$(OBJS)\corelib_artstd.obj &
|
||||
@@ -2226,6 +2242,7 @@ __advdll___depname = &
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS =
|
||||
!ifeq WXUNIV 0
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\advdll_animatecmn.obj &
|
||||
$(OBJS)\advdll_datavcmn.obj &
|
||||
$(OBJS)\advdll_aboutdlgg.obj &
|
||||
$(OBJS)\advdll_bmpcboxg.obj &
|
||||
@@ -2244,6 +2261,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\advdll_splash.obj &
|
||||
$(OBJS)\advdll_tipdlg.obj &
|
||||
$(OBJS)\advdll_wizard.obj &
|
||||
$(OBJS)\advdll_animateg.obj &
|
||||
$(OBJS)\advdll_taskbarcmn.obj &
|
||||
$(OBJS)\advdll_aboutdlg.obj &
|
||||
$(OBJS)\advdll_sound.obj &
|
||||
@@ -2253,6 +2271,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
|
||||
!endif
|
||||
!ifeq WXUNIV 1
|
||||
____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\advdll_animatecmn.obj &
|
||||
$(OBJS)\advdll_datavcmn.obj &
|
||||
$(OBJS)\advdll_aboutdlgg.obj &
|
||||
$(OBJS)\advdll_bmpcboxg.obj &
|
||||
@@ -2271,6 +2290,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\advdll_splash.obj &
|
||||
$(OBJS)\advdll_tipdlg.obj &
|
||||
$(OBJS)\advdll_wizard.obj &
|
||||
$(OBJS)\advdll_animateg.obj &
|
||||
$(OBJS)\advdll_taskbarcmn.obj &
|
||||
$(OBJS)\advdll_aboutdlg.obj &
|
||||
$(OBJS)\advdll_sound.obj &
|
||||
@@ -2289,6 +2309,7 @@ __advlib___depname = &
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS =
|
||||
!ifeq WXUNIV 0
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\advlib_animatecmn.obj &
|
||||
$(OBJS)\advlib_datavcmn.obj &
|
||||
$(OBJS)\advlib_aboutdlgg.obj &
|
||||
$(OBJS)\advlib_bmpcboxg.obj &
|
||||
@@ -2307,6 +2328,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\advlib_splash.obj &
|
||||
$(OBJS)\advlib_tipdlg.obj &
|
||||
$(OBJS)\advlib_wizard.obj &
|
||||
$(OBJS)\advlib_animateg.obj &
|
||||
$(OBJS)\advlib_taskbarcmn.obj &
|
||||
$(OBJS)\advlib_aboutdlg.obj &
|
||||
$(OBJS)\advlib_sound.obj &
|
||||
@@ -2316,6 +2338,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
|
||||
!endif
|
||||
!ifeq WXUNIV 1
|
||||
____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\advlib_animatecmn.obj &
|
||||
$(OBJS)\advlib_datavcmn.obj &
|
||||
$(OBJS)\advlib_aboutdlgg.obj &
|
||||
$(OBJS)\advlib_bmpcboxg.obj &
|
||||
@@ -2334,6 +2357,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\advlib_splash.obj &
|
||||
$(OBJS)\advlib_tipdlg.obj &
|
||||
$(OBJS)\advlib_wizard.obj &
|
||||
$(OBJS)\advlib_animateg.obj &
|
||||
$(OBJS)\advlib_taskbarcmn.obj &
|
||||
$(OBJS)\advlib_aboutdlg.obj &
|
||||
$(OBJS)\advlib_sound.obj &
|
||||
@@ -6080,6 +6104,11 @@ $(OBJS)\monodll_accesscmn.obj : .AUTODEPEND ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_anidecod.obj : .AUTODEPEND ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_appcmn.obj : .AUTODEPEND ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
@@ -6645,6 +6674,11 @@ $(OBJS)\monodll_vscroll.obj : .AUTODEPEND ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
@@ -6735,6 +6769,11 @@ $(OBJS)\monodll_wizard.obj : .AUTODEPEND ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_animateg.obj : .AUTODEPEND ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
@@ -8093,6 +8132,11 @@ $(OBJS)\monolib_accesscmn.obj : .AUTODEPEND ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_anidecod.obj : .AUTODEPEND ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_appcmn.obj : .AUTODEPEND ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
@@ -8658,6 +8702,11 @@ $(OBJS)\monolib_vscroll.obj : .AUTODEPEND ..\..\src\generic\vscroll.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
@@ -8748,6 +8797,11 @@ $(OBJS)\monolib_wizard.obj : .AUTODEPEND ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_animateg.obj : .AUTODEPEND ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
@@ -10127,6 +10181,11 @@ $(OBJS)\coredll_accesscmn.obj : .AUTODEPEND ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\coredll_anidecod.obj : .AUTODEPEND ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\coredll_appcmn.obj : .AUTODEPEND ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
@@ -11467,6 +11526,11 @@ $(OBJS)\corelib_accesscmn.obj : .AUTODEPEND ..\..\src\common\accesscmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\corelib_anidecod.obj : .AUTODEPEND ..\..\src\common\anidecod.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\corelib_appcmn.obj : .AUTODEPEND ..\..\src\common\appcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
@@ -12041,6 +12105,9 @@ $(OBJS)\advdll_version.res : .AUTODEPEND ..\..\src\msw\version.rc
|
||||
$(OBJS)\advdll_datectrl.obj : .AUTODEPEND ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advdll_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advdll_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
@@ -12095,6 +12162,9 @@ $(OBJS)\advdll_tipdlg.obj : .AUTODEPEND ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advdll_wizard.obj : .AUTODEPEND ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advdll_animateg.obj : .AUTODEPEND ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advdll_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
|
||||
|
||||
@@ -12116,6 +12186,9 @@ $(OBJS)\advlib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
|
||||
$(OBJS)\advlib_datectrl.obj : .AUTODEPEND ..\..\src\msw\datectrl.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advlib_animatecmn.obj : .AUTODEPEND ..\..\src\common\animatecmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advlib_datavcmn.obj : .AUTODEPEND ..\..\src\common\datavcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
@@ -12170,6 +12243,9 @@ $(OBJS)\advlib_tipdlg.obj : .AUTODEPEND ..\..\src\generic\tipdlg.cpp
|
||||
$(OBJS)\advlib_wizard.obj : .AUTODEPEND ..\..\src\generic\wizard.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advlib_animateg.obj : .AUTODEPEND ..\..\src\generic\animateg.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
$(OBJS)\advlib_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
|
||||
|
||||
|
@@ -452,6 +452,10 @@ LIB32=link.exe -lib
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\animatecmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\datavcmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -620,6 +624,10 @@ SOURCE=..\..\src\generic\aboutdlgg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\generic\animateg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\generic\bmpcboxg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -1137,6 +1145,10 @@ SOURCE=..\..\include\wx\generic\aboutdlgg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\generic\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\generic\bmpcbox.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -1197,6 +1209,10 @@ SOURCE=..\..\include\wx\aboutdlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\bmpcbox.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@@ -456,6 +456,10 @@ SOURCE=..\..\src\common\accesscmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\anidecod.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\appcmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -8165,6 +8169,10 @@ SOURCE=..\..\include\wx\generic\accel.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\generic\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\generic\bmpcbox.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -8589,6 +8597,14 @@ SOURCE=..\..\include\wx\access.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\anidecod.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\artprov.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
11
configure.in
11
configure.in
@@ -510,6 +510,7 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_VALIDATORS=no
|
||||
|
||||
DEFAULT_wxUSE_ACCEL=no
|
||||
DEFAULT_wxUSE_ANIMATIONCTRL=no
|
||||
DEFAULT_wxUSE_BUTTON=no
|
||||
DEFAULT_wxUSE_BMPBUTTON=no
|
||||
DEFAULT_wxUSE_BITMAPCOMBOBOX=no
|
||||
@@ -726,6 +727,7 @@ else
|
||||
DEFAULT_wxUSE_VALIDATORS=yes
|
||||
|
||||
DEFAULT_wxUSE_ACCEL=yes
|
||||
DEFAULT_wxUSE_ANIMATIONCTRL=yes
|
||||
DEFAULT_wxUSE_BUTTON=yes
|
||||
DEFAULT_wxUSE_BMPBUTTON=yes
|
||||
DEFAULT_wxUSE_BITMAPCOMBOBOX=yes
|
||||
@@ -1054,6 +1056,7 @@ dnl --disable-<control> later on the command line - but by default all will be
|
||||
dnl used (and vice versa)
|
||||
if test "$wxUSE_CONTROLS" = "yes"; then
|
||||
DEFAULT_wxUSE_ACCEL=yes
|
||||
DEFAULT_wxUSE_ANIMATIONCTRL=yes
|
||||
DEFAULT_wxUSE_BMPBUTTON=yes
|
||||
DEFAULT_wxUSE_BUTTON=yes
|
||||
DEFAULT_wxUSE_CALCTRL=yes
|
||||
@@ -1103,6 +1106,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
|
||||
DEFAULT_wxUSE_TIPWINDOW=yes
|
||||
elif test "$wxUSE_CONTROLS" = "no"; then
|
||||
DEFAULT_wxUSE_ACCEL=no
|
||||
DEFAULT_wxUSE_ANIMATIONCTRL=no
|
||||
DEFAULT_wxUSE_BMPBUTTON=no
|
||||
DEFAULT_wxUSE_BUTTON=no
|
||||
DEFAULT_wxUSE_CALCTRL=no
|
||||
@@ -1153,6 +1157,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
|
||||
fi
|
||||
|
||||
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
|
||||
WX_ARG_ENABLE(animatectrl, [ --enable-animatectrl use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL)
|
||||
WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON)
|
||||
WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
|
||||
WX_ARG_ENABLE(bmpcombobox, [ --enable-bmpcombobox use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX)
|
||||
@@ -6462,6 +6467,12 @@ if test "$wxUSE_ACCEL" = "yes"; then
|
||||
USES_CONTROLS=1
|
||||
fi
|
||||
|
||||
if test "$wxUSE_ACCEL" = "yes"; then
|
||||
AC_DEFINE(wxUSE_ANIMATIONCTRL)
|
||||
USES_CONTROLS=1
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS animate"
|
||||
fi
|
||||
|
||||
if test "$wxUSE_BUTTON" = "yes"; then
|
||||
AC_DEFINE(wxUSE_BUTTON)
|
||||
USES_CONTROLS=1
|
||||
|
@@ -68,6 +68,7 @@ All (GUI):
|
||||
|
||||
- Support for right-to-left text layout (started by Diaa Sami during Google Summer of
|
||||
Code, with a lot of help from Tim Kosse and others).
|
||||
- wxAnimationCtrl added (Francesco Montorsi)
|
||||
- Added wxAboutBox() function for displaying the standard about dialog
|
||||
- Added wxID_PAGE_SETUP standard id.
|
||||
- Added wxSize::IncBy() and DecBy() methods.
|
||||
|
159
docs/latex/wx/animatctrl.tex
Normal file
159
docs/latex/wx/animatctrl.tex
Normal file
@@ -0,0 +1,159 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Name: animatctrl.tex
|
||||
%% Purpose: wxAnimationCtrl documentation
|
||||
%% Author: Francesco Montorsi
|
||||
%% Created: 24-9-2006
|
||||
%% RCS-ID: $Id$
|
||||
%% Copyright: (c) 2006 Francesco Montorsi
|
||||
%% License: wxWindows license
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{\class{wxAnimationCtrl}}\label{wxanimationctrl}
|
||||
|
||||
This is a static control which displays an animation.
|
||||
wxAnimationCtrl API is simple as possible and won't give you full control on the
|
||||
animation; if you need it then use \helpref{wxMediaCtrl}{wxmediactrl}.
|
||||
|
||||
This control is useful to display a (small) animation while doing a long task
|
||||
(e.g. a "throbber").
|
||||
|
||||
It is only available if \texttt{wxUSE\_ANIMATIONCTRL} is set to $1$ (the default).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/animate.h>
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxAC\_DEFAULT\_STYLE}}{The default style: wxNO_BORDER.}
|
||||
\twocolitem{\windowstyle{wxAC\_NO_AUTORESIZE}}{By default, the control will adjust
|
||||
its size to exactly fit to the size of the animation when \helpref{SetAnimation}{wxanimationctrlsetanimation}
|
||||
is called. If this style flag is given, the control will not change its size}
|
||||
\end{twocollist}
|
||||
|
||||
%\wxheading{Event handling}
|
||||
%
|
||||
%\twocolwidtha{7cm}%
|
||||
%\begin{twocollist}\itemsep=0pt
|
||||
%\twocolitem{{\bf EVT\_ANIMATION\_END(id, func)}}{}
|
||||
%\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAnimation}{wxanimation}
|
||||
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAnimationCtrl::wxAnimationCtrl}\label{wxanimationctrl}
|
||||
|
||||
\func{}{wxAnimationCtrl}{\param{wxWindow *}{parent},\rtfsp
|
||||
\param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxAnimation\& }{anim},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
|
||||
\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = wxAC\_DEFAULT\_STYLE},\rtfsp
|
||||
\param{const wxString\& }{name = ``animationctrl"}}
|
||||
|
||||
Initializes the object and calls \helpref{Create}{wxanimationctrlcreate} with
|
||||
all the parameters.
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::Create}\label{wxanimationctrlcreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow *}{parent},\rtfsp
|
||||
\param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxAnimation\& }{anim},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
|
||||
\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = wxAC\_DEFAULT\_STYLE},\rtfsp
|
||||
\param{const wxString\& }{name = ``animationctrl"}}
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window, must not be non-\texttt{NULL}.}
|
||||
|
||||
\docparam{id}{The identifier for the control.}
|
||||
|
||||
\docparam{anim}{The initial animation shown in the control.}
|
||||
|
||||
\docparam{pos}{Initial position.}
|
||||
|
||||
\docparam{size}{Initial size.}
|
||||
|
||||
\docparam{style}{The window style, see {\tt wxAC\_*} flags.}
|
||||
|
||||
\docparam{name}{Control name.}
|
||||
|
||||
After control creation you must explicitely call \helpref{Play}{wxanimationctrlplay}
|
||||
to start to play the animation. Until that function won't be called, the first frame
|
||||
of the animation is displayed.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
\true if the control was successfully created or \false if creation failed.
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::GetAnimation}\label{wxanimationctrlgetanimation}
|
||||
|
||||
\constfunc{wxAnimation}{GetAnimation}{\void}
|
||||
|
||||
Returns the animation associated with this control.
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::IsPlaying}\label{wxanimationctrlisplaying}
|
||||
|
||||
\constfunc{bool}{IsPlaying}{\void}
|
||||
|
||||
Returns \true if the animation is being played.
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::LoadFile}\label{wxanimationctrlloadfile}
|
||||
|
||||
\func{bool}{LoadFile}{\param{const wxString \&}{ file}, \param{wxAnimationType }{ animType = wxANIMATION\_TYPE\_ANY}}
|
||||
|
||||
Loads the animation from the given file and calls \helpref{SetAnimation}{wxanimationctrlsetanimation}.
|
||||
See \helpref{wxAnimation::LoadFile}{wxanimationloadfile} for more info.
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::Play}\label{wxanimationctrlplay}
|
||||
|
||||
\func{bool}{Play}{\void}
|
||||
|
||||
Starts playing the animation.
|
||||
The animation is always played in loop mode (unless the last frame of the animation
|
||||
has an infinite delay time) and always start from the first frame
|
||||
(even if you \helpref{atopped}{wxanimationctrlstop} it while some other frame was
|
||||
displayed).
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::SetAnimation}\label{wxanimationctrlsetanimation}
|
||||
|
||||
\func{void}{SetAnimation}{\param{const wxAnimation \&}{ anim}}
|
||||
|
||||
Sets the animation to play in this control.
|
||||
If the previous animation is being played, it's \helpref{Stopped}{wxanimationctrlstop}.
|
||||
|
||||
Until \helpref{Play}{wxanimationctrlplay} isn't called, the first frame
|
||||
of the animation is displayed.
|
||||
|
||||
If {\tt wxNullAnimation} is given as animation, the control will be cleared to display
|
||||
the background colour (see \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}).
|
||||
|
||||
|
||||
\membersection{wxAnimationCtrl::Stop}\label{wxanimationctrlstop}
|
||||
|
||||
\func{void}{Stop}{\void}
|
||||
|
||||
Stops playing the animation.
|
||||
The control will show the last frame rendered of the current animation until
|
||||
\helpref{Play}{wxanimationctrlplay} is called.
|
153
docs/latex/wx/animation.tex
Normal file
153
docs/latex/wx/animation.tex
Normal file
@@ -0,0 +1,153 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%% Name: animation.tex
|
||||
%% Purpose: wxAnimation documentation
|
||||
%% Author: Francesco Montorsi
|
||||
%% Created: 24-9-2006
|
||||
%% RCS-ID: $Id$
|
||||
%% Copyright: (c) 2006 Francesco Montorsi
|
||||
%% License: wxWindows license
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\section{\class{wxAnimation}}\label{wxanimation}
|
||||
|
||||
This class encapsulates the concept of a platform-dependent animation.
|
||||
An animation is a sequence of frames of the same size.
|
||||
Sound is not supported by wxAnimation.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/animate.h>
|
||||
|
||||
\wxheading{Predefined objects}
|
||||
|
||||
Objects:
|
||||
|
||||
{\bf wxNullAnimation}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAnimationCtrl}{wxanimationctrl}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
||||
\membersection{wxAnimation::wxAnimation}\label{wxanimationctor}
|
||||
|
||||
\func{}{wxAnimation}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAnimation}{\param{const wxAnimation\& }{anim}}
|
||||
|
||||
Copy constructor.
|
||||
wxAnimation objects are reference counted so that this operation is very fast.
|
||||
|
||||
\func{}{wxAnimation}{\param{const wxString\& }{name}, \param{wxAnimationType}{ type = wxANIMATION\_TYPE\_ANY}}
|
||||
|
||||
Loads an animation from a file.
|
||||
|
||||
\docparam{name}{The name of the file to load.}
|
||||
|
||||
\docparam{type}{See \helpref{LoadFile}{wxanimationloadfile} for more info.}
|
||||
|
||||
|
||||
\membersection{wxAnimation::\destruct{wxAnimation}}\label{wxanimationdtor}
|
||||
|
||||
\func{}{\destruct{wxAnimation}}{\void}
|
||||
|
||||
Destroys the wxAnimation object and possibly the underlying animation data.
|
||||
Because reference counting is used, the animation may not actually be
|
||||
destroyed at this point - only when the reference count is zero will the
|
||||
data be deleted.
|
||||
|
||||
|
||||
\membersection{wxAnimation::GetDelay}\label{wxanimationgetdelay}
|
||||
|
||||
\constfunc{int}{GetDelay}{\param{size_t }{i}}
|
||||
|
||||
Returns the delay for the i-th frame in milliseconds.
|
||||
If {\tt -1} is returned the frame is to be displayed forever.
|
||||
|
||||
|
||||
\membersection{wxAnimation::GetFrameCount}\label{wxanimationgetframecount}
|
||||
|
||||
\constfunc{size_t}{GetFrameCount}{\void}
|
||||
|
||||
Returns the number of frames for this animation.
|
||||
|
||||
|
||||
\membersection{wxAnimation::GetFrame}\label{wxanimationgetframe}
|
||||
|
||||
\constfunc{wxImage}{GetFrame}{\param{size_t }{i}}
|
||||
|
||||
Returns the i-th frame as a \helpref{wxImage}{wximage}.
|
||||
|
||||
|
||||
\membersection{wxAnimation::GetSize}\label{wxanimationgetsize}
|
||||
|
||||
\constfunc{wxSize}{GetSize}{\void}
|
||||
|
||||
Returns the size of the animation.
|
||||
|
||||
|
||||
\membersection{wxAnimation::IsOk}\label{wxanimationisok}
|
||||
|
||||
\constfunc{bool}{IsOk}{\void}
|
||||
|
||||
Returns \true if animation data is present.
|
||||
|
||||
|
||||
\membersection{wxAnimation::Load}\label{wxanimationload}
|
||||
|
||||
\func{bool}{Load}{\param{wxInputStream&}{ stream}, \param{wxAnimationType}{ type = wxANIMATION\_TYPE\_ANY}}
|
||||
|
||||
Loads an animation from the given stream.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{The stream to use to load the animation.}
|
||||
|
||||
\docparam{type}{One of the following values:
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_GIF}}{Load an animated GIF file.}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_ANI}}{Load an ANI file.}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_ANY}}{Try to autodetect the filetype.}
|
||||
\end{twocollist}
|
||||
}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
\true if the operation succeeded, \false otherwise.
|
||||
|
||||
|
||||
\membersection{wxAnimation::LoadFile}\label{wxanimationloadfile}
|
||||
|
||||
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{wxAnimationType}{ type = wxANIMATION\_TYPE\_ANY}}
|
||||
|
||||
Loads an animation from a file.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{A filename.}
|
||||
|
||||
\docparam{type}{One of the following values:
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_GIF}}{Load an animated GIF file.}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_ANI}}{Load an ANI file.}
|
||||
\twocolitem{\indexit{wxANIM\_TYPE\_ANY}}{Try to autodetect the filetype.}
|
||||
\end{twocollist}
|
||||
}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
\true if the operation succeeded, \false otherwise.
|
||||
|
@@ -85,6 +85,7 @@ that are not static can have \helpref{validators}{wxvalidator} associated with t
|
||||
|
||||
\twocolwidtha{6cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxAnimationCtrl}{wxanimationctrl}}{A control to display an animation}
|
||||
\twocolitem{\helpref{wxControl}{wxcontrol}}{The base class for controls}
|
||||
\twocolitem{\helpref{wxButton}{wxbutton}}{Push button control, displaying text}
|
||||
\twocolitem{\helpref{wxBitmapButton}{wxbitmapbutton}}{Push button control, displaying a bitmap}
|
||||
|
@@ -11,6 +11,8 @@
|
||||
\input activevt.tex
|
||||
\input activexcontainer.tex
|
||||
\input activexevt.tex
|
||||
\input animation.tex
|
||||
\input animatctrl.tex
|
||||
\input app.tex
|
||||
\input apptraits.tex
|
||||
\input archive.tex
|
||||
|
77
include/wx/anidecod.h
Normal file
77
include/wx/anidecod.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/anidecod.h
|
||||
// Purpose: wxANIDecoder, ANI reader for wxImage and wxAnimation
|
||||
// Author: Francesco Montorsi
|
||||
// CVS-ID: $Id$
|
||||
// Copyright: (c) 2006 Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_ANIDECOD_H
|
||||
#define _WX_ANIDECOD_H
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_STREAMS && wxUSE_GIF
|
||||
|
||||
#include "wx/stream.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/animdecod.h"
|
||||
|
||||
|
||||
class /*WXDLLEXPORT*/ wxANIFrameInfo;
|
||||
|
||||
WX_DECLARE_OBJARRAY(wxANIFrameInfo, wxANIFrameInfoArray);
|
||||
WX_DECLARE_OBJARRAY(wxImage, wxImageArray);
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// wxANIDecoder class
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxANIDecoder : public wxAnimationDecoder
|
||||
{
|
||||
private:
|
||||
|
||||
// frames stored as wxImage(s): ANI files are meant to be used mostly for animated
|
||||
// cursors and thus they do not use any optimization to encode differences between
|
||||
// two frames: they are just a list of images to display sequentially.
|
||||
wxImageArray m_images;
|
||||
|
||||
// the info about each image stored in m_images.
|
||||
// NB: m_info.GetCount() may differ from m_images.GetCount()!
|
||||
wxANIFrameInfoArray m_info;
|
||||
|
||||
// this is the wxCURHandler used to load the ICON chunk of the ANI files
|
||||
static wxCURHandler sm_handler;
|
||||
|
||||
public:
|
||||
virtual wxSize GetFrameSize(size_t frame) const;
|
||||
virtual wxPoint GetFramePosition(size_t frame) const;
|
||||
virtual wxAnimationDisposal GetDisposalMethod(size_t frame) const;
|
||||
virtual long GetDelay(size_t frame) const;
|
||||
|
||||
public:
|
||||
// constructor, destructor, etc.
|
||||
wxANIDecoder();
|
||||
~wxANIDecoder();
|
||||
|
||||
public: // implementation of wxAnimationDecoder's pure virtuals
|
||||
|
||||
virtual bool CanRead( wxInputStream& stream ) const;
|
||||
virtual bool Load( wxInputStream& stream );
|
||||
|
||||
bool ConvertToImage(size_t frame, wxImage *image) const;
|
||||
|
||||
wxAnimationDecoder *Clone() const
|
||||
{ return new wxANIDecoder; }
|
||||
wxAnimationType GetType() const
|
||||
{ return wxANIMATION_TYPE_ANI; }
|
||||
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(wxANIDecoder)
|
||||
};
|
||||
|
||||
|
||||
#endif // wxUSE_STREAM && wxUSE_GIF
|
||||
#endif // _WX_ANIDECOD_H
|
||||
|
108
include/wx/animate.h
Normal file
108
include/wx/animate.h
Normal file
@@ -0,0 +1,108 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/animate.h
|
||||
// Purpose: wxAnimation and wxAnimationCtrl
|
||||
// Author: Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Modified by: Francesco Montorsi
|
||||
// Created: 13/8/99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_ANIMATEH__
|
||||
#define _WX_ANIMATEH__
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_ANIMATIONCTRL
|
||||
|
||||
#include <wx/defs.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/list.h>
|
||||
#include <wx/timer.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/control.h>
|
||||
#include <wx/animdecod.h>
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimation;
|
||||
|
||||
extern WXDLLEXPORT_DATA(wxAnimation) wxNullAnimation;
|
||||
extern WXDLLEXPORT_DATA(const wxChar) wxAnimationCtrlNameStr[];
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationBase
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxAnimationBase : public wxGDIObject
|
||||
{
|
||||
public:
|
||||
wxAnimationBase() {}
|
||||
|
||||
virtual bool IsOk() const = 0;
|
||||
|
||||
// can be -1
|
||||
virtual int GetDelay(size_t i) const = 0;
|
||||
|
||||
virtual size_t GetFrameCount() const = 0;
|
||||
virtual wxImage GetFrame(size_t i) const = 0;
|
||||
virtual wxSize GetSize() const = 0;
|
||||
|
||||
virtual bool LoadFile(const wxString &name, wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
|
||||
virtual bool Load(wxInputStream &stream, wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
|
||||
|
||||
protected:
|
||||
DECLARE_ABSTRACT_CLASS(wxAnimationBase)
|
||||
};
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrlBase
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// do not autoresize to the animation's size when SetAnimation() is called
|
||||
#define wxAC_NO_AUTORESIZE (0x0010)
|
||||
|
||||
// default style does not include wxAC_NO_AUTORESIZE, that is, the control
|
||||
// auto-resizes by default to fit the new animation when SetAnimation() is called
|
||||
#define wxAC_DEFAULT_STYLE (wxNO_BORDER)
|
||||
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimationCtrlBase : public wxControl
|
||||
{
|
||||
public:
|
||||
wxAnimationCtrlBase() {}
|
||||
|
||||
public: // public API
|
||||
|
||||
virtual bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY) = 0;
|
||||
|
||||
virtual void SetAnimation(const wxAnimation &anim) = 0;
|
||||
virtual wxAnimation GetAnimation() const = 0;
|
||||
|
||||
virtual bool Play() = 0;
|
||||
virtual void Stop() = 0;
|
||||
|
||||
virtual bool IsPlaying() const = 0;
|
||||
|
||||
private:
|
||||
DECLARE_ABSTRACT_CLASS(wxAnimationCtrlBase)
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// include the platform-specific version of the wxAnimationCtrl class
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if defined(__WXGTK__)
|
||||
#include "wx/gtk/animate.h"
|
||||
#else
|
||||
#include "wx/generic/animate.h"
|
||||
#endif
|
||||
|
||||
#endif // wxUSE_ANIMATIONCTRL
|
||||
|
||||
#endif // _WX_ANIMATEH__
|
139
include/wx/animdecod.h
Normal file
139
include/wx/animdecod.h
Normal file
@@ -0,0 +1,139 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/animdecod.h
|
||||
// Purpose: wxAnimationDecoder
|
||||
// Author: Francesco Montorsi
|
||||
// CVS-ID: $Id$
|
||||
// Copyright: (c) 2006 Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_ANIMDECOD_H
|
||||
#define _WX_ANIMDECOD_H
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_STREAMS && wxUSE_GIF
|
||||
|
||||
#include "wx/stream.h"
|
||||
#include "wx/image.h"
|
||||
|
||||
/*
|
||||
|
||||
Differences between a wxAnimationDecoder and a wxImageHandler:
|
||||
|
||||
1) wxImageHandlers always load an input stream directly into a given wxImage
|
||||
object converting from the format-specific data representation to the
|
||||
wxImage native format (RGB24).
|
||||
wxAnimationDecoders always load an input stream using some optimized format
|
||||
to store it which is format-depedent. This allows to store a (possibly big)
|
||||
animation using a format which is a good compromise between required memory
|
||||
and time required to blit in on the screen.
|
||||
|
||||
2) wxAnimationDecoders contain the animation data in some internal var.
|
||||
That's why they derive from wxObjectRefData: they are data which can be shared.
|
||||
|
||||
3) wxAnimationDecoders can be used by a wxImageHandler to retrieve a frame
|
||||
in wxImage format; the viceversa cannot be done.
|
||||
|
||||
4) wxAnimationDecoders are decoders only, thus do not support save features.
|
||||
|
||||
5) wxAnimationDecoders are directly used by wxAnimation (generic implementation)
|
||||
as wxObjectRefData while they need to be 'wrapped' by a wxImageHandler for
|
||||
wxImage uses.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Constants
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// NB: the values of these enum items are not casual but coincide with the
|
||||
// GIF disposal codes. Do not change them !!
|
||||
enum wxAnimationDisposal
|
||||
{
|
||||
// No disposal specified. The decoder is not required to take any action.
|
||||
wxANIM_UNSPECIFIED = -1,
|
||||
|
||||
// Do not dispose. The graphic is to be left in place.
|
||||
wxANIM_DONOTREMOVE = 0,
|
||||
|
||||
// Restore to background color. The area used by the graphic must be
|
||||
// restored to the background color.
|
||||
wxANIM_TOBACKGROUND = 1,
|
||||
|
||||
// Restore to previous. The decoder is required to restore the area
|
||||
// overwritten by the graphic with what was there prior to rendering the graphic.
|
||||
wxANIM_TOPREVIOUS = 2
|
||||
};
|
||||
|
||||
enum wxAnimationType
|
||||
{
|
||||
wxANIMATION_TYPE_INVALID,
|
||||
wxANIMATION_TYPE_GIF,
|
||||
wxANIMATION_TYPE_ANI,
|
||||
|
||||
wxANIMATION_TYPE_ANY
|
||||
};
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// wxAnimationDecoder class
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxAnimationDecoder : public wxObjectRefData
|
||||
{
|
||||
protected:
|
||||
wxSize m_szAnimation;
|
||||
size_t m_nFrames;
|
||||
|
||||
// this is the colour to use for the wxANIM_TOBACKGROUND disposal.
|
||||
// if not specified by the animation, it's set to wxNullColour
|
||||
wxColour m_background;
|
||||
|
||||
public: // frame specific data getters
|
||||
|
||||
// not all frames may be of the same size; e.g. GIF allows to
|
||||
// specify that between two frames only a smaller portion of the
|
||||
// entire animation has changed.
|
||||
virtual wxSize GetFrameSize(size_t frame) const = 0;
|
||||
|
||||
// the position of this frame in case it's not as big as m_szAnimation
|
||||
// or wxPoint(0,0) otherwise.
|
||||
virtual wxPoint GetFramePosition(size_t frame) const = 0;
|
||||
|
||||
// what should be done after displaying this frame.
|
||||
virtual wxAnimationDisposal GetDisposalMethod(size_t frame) const = 0;
|
||||
|
||||
// the number of milliseconds this frame should be displayed.
|
||||
// if returns -1 then the frame must be displayed forever.
|
||||
virtual long GetDelay(size_t frame) const = 0;
|
||||
|
||||
// get global data
|
||||
wxSize GetAnimationSize() const { return m_szAnimation; }
|
||||
wxColour GetBackgroundColour() const { return m_background; }
|
||||
size_t GetFrameCount() const { return m_nFrames; }
|
||||
|
||||
public:
|
||||
wxAnimationDecoder()
|
||||
{
|
||||
m_background = wxNullColour;
|
||||
m_nFrames = 0;
|
||||
}
|
||||
~wxAnimationDecoder() {}
|
||||
|
||||
|
||||
virtual bool Load( wxInputStream& stream ) = 0;
|
||||
virtual bool CanRead( wxInputStream& stream ) const = 0;
|
||||
|
||||
virtual wxAnimationDecoder *Clone() const = 0;
|
||||
virtual wxAnimationType GetType() const = 0;
|
||||
|
||||
// convert given frame to wxImage
|
||||
virtual bool ConvertToImage(size_t frame, wxImage *image) const = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif // wxUSE_STREAM && wxUSE_GIF
|
||||
#endif // _WX_ANIMDECOD_H
|
||||
|
@@ -328,6 +328,14 @@
|
||||
# endif
|
||||
#endif /* !defined(wxUSE_ACCEL) */
|
||||
|
||||
#ifndef wxUSE_ANIMATIONCTRL
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
# error "wxUSE_ANIMATIONCTRL must be defined."
|
||||
# else
|
||||
# define wxUSE_ANIMATIONCTRL 0
|
||||
# endif
|
||||
#endif /* !defined(wxUSE_ANIMATIONCTRL) */
|
||||
|
||||
#ifndef wxUSE_BITMAPCOMBOBOX
|
||||
# ifdef wxABORT_ON_CONFIG_ERROR
|
||||
# error "wxUSE_BITMAPCOMBOBOX must be defined."
|
||||
|
189
include/wx/generic/animate.h
Normal file
189
include/wx/generic/animate.h
Normal file
@@ -0,0 +1,189 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/generic/animate.h
|
||||
// Purpose: wxAnimation and wxAnimationCtrl
|
||||
// Author: Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Modified by: Francesco Montorsi
|
||||
// Created: 13/8/99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GENERIC_ANIMATEH__
|
||||
#define _WX_GENERIC_ANIMATEH__
|
||||
|
||||
#include <wx/defs.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/gdicmn.h>
|
||||
#include <wx/list.h>
|
||||
#include <wx/timer.h>
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/colour.h>
|
||||
#include <wx/control.h>
|
||||
#include <wx/animdecod.h>
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimationBase;
|
||||
class WXDLLIMPEXP_ADV wxAnimationPlayer;
|
||||
class WXDLLEXPORT wxImage;
|
||||
class WXDLLEXPORT wxGIFDecoder;
|
||||
class WXDLLEXPORT wxAnimation;
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimation
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
WX_DECLARE_LIST(wxAnimationDecoder, wxAnimationDecoderList);
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimation : public wxAnimationBase
|
||||
{
|
||||
public:
|
||||
wxAnimation(const wxAnimation &tocopy)
|
||||
{ Ref(tocopy); }
|
||||
wxAnimation() {}
|
||||
~wxAnimation() { UnRef(); }
|
||||
|
||||
wxAnimation &operator= (const wxAnimation &tocopy)
|
||||
{
|
||||
Ref(tocopy);
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool operator == (const wxAnimation& anim) const
|
||||
{ return m_refData == anim.m_refData; }
|
||||
bool operator != (const wxAnimation& anim) const
|
||||
{ return m_refData != anim.m_refData; }
|
||||
|
||||
bool IsOk() const
|
||||
{ return m_refData != NULL; }
|
||||
|
||||
size_t GetFrameCount() const;
|
||||
int GetDelay(size_t i) const;
|
||||
wxImage GetFrame(size_t i) const;
|
||||
wxSize GetSize() const;
|
||||
|
||||
bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
bool Load(wxInputStream &stream, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
|
||||
public: // extended interface used by the generic implementation of wxAnimationCtrl
|
||||
|
||||
wxPoint GetFramePosition(size_t frame) const;
|
||||
wxAnimationDisposal GetDisposalMethod(size_t frame) const;
|
||||
wxColour GetBackgroundColour() const;
|
||||
|
||||
protected:
|
||||
static wxAnimationDecoderList sm_handlers;
|
||||
|
||||
public:
|
||||
static inline wxAnimationDecoderList& GetHandlers() { return sm_handlers; }
|
||||
static void AddHandler(wxAnimationDecoder *handler);
|
||||
static void InsertHandler(wxAnimationDecoder *handler);
|
||||
static const wxAnimationDecoder *FindHandler( wxAnimationType animType );
|
||||
|
||||
static void CleanUpHandlers();
|
||||
static void InitStandardHandlers();
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS(wxAnimation)
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimationCtrl: public wxAnimationCtrlBase
|
||||
{
|
||||
public:
|
||||
wxAnimationCtrl() {}
|
||||
wxAnimationCtrl(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxAnimation& anim = wxNullAnimation,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxAC_DEFAULT_STYLE,
|
||||
const wxString& name = wxAnimationCtrlNameStr)
|
||||
{
|
||||
Create(parent, id, anim, pos, size, style, name);
|
||||
}
|
||||
|
||||
bool Create(wxWindow *parent, wxWindowID id,
|
||||
const wxAnimation& anim = wxNullAnimation,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxAC_DEFAULT_STYLE,
|
||||
const wxString& name = wxAnimationCtrlNameStr);
|
||||
|
||||
~wxAnimationCtrl();
|
||||
|
||||
public:
|
||||
virtual bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
|
||||
virtual void Stop();
|
||||
virtual bool Play()
|
||||
{ return Play(true /* looped */); }
|
||||
virtual bool IsPlaying() const
|
||||
{ return m_isPlaying; }
|
||||
|
||||
void SetAnimation(const wxAnimation &animation);
|
||||
wxAnimation GetAnimation() const
|
||||
{ return m_animation; }
|
||||
|
||||
public: // event handlers
|
||||
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnTimer(wxTimerEvent& event);
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
public: // extended API specific to this implementation of wxAnimateCtrl
|
||||
|
||||
// Specify whether the animation's background colour is to be shown (the default),
|
||||
// or whether the window background should show through
|
||||
void SetUseWindowBackgroundColour(bool useWinBackground = true)
|
||||
{ m_useWinBackgroundColour = useWinBackground; }
|
||||
bool IsUsingWindowBackgroundColour() const
|
||||
{ return m_useWinBackgroundColour; }
|
||||
|
||||
// This overload of Play() lets you specify if the animation must loop or not
|
||||
bool Play(bool looped);
|
||||
|
||||
// Draw the current frame of the animation into given DC.
|
||||
// This is fast as current frame is always cached.
|
||||
void DrawCurrentFrame(wxDC& dc);
|
||||
|
||||
// Returns a wxBitmap with the current frame drawn in it
|
||||
wxBitmap& GetBackingStore()
|
||||
{ return m_backingStore; }
|
||||
|
||||
protected: // internal utilities
|
||||
|
||||
// resize this control to fit m_animation
|
||||
void FitToAnimation();
|
||||
|
||||
// Draw the background; use this when e.g. previous frame had wxANIM_TOBACKGROUND disposal.
|
||||
void DisposeToBackground(wxDC& dc);
|
||||
|
||||
void IncrementalUpdateBackingStore();
|
||||
void RebuildBackingStoreUpToFrame(size_t);
|
||||
void DrawFrame(wxDC &dc, size_t);
|
||||
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
|
||||
protected:
|
||||
size_t m_currentFrame; // Current frame
|
||||
bool m_looped; // Looped, or not
|
||||
wxTimer m_timer; // The timer
|
||||
wxAnimation m_animation; // The animation
|
||||
|
||||
bool m_isPlaying; // Is the animation playing?
|
||||
bool m_useWinBackgroundColour; // Use animation bg colour or window bg colour?
|
||||
|
||||
wxBitmap m_backingStore; // The frames are drawn here and then blitted
|
||||
// on the screen
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxAnimationCtrl)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif // _WX_GENERIC_ANIMATEH__
|
@@ -17,6 +17,10 @@
|
||||
|
||||
#include "wx/stream.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/animdecod.h"
|
||||
|
||||
// internal utility used to store a frame in 8bit-per-pixel format
|
||||
class /*WXDLLEXPORT*/ GIFImage;
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
@@ -29,7 +33,7 @@
|
||||
// stream; this means that if it was not reading directly from file,
|
||||
// the stream will not be correctly positioned. the
|
||||
//
|
||||
enum
|
||||
enum wxGIFErrorCode
|
||||
{
|
||||
wxGIF_OK = 0, /* everything was OK */
|
||||
wxGIF_INVFORMAT, /* error in gif header */
|
||||
@@ -37,18 +41,6 @@ enum
|
||||
wxGIF_TRUNCATED /* file appears to be truncated */
|
||||
};
|
||||
|
||||
// Disposal method
|
||||
// Experimental; subject to change.
|
||||
//
|
||||
enum
|
||||
{
|
||||
wxGIF_D_UNSPECIFIED = -1, /* not specified */
|
||||
wxGIF_D_DONOTDISPOSE = 0, /* do not dispose */
|
||||
wxGIF_D_TOBACKGROUND = 1, /* restore to background colour */
|
||||
wxGIF_D_TOPREVIOUS = 2 /* restore to previous image */
|
||||
};
|
||||
|
||||
|
||||
#define MAX_BLOCK_SIZE 256 /* max. block size */
|
||||
|
||||
|
||||
@@ -56,45 +48,12 @@ enum
|
||||
// wxGIFDecoder class
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
// internal class for storing GIF image data
|
||||
class GIFImage
|
||||
{
|
||||
public:
|
||||
// def ctor
|
||||
GIFImage();
|
||||
|
||||
unsigned int w; /* width */
|
||||
unsigned int h; /* height */
|
||||
unsigned int left; /* x coord (in logical screen) */
|
||||
unsigned int top; /* y coord (in logical screen) */
|
||||
int transparent; /* transparent color (-1 = none) */
|
||||
int disposal; /* disposal method (-1 = unspecified) */
|
||||
long delay; /* delay in ms (-1 = unused) */
|
||||
unsigned char *p; /* bitmap */
|
||||
unsigned char *pal; /* palette */
|
||||
unsigned int ncolours; /* number of colours */
|
||||
GIFImage *next; /* next image */
|
||||
GIFImage *prev; /* prev image */
|
||||
|
||||
DECLARE_NO_COPY_CLASS(GIFImage)
|
||||
};
|
||||
|
||||
|
||||
class WXDLLEXPORT wxGIFDecoder
|
||||
class WXDLLEXPORT wxGIFDecoder : public wxAnimationDecoder
|
||||
{
|
||||
private:
|
||||
// logical screen
|
||||
unsigned int m_screenw; /* logical screen width */
|
||||
unsigned int m_screenh; /* logical screen height */
|
||||
int m_background; /* background color (-1 = none) */
|
||||
|
||||
// image data
|
||||
bool m_anim; /* animated GIF */
|
||||
int m_nimages; /* number of images */
|
||||
int m_image; /* current image */
|
||||
GIFImage *m_pimage; /* pointer to current image */
|
||||
GIFImage *m_pfirst; /* pointer to first image */
|
||||
GIFImage *m_plast; /* pointer to last image */
|
||||
// a wxArray provides a constant access time rather than a linear time
|
||||
// like for linked lists.
|
||||
wxArrayPtrVoid m_frames;
|
||||
|
||||
// decoder state vars
|
||||
int m_restbits; /* remaining valid bits */
|
||||
@@ -103,52 +62,51 @@ private:
|
||||
unsigned char m_buffer[MAX_BLOCK_SIZE]; /* buffer for reading */
|
||||
unsigned char *m_bufp; /* pointer to next byte in buffer */
|
||||
|
||||
// input stream
|
||||
wxInputStream *m_f; /* input stream */
|
||||
|
||||
private:
|
||||
int getcode(int bits, int abfin);
|
||||
int dgif(GIFImage *img, int interl, int bits);
|
||||
int getcode(wxInputStream& stream, int bits, int abfin);
|
||||
wxGIFErrorCode dgif(wxInputStream& stream, GIFImage *img, int interl, int bits);
|
||||
|
||||
public:
|
||||
// get data of current frame
|
||||
int GetFrameIndex() const;
|
||||
unsigned char* GetData() const;
|
||||
unsigned char* GetPalette() const;
|
||||
unsigned int GetNcolours() const;
|
||||
unsigned int GetWidth() const;
|
||||
unsigned int GetHeight() const;
|
||||
unsigned int GetLeft() const;
|
||||
unsigned int GetTop() const;
|
||||
int GetDisposalMethod() const;
|
||||
int GetTransparentColour() const;
|
||||
long GetDelay() const;
|
||||
unsigned char* GetData(size_t frame) const;
|
||||
unsigned char* GetPalette(size_t frame) const;
|
||||
unsigned int GetNcolours(size_t frame) const;
|
||||
int GetTransparentColour(size_t frame) const;
|
||||
|
||||
// get global data
|
||||
unsigned int GetLogicalScreenWidth() const;
|
||||
unsigned int GetLogicalScreenHeight() const;
|
||||
int GetBackgroundColour() const;
|
||||
int GetNumberOfFrames() const;
|
||||
bool IsAnimation() const;
|
||||
virtual wxSize GetFrameSize(size_t frame) const;
|
||||
virtual wxPoint GetFramePosition(size_t frame) const;
|
||||
virtual wxAnimationDisposal GetDisposalMethod(size_t frame) const;
|
||||
virtual long GetDelay(size_t frame) const;
|
||||
|
||||
// move through the animation
|
||||
bool GoFirstFrame();
|
||||
bool GoLastFrame();
|
||||
bool GoNextFrame(bool cyclic = false);
|
||||
bool GoPrevFrame(bool cyclic = false);
|
||||
bool GoFrame(int which);
|
||||
// GIFs can contain both static images and animations
|
||||
bool IsAnimation() const
|
||||
{ return m_nFrames > 1; }
|
||||
|
||||
public:
|
||||
// constructor, destructor, etc.
|
||||
wxGIFDecoder(wxInputStream *s, bool anim = false);
|
||||
wxGIFDecoder();
|
||||
~wxGIFDecoder();
|
||||
bool CanRead();
|
||||
int ReadGIF();
|
||||
|
||||
// load function which returns more info than just Load():
|
||||
wxGIFErrorCode LoadGIF( wxInputStream& stream );
|
||||
|
||||
// free all internal frames
|
||||
void Destroy();
|
||||
|
||||
// convert current frame to wxImage
|
||||
bool ConvertToImage(wxImage *image) const;
|
||||
public: // implementation of wxAnimationDecoder's pure virtuals
|
||||
|
||||
virtual bool CanRead( wxInputStream& stream ) const;
|
||||
virtual bool Load( wxInputStream& stream )
|
||||
{ return LoadGIF(stream) == wxGIF_OK; }
|
||||
|
||||
bool ConvertToImage(size_t frame, wxImage *image) const;
|
||||
|
||||
wxAnimationDecoder *Clone() const
|
||||
{ return new wxGIFDecoder; }
|
||||
wxAnimationType GetType() const
|
||||
{ return wxANIMATION_TYPE_GIF; }
|
||||
|
||||
private:
|
||||
DECLARE_NO_COPY_CLASS(wxGIFDecoder)
|
||||
};
|
||||
|
||||
|
181
include/wx/gtk/animate.h
Normal file
181
include/wx/gtk/animate.h
Normal file
@@ -0,0 +1,181 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/animate.h
|
||||
// Purpose: Animation classes
|
||||
// Author: Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Modified by: Francesco Montorsi
|
||||
// Created: 13/8/99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTKANIMATEH__
|
||||
#define _WX_GTKANIMATEH__
|
||||
|
||||
#include "wx/defs.h"
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimation
|
||||
// Unlike the generic wxAnimation object (see generic\animate.cpp), we won't
|
||||
// use directly wxAnimationHandlers as gdk-pixbuf already provides the
|
||||
// concept of handler and will automatically use the available handlers.
|
||||
// Like generic wxAnimation object, this implementation of wxAnimation is
|
||||
// refcounted so that assignment is very fast
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxAnimation : public wxAnimationBase
|
||||
{
|
||||
public:
|
||||
wxAnimation(const wxAnimation &tocopy)
|
||||
{ m_pixbuf=tocopy.m_pixbuf; if (m_pixbuf) g_object_ref(m_pixbuf); }
|
||||
wxAnimation(GdkPixbufAnimation *p = NULL)
|
||||
{ m_pixbuf=p; }
|
||||
~wxAnimation()
|
||||
{ UnRef(); }
|
||||
|
||||
wxAnimation &operator= (const wxAnimation &tocopy)
|
||||
{
|
||||
m_pixbuf=tocopy.m_pixbuf;
|
||||
if (m_pixbuf) g_object_ref(m_pixbuf);
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool operator == (const wxAnimation& anim) const
|
||||
{ return m_pixbuf == anim.m_pixbuf; }
|
||||
bool operator != (const wxAnimation& anim) const
|
||||
{ return m_pixbuf != anim.m_pixbuf; }
|
||||
|
||||
virtual bool IsOk() const
|
||||
{ return m_pixbuf != NULL; }
|
||||
|
||||
|
||||
// unfortunately GdkPixbufAnimation does not expose these info:
|
||||
|
||||
virtual size_t GetFrameCount() const
|
||||
{ return 0; }
|
||||
virtual wxImage GetFrame(size_t i) const
|
||||
{ return wxNullImage; }
|
||||
|
||||
// we can retrieve the delay for a frame only after building
|
||||
// a GdkPixbufAnimationIter...
|
||||
virtual int GetDelay(size_t i) const
|
||||
{ return 0; }
|
||||
|
||||
virtual wxSize GetSize() const
|
||||
{ return wxSize(gdk_pixbuf_animation_get_width(m_pixbuf),
|
||||
gdk_pixbuf_animation_get_height(m_pixbuf)); }
|
||||
|
||||
virtual bool LoadFile(const wxString &name, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
virtual bool Load(wxInputStream &stream, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
|
||||
void UnRef()
|
||||
{
|
||||
if (m_pixbuf)
|
||||
g_object_unref(m_pixbuf);
|
||||
m_pixbuf = NULL;
|
||||
}
|
||||
|
||||
public: // used by GTK callbacks
|
||||
|
||||
GdkPixbufAnimation *GetPixbuf() const
|
||||
{ return m_pixbuf; }
|
||||
void SetPixbuf(GdkPixbufAnimation *p)
|
||||
{ m_pixbuf=p; if (m_pixbuf) g_object_ref(m_pixbuf); }
|
||||
|
||||
protected:
|
||||
GdkPixbufAnimation *m_pixbuf;
|
||||
|
||||
// used temporary by Load()
|
||||
//bool m_bLoadComplete;
|
||||
|
||||
protected:
|
||||
DECLARE_DYNAMIC_CLASS(wxAnimation)
|
||||
};
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Resize to animation size if this is set
|
||||
#define wxAN_FIT_ANIMATION 0x0010
|
||||
|
||||
class WXDLLIMPEXP_ADV wxAnimationCtrl: public wxAnimationCtrlBase
|
||||
{
|
||||
public:
|
||||
wxAnimationCtrl() {}
|
||||
wxAnimationCtrl(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxAnimation& anim = wxNullAnimation,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxAC_DEFAULT_STYLE,
|
||||
const wxString& name = wxAnimationCtrlNameStr)
|
||||
{
|
||||
Create(parent, id, anim, pos, size, style, name);
|
||||
}
|
||||
|
||||
bool Create(wxWindow *parent, wxWindowID id,
|
||||
const wxAnimation& anim = wxNullAnimation,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxAC_DEFAULT_STYLE,
|
||||
const wxString& name = wxAnimationCtrlNameStr);
|
||||
|
||||
~wxAnimationCtrl();
|
||||
|
||||
public: // event handler
|
||||
|
||||
void OnTimer(wxTimerEvent &);
|
||||
|
||||
public: // public API
|
||||
|
||||
virtual bool LoadFile(const wxString& filename, wxAnimationType type = wxANIMATION_TYPE_ANY);
|
||||
|
||||
virtual void SetAnimation(const wxAnimation &anim);
|
||||
virtual wxAnimation GetAnimation() const
|
||||
{ return wxAnimation(m_anim); }
|
||||
|
||||
virtual bool Play();
|
||||
virtual void Stop();
|
||||
|
||||
virtual bool IsPlaying() const;
|
||||
|
||||
bool SetBackgroundColour( const wxColour &colour );
|
||||
|
||||
protected:
|
||||
|
||||
virtual wxSize DoGetBestSize() const;
|
||||
void FitToAnimation();
|
||||
void ClearToBackgroundColour();
|
||||
|
||||
void ResetAnim()
|
||||
{
|
||||
if (m_anim)
|
||||
g_object_unref(m_anim);
|
||||
m_anim = NULL;
|
||||
}
|
||||
|
||||
void ResetIter()
|
||||
{
|
||||
if (m_iter)
|
||||
g_object_unref(m_iter);
|
||||
m_iter = NULL;
|
||||
}
|
||||
|
||||
protected: // internal vars
|
||||
|
||||
GdkPixbufAnimation *m_anim;
|
||||
GdkPixbufAnimationIter *m_iter;
|
||||
|
||||
wxTimer m_timer;
|
||||
bool m_bPlaying;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxAnimationCtrl)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif // _WX_GTKANIMATEH__
|
@@ -1,6 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: imagbmp.h
|
||||
// Purpose: wxImage BMP, ICO and CUR handlers
|
||||
// Purpose: wxImage BMP, ICO, CUR and ANI handlers
|
||||
// Author: Robert Roebling, Chris Elliott
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Robert Roebling, Chris Elliott
|
||||
|
@@ -601,6 +601,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -600,6 +600,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -600,6 +600,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -600,6 +600,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -600,6 +600,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -600,6 +600,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
@@ -596,6 +596,7 @@
|
||||
// Default is 1
|
||||
//
|
||||
// Recommended setting: 1
|
||||
#define wxUSE_ANIMATIONCTRL 1 // wxAnimationCtrl
|
||||
#define wxUSE_BUTTON 1 // wxButton
|
||||
#define wxUSE_BMPBUTTON 1 // wxBitmapButton
|
||||
#define wxUSE_CALENDARCTRL 1 // wxCalendarCtrl
|
||||
|
209
samples/animate/Makefile.in
Normal file
209
samples/animate/Makefile.in
Normal file
@@ -0,0 +1,209 @@
|
||||
# =========================================================================
|
||||
# This makefile was generated by
|
||||
# Bakefile 0.2.0 (http://bakefile.sourceforge.net)
|
||||
# Do not modify, all changes will be overwritten!
|
||||
# =========================================================================
|
||||
|
||||
|
||||
@MAKE_SET@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
INSTALL = @INSTALL@
|
||||
EXEEXT = @EXEEXT@
|
||||
WINDRES = @WINDRES@
|
||||
REZ = @REZ@
|
||||
SETFILE = @SETFILE@
|
||||
NM = @NM@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
LIBS = @LIBS@
|
||||
LDFLAGS_GUI = @LDFLAGS_GUI@
|
||||
CXX = @CXX@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
WX_LIB_FLAVOUR = @WX_LIB_FLAVOUR@
|
||||
TOOLKIT = @TOOLKIT@
|
||||
TOOLKIT_LOWERCASE = @TOOLKIT_LOWERCASE@
|
||||
TOOLKIT_VERSION = @TOOLKIT_VERSION@
|
||||
TOOLCHAIN_FULLNAME = @TOOLCHAIN_FULLNAME@
|
||||
EXTRALIBS = @EXTRALIBS@
|
||||
EXTRALIBS_GUI = @EXTRALIBS_GUI@
|
||||
EXTRALIBS_SDL = @EXTRALIBS_SDL@
|
||||
HOST_SUFFIX = @HOST_SUFFIX@
|
||||
SAMPLES_RPATH_FLAG = @SAMPLES_RPATH_FLAG@
|
||||
SAMPLES_RPATH_POSTLINK = @SAMPLES_RPATH_POSTLINK@
|
||||
|
||||
### Variables: ###
|
||||
|
||||
DESTDIR =
|
||||
WX_RELEASE = 2.7
|
||||
WX_VERSION = $(WX_RELEASE).0
|
||||
LIBDIRNAME = $(top_builddir)lib
|
||||
ANITEST_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
|
||||
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
|
||||
-I$(srcdir) $(__DLLFLAG_p) -I$(srcdir)/../../samples $(CPPFLAGS) $(CXXFLAGS)
|
||||
ANITEST_OBJECTS = \
|
||||
$(__anitest_os2_lib_res) \
|
||||
anitest_anitest.o \
|
||||
$(__anitest___win32rc)
|
||||
|
||||
### Conditionally set variables: ###
|
||||
|
||||
@COND_DEPS_TRACKING_0@CXXC = $(CXX)
|
||||
@COND_DEPS_TRACKING_1@CXXC = $(top_builddir)./bk-deps $(CXX)
|
||||
@COND_USE_PLUGINS_0@PLUGIN_ADV_EXTRALIBS = $(EXTRALIBS_SDL)
|
||||
@COND_USE_GUI_0@PORTNAME = base
|
||||
@COND_USE_GUI_1@PORTNAME = $(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)
|
||||
@COND_TOOLKIT_MAC@WXBASEPORT = _carbon
|
||||
@COND_BUILD_DEBUG_DEBUG_FLAG_DEFAULT@WXDEBUGFLAG = d
|
||||
@COND_DEBUG_FLAG_1@WXDEBUGFLAG = d
|
||||
@COND_UNICODE_1@WXUNICODEFLAG = u
|
||||
@COND_WXUNIV_1@WXUNIVNAME = univ
|
||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_BASE = $(EXTRALIBS)
|
||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_BASE = $(EXTRALIBS) $(EXTRALIBS_GUI)
|
||||
@COND_MONOLITHIC_0@EXTRALIBS_FOR_GUI = $(EXTRALIBS_GUI)
|
||||
@COND_MONOLITHIC_1@EXTRALIBS_FOR_GUI =
|
||||
@COND_PLATFORM_MAC_1@__anitest___mac_setfilecmd = \
|
||||
@COND_PLATFORM_MAC_1@ $(SETFILE) -a C anitest$(EXEEXT)
|
||||
@COND_PLATFORM_MAC_1@__anitest___mac_rezcmd = $(__MACOSX_RESOURCES_p_1)
|
||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p = -D__WXUNIVERSAL__
|
||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_1 = -d __WXUNIVERSAL__
|
||||
@COND_WXUNIV_1@__WXUNIV_DEFINE_p_2 = --define __WXUNIVERSAL__
|
||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p = -DwxNO_EXCEPTIONS
|
||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_1 = -d wxNO_EXCEPTIONS
|
||||
@COND_USE_EXCEPTIONS_0@__EXCEPTIONS_DEFINE_p_2 = --define wxNO_EXCEPTIONS
|
||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p = -DwxNO_RTTI
|
||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p_1 = -d wxNO_RTTI
|
||||
@COND_USE_RTTI_0@__RTTI_DEFINE_p_2 = --define wxNO_RTTI
|
||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p = -DwxNO_THREADS
|
||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p_1 = -d wxNO_THREADS
|
||||
@COND_USE_THREADS_0@__THREAD_DEFINE_p_2 = --define wxNO_THREADS
|
||||
@COND_SHARED_1@__DLLFLAG_p = -DWXUSINGDLL
|
||||
@COND_SHARED_1@__DLLFLAG_p_1 = -d WXUSINGDLL
|
||||
@COND_SHARED_1@__DLLFLAG_p_2 = --define WXUSINGDLL
|
||||
COND_PLATFORM_OS2_1___anitest___os2_emxbindcmd = $(NM) anitest$(EXEEXT) | if \
|
||||
grep -q pmwin.763 ; then emxbind -ep anitest$(EXEEXT) ; fi
|
||||
@COND_PLATFORM_OS2_1@__anitest___os2_emxbindcmd = $(COND_PLATFORM_OS2_1___anitest___os2_emxbindcmd)
|
||||
@COND_TOOLKIT_MSW@__RCDEFDIR_p = -i \
|
||||
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
|
||||
@COND_TOOLKIT_MSW@__RCDEFDIR_p_1 = --include-dir \
|
||||
@COND_TOOLKIT_MSW@ $(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
|
||||
@COND_PLATFORM_OS2_1@__anitest_os2_lib_res = \
|
||||
@COND_PLATFORM_OS2_1@ $(top_srcdir)/include/wx/os2/wx.res
|
||||
@COND_PLATFORM_MACOSX_1@__anitest_bundle___depname = anitest_bundle
|
||||
@COND_TOOLKIT_COCOA@____anitest_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_COCOA@ anitest.app/Contents/PkgInfo
|
||||
@COND_TOOLKIT_MAC@____anitest_BUNDLE_TGT_REF_DEP = \
|
||||
@COND_TOOLKIT_MAC@ anitest.app/Contents/PkgInfo
|
||||
COND_MONOLITHIC_0___WXLIB_ADV_p = \
|
||||
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_ADV_p = $(COND_MONOLITHIC_0___WXLIB_ADV_p)
|
||||
COND_MONOLITHIC_0___WXLIB_CORE_p = \
|
||||
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p)
|
||||
COND_MONOLITHIC_0___WXLIB_BASE_p = \
|
||||
-lwx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_0@__WXLIB_BASE_p = $(COND_MONOLITHIC_0___WXLIB_BASE_p)
|
||||
@COND_PLATFORM_WIN32_1@__anitest___win32rc = anitest_sample_rc.o
|
||||
COND_MONOLITHIC_1___WXLIB_MONO_p = \
|
||||
-lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_MONOLITHIC_1@__WXLIB_MONO_p = $(COND_MONOLITHIC_1___WXLIB_MONO_p)
|
||||
@COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN@__LIB_TIFF_p \
|
||||
@COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN@ = \
|
||||
@COND_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN@ -lwxtiff$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_GUI_1_WXUSE_LIBJPEG_BUILTIN@__LIB_JPEG_p \
|
||||
@COND_USE_GUI_1_WXUSE_LIBJPEG_BUILTIN@ = \
|
||||
@COND_USE_GUI_1_WXUSE_LIBJPEG_BUILTIN@ -lwxjpeg$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_USE_GUI_1_WXUSE_LIBPNG_BUILTIN@__LIB_PNG_p \
|
||||
@COND_USE_GUI_1_WXUSE_LIBPNG_BUILTIN@ = \
|
||||
@COND_USE_GUI_1_WXUSE_LIBPNG_BUILTIN@ -lwxpng$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_WXUSE_ZLIB_BUILTIN@__LIB_ZLIB_p = \
|
||||
@COND_WXUSE_ZLIB_BUILTIN@ -lwxzlib$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_WXUSE_ODBC_BUILTIN@__LIB_ODBC_p = \
|
||||
@COND_WXUSE_ODBC_BUILTIN@ -lwxodbc$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
COND_WXUSE_REGEX_BUILTIN___LIB_REGEX_p = \
|
||||
-lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
@COND_WXUSE_REGEX_BUILTIN@__LIB_REGEX_p = $(COND_WXUSE_REGEX_BUILTIN___LIB_REGEX_p)
|
||||
@COND_WXUSE_EXPAT_BUILTIN@__LIB_EXPAT_p = \
|
||||
@COND_WXUSE_EXPAT_BUILTIN@ -lwxexpat$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)
|
||||
COND_TOOLKIT_MAC___MACOSX_RESOURCES_p_1 = $(REZ) -d __DARWIN__ -t APPL -d \
|
||||
__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) \
|
||||
$(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) -i $(srcdir) $(__DLLFLAG_p_1) -i \
|
||||
$(srcdir)/../../samples $(__RCDEFDIR_p) -i $(top_srcdir)/include -o \
|
||||
anitest$(EXEEXT) Carbon.r sample.r
|
||||
@COND_TOOLKIT_MAC@__MACOSX_RESOURCES_p_1 = $(COND_TOOLKIT_MAC___MACOSX_RESOURCES_p_1)
|
||||
|
||||
### Targets: ###
|
||||
|
||||
all: anitest$(EXEEXT) $(__anitest_bundle___depname) catalog
|
||||
|
||||
install: all
|
||||
|
||||
uninstall:
|
||||
|
||||
install-strip: install
|
||||
|
||||
clean:
|
||||
rm -rf ./.deps ./.pch
|
||||
rm -f ./*.o
|
||||
rm -f anitest$(EXEEXT)
|
||||
rm -rf anitest.app
|
||||
|
||||
distclean: clean
|
||||
rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile
|
||||
|
||||
anitest$(EXEEXT): $(ANITEST_OBJECTS) $(__anitest___win32rc)
|
||||
$(CXX) -o $@ $(ANITEST_OBJECTS) $(LDFLAGS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LIBS) $(__WXLIB_ADV_p) $(PLUGIN_ADV_EXTRALIBS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_ODBC_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE)
|
||||
$(__anitest___mac_rezcmd)
|
||||
$(__anitest___mac_setfilecmd)
|
||||
$(__anitest___os2_emxbindcmd)
|
||||
$(SAMPLES_RPATH_POSTLINK)
|
||||
|
||||
anitest.app/Contents/PkgInfo: anitest$(EXEEXT) $(top_srcdir)/src/mac/carbon/Info.plist.in $(top_srcdir)/src/mac/carbon/wxmac.icns
|
||||
mkdir -p anitest.app/Contents
|
||||
mkdir -p anitest.app/Contents/MacOS
|
||||
mkdir -p anitest.app/Contents/Resources
|
||||
|
||||
|
||||
sed -e "s/IDENTIFIER/`echo $(srcdir) | sed -e 's,\.\./,,g' | sed -e 's,/,.,g'`/" \
|
||||
-e "s/EXECUTABLE/anitest/" \
|
||||
-e "s/VERSION/$(WX_VERSION)/" \
|
||||
$(top_srcdir)/src/mac/carbon/Info.plist.in >anitest.app/Contents/Info.plist
|
||||
|
||||
|
||||
echo -n "APPL????" >anitest.app/Contents/PkgInfo
|
||||
|
||||
|
||||
ln -f anitest$(EXEEXT) anitest.app/Contents/MacOS/anitest
|
||||
|
||||
|
||||
cp -f $(top_srcdir)/src/mac/carbon/wxmac.icns anitest.app/Contents/Resources/wxmac.icns
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@anitest_bundle: $(____anitest_BUNDLE_TGT_REF_DEP)
|
||||
|
||||
catalog:
|
||||
@mkdir -p .
|
||||
@for f in throbber.gif hourglass.ani; do \
|
||||
if test ! -f ./$$f -a ! -d ./$$f ; \
|
||||
then x=yep ; \
|
||||
else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \
|
||||
fi; \
|
||||
case "$$x" in ?*) \
|
||||
cp -pRf $(srcdir)/$$f . ;; \
|
||||
esac; \
|
||||
done
|
||||
|
||||
anitest_anitest.o: $(srcdir)/anitest.cpp
|
||||
$(CXXC) -c -o $@ $(ANITEST_CXXFLAGS) $(srcdir)/anitest.cpp
|
||||
|
||||
anitest_sample_rc.o: $(srcdir)/../sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_2) $(__EXCEPTIONS_DEFINE_p_2) $(__RTTI_DEFINE_p_2) $(__THREAD_DEFINE_p_2) --include-dir $(srcdir) $(__DLLFLAG_p_2) --include-dir $(srcdir)/../../samples $(__RCDEFDIR_p_1) --include-dir $(top_srcdir)/include
|
||||
|
||||
|
||||
# Include dependency info, if present:
|
||||
@IF_GNU_MAKE@-include .deps/*.d
|
||||
|
||||
.PHONY: all install uninstall clean distclean anitest_bundle catalog
|
20
samples/animate/anitest.bkl
Normal file
20
samples/animate/anitest.bkl
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" ?>
|
||||
<makefile>
|
||||
|
||||
<include file="../../../build/bakefiles/common_samples.bkl"/>
|
||||
|
||||
<exe id="anitest" template="wx_sample" template_append="wx_append">
|
||||
<sources>
|
||||
anitest.cpp
|
||||
</sources>
|
||||
<wx-lib>adv</wx-lib>
|
||||
<wx-lib>core</wx-lib>
|
||||
<wx-lib>base</wx-lib>
|
||||
<win32-res>../sample.rc</win32-res>
|
||||
</exe>
|
||||
|
||||
<wx-data id="catalog">
|
||||
<files>throbber.gif hourglass.ani</files>
|
||||
</wx-data>
|
||||
|
||||
</makefile>
|
266
samples/animate/anitest.cpp
Normal file
266
samples/animate/anitest.cpp
Normal file
@@ -0,0 +1,266 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: anitest.cpp
|
||||
// Purpose: Animation sample
|
||||
// Author: Julian Smart
|
||||
// Modified by: Francesco Montorsi
|
||||
// Created: 02/07/2001
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ===========================================================================
|
||||
// declarations
|
||||
// ===========================================================================
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// headers
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#ifndef __WXMSW__
|
||||
#include "mondrian.xpm"
|
||||
#endif
|
||||
|
||||
#include "anitest.h"
|
||||
|
||||
IMPLEMENT_APP(MyApp)
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// global variables
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// event tables
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
enum
|
||||
{
|
||||
wxID_PLAY
|
||||
};
|
||||
|
||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(wxID_PLAY, MyFrame::OnPlay)
|
||||
EVT_MENU(wxID_STOP, MyFrame::OnStop)
|
||||
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
|
||||
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
|
||||
#if wxUSE_FILEDLG
|
||||
EVT_MENU(wxID_OPEN, MyFrame::OnOpen)
|
||||
#endif // wxUSE_FILEDLG
|
||||
|
||||
EVT_SIZE(MyFrame::OnSize)
|
||||
EVT_UPDATE_UI(wxID_ANY, MyFrame::OnUpdateUI)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// ===========================================================================
|
||||
// implementation
|
||||
// ===========================================================================
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// MyApp
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Initialise this in OnInit, not statically
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
// Create the main frame window
|
||||
|
||||
MyFrame* frame = new MyFrame((wxFrame *)NULL, -1, _T("Animation Demo"),
|
||||
wxPoint(-1, -1), wxSize(500, 400),
|
||||
wxDEFAULT_FRAME_STYLE);
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WXMSW__
|
||||
frame->SetIcon(wxIcon(_T("mdi_icn")));
|
||||
#else
|
||||
frame->SetIcon(wxIcon( mondrian_xpm ));
|
||||
#endif
|
||||
|
||||
// Make a menubar
|
||||
wxMenu *file_menu = new wxMenu;
|
||||
|
||||
#if wxUSE_FILEDLG
|
||||
file_menu->Append(wxID_OPEN, _T("&Open Animation...\tCtrl+O"), _T("Loads an animation"));
|
||||
#endif // wxUSE_FILEDLG
|
||||
file_menu->Append(wxID_EXIT);
|
||||
|
||||
wxMenu *play_menu = new wxMenu;
|
||||
play_menu->Append(wxID_PLAY, _T("Play\tCtrl+P"), _T("Play the animation"));
|
||||
play_menu->Append(wxID_STOP, _T("Stop\tCtrl+P"), _T("Stop the animation"));
|
||||
|
||||
wxMenu *help_menu = new wxMenu;
|
||||
help_menu->Append(wxID_ABOUT);
|
||||
|
||||
wxMenuBar *menu_bar = new wxMenuBar;
|
||||
|
||||
menu_bar->Append(file_menu, _T("&File"));
|
||||
menu_bar->Append(play_menu, _T("&Animation"));
|
||||
menu_bar->Append(help_menu, _T("&Help"));
|
||||
|
||||
// Associate the menu bar with the frame
|
||||
frame->SetMenuBar(menu_bar);
|
||||
|
||||
#if wxUSE_STATUSBAR
|
||||
frame->CreateStatusBar();
|
||||
#endif // wxUSE_STATUSBAR
|
||||
|
||||
frame->Show(true);
|
||||
|
||||
SetTopWindow(frame);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// MyFrame
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
#include "wx/wfstream.h"
|
||||
|
||||
// Define my frame constructor
|
||||
MyFrame::MyFrame(wxWindow *parent,
|
||||
const wxWindowID id,
|
||||
const wxString& title,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
const long style)
|
||||
: wxFrame(parent, id, title, pos, size,
|
||||
style | wxNO_FULL_REPAINT_ON_RESIZE)
|
||||
{
|
||||
//m_canvas = new MyCanvas(this, wxPoint(0, 0), wxDefaultSize);
|
||||
|
||||
//wxSizer *sz = new wxBoxSizer(wxVERTICAL);
|
||||
|
||||
m_animationCtrl = new wxAnimationCtrl(this, wxID_ANY, wxNullAnimation,
|
||||
wxPoint(0,0),wxSize(100,100));
|
||||
if (m_animationCtrl->LoadFile(wxT("throbber.gif")))
|
||||
m_animationCtrl->Play();
|
||||
|
||||
//sz->Add(m_animationCtrl, 1, wxGROW);
|
||||
|
||||
//SetSizer(sz);
|
||||
}
|
||||
|
||||
MyFrame::~MyFrame()
|
||||
{
|
||||
}
|
||||
|
||||
void MyFrame::OnPlay(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
if (!m_animationCtrl->Play())
|
||||
wxLogError(wxT("Invalid animation"));
|
||||
}
|
||||
|
||||
void MyFrame::OnStop(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
m_animationCtrl->Stop();
|
||||
}
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
|
||||
{
|
||||
/*
|
||||
|
||||
FIXME: on wxGTK at least using File->About command it shows
|
||||
the message dialog but does not focus it
|
||||
|
||||
*/
|
||||
|
||||
(void)wxMessageBox(_T("wxWidgets 2 Animation Demo\n")
|
||||
_T("Author: Julian Smart (c) 2001\n"),
|
||||
_T("About Animation Demo"));
|
||||
}
|
||||
|
||||
#if wxUSE_FILEDLG
|
||||
void MyFrame::OnOpen(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxFileDialog dialog(this, _T("Please choose an animation"),
|
||||
wxEmptyString, wxEmptyString, wxT("*.gif;*.ani"), wxFD_OPEN);
|
||||
if (dialog.ShowModal() == wxID_OK)
|
||||
{
|
||||
wxString filename(dialog.GetPath());
|
||||
|
||||
// enable one of the two chunk of codes to test different parts of wxAnimation/wxAnimationCtrl
|
||||
#if 0
|
||||
if (m_animationCtrl->LoadFile(filename))
|
||||
m_animationCtrl->Play();
|
||||
else
|
||||
wxMessageBox(_T("Sorry, this animation is not a valid format for wxAnimation."));
|
||||
#else
|
||||
#if 0
|
||||
wxAnimation temp;
|
||||
if (!temp.LoadFile(filename))
|
||||
{
|
||||
wxLogError(wxT("Sorry, this animation is not a valid format for wxAnimation."));
|
||||
return;
|
||||
}
|
||||
|
||||
m_animationCtrl->SetAnimation(temp);
|
||||
m_animationCtrl->Play();
|
||||
#else
|
||||
wxFileInputStream stream(filename);
|
||||
if (!stream.Ok())
|
||||
{
|
||||
wxLogError(wxT("Sorry, this animation is not a valid format for wxAnimation."));
|
||||
return;
|
||||
}
|
||||
|
||||
wxAnimation temp;
|
||||
if (!temp.Load(stream))
|
||||
{
|
||||
wxLogError(wxT("Sorry, this animation is not a valid format for wxAnimation."));
|
||||
return;
|
||||
}
|
||||
|
||||
m_animationCtrl->SetAnimation(temp);
|
||||
m_animationCtrl->Play();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif // wxUSE_FILEDLG
|
||||
|
||||
void MyFrame::OnUpdateUI(wxUpdateUIEvent& WXUNUSED(event) )
|
||||
{
|
||||
GetMenuBar()->FindItem(wxID_STOP)->Enable(m_animationCtrl->IsPlaying());
|
||||
GetMenuBar()->FindItem(wxID_PLAY)->Enable(!m_animationCtrl->IsPlaying());
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// MyCanvas
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
||||
//EVT_PAINT(MyCanvas::OnPaint)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Define a constructor for my canvas
|
||||
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size)
|
||||
: wxScrolledWindow(parent, -1, pos, size,
|
||||
wxSUNKEN_BORDER |
|
||||
wxNO_FULL_REPAINT_ON_RESIZE |
|
||||
wxVSCROLL | wxHSCROLL)
|
||||
{
|
||||
SetBackgroundColour(wxColour(_T("YELLOW")));
|
||||
}
|
||||
|
||||
void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event))
|
||||
{
|
||||
//wxPaintDC dc(this);
|
||||
|
||||
//dc.DrawRotatedText(wxT("Background"),
|
||||
}
|
61
samples/animate/anitest.h
Normal file
61
samples/animate/anitest.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: anitest.cpp
|
||||
// Purpose: anitest sample
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 02/07/2001
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "wx/animate.h"
|
||||
|
||||
// Define a new application
|
||||
class MyApp : public wxApp
|
||||
{
|
||||
public:
|
||||
bool OnInit();
|
||||
};
|
||||
|
||||
class MyCanvas : public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
// Define a new frame
|
||||
class MyFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
|
||||
MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
|
||||
const wxPoint& pos, const wxSize& size, const long style);
|
||||
~MyFrame();
|
||||
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
|
||||
void OnPlay(wxCommandEvent& event);
|
||||
void OnStop(wxCommandEvent& event);
|
||||
|
||||
void OnUpdateUI(wxUpdateUIEvent& event);
|
||||
|
||||
#if wxUSE_FILEDLG
|
||||
void OnOpen(wxCommandEvent& event);
|
||||
#endif // wxUSE_FILEDLG
|
||||
|
||||
MyCanvas* GetCanvas() const { return m_canvas; }
|
||||
wxAnimationCtrl* GetAnimationCtrl() const { return m_animationCtrl; }
|
||||
|
||||
protected:
|
||||
MyCanvas* m_canvas;
|
||||
wxAnimationCtrl* m_animationCtrl;
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
3
samples/animate/anitest.rc
Normal file
3
samples/animate/anitest.rc
Normal file
@@ -0,0 +1,3 @@
|
||||
mondrian ICON "mondrian.ico"
|
||||
#include "wx/msw/wx.rc"
|
||||
|
BIN
samples/animate/hourglass.ani
Normal file
BIN
samples/animate/hourglass.ani
Normal file
Binary file not shown.
BIN
samples/animate/mondrian.ico
Normal file
BIN
samples/animate/mondrian.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 766 B |
44
samples/animate/mondrian.xpm
Normal file
44
samples/animate/mondrian.xpm
Normal file
@@ -0,0 +1,44 @@
|
||||
/* XPM */
|
||||
static char *mondrian_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 6 1",
|
||||
" c black",
|
||||
". c blue",
|
||||
"X c #00BF00",
|
||||
"o c red",
|
||||
"O c yellow",
|
||||
"+ c gray100",
|
||||
/* pixels */
|
||||
" ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
" ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" ++++++ OOOOOOOOOOOO XXXXX ++++ ",
|
||||
" "
|
||||
};
|
BIN
samples/animate/throbber.gif
Normal file
BIN
samples/animate/throbber.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
@@ -10,6 +10,7 @@
|
||||
|
||||
<!-- all samples are enumerated here: -->
|
||||
<subproject id="access" template="sub"/>
|
||||
<subproject id="animate" template="sub"/>
|
||||
<subproject id="artprov" template="sub"/>
|
||||
<subproject id="calendar" template="sub"/>
|
||||
<subproject id="caret" template="sub"/>
|
||||
|
@@ -305,6 +305,7 @@
|
||||
|
||||
#define wxUSE_TIPWINDOW 0
|
||||
|
||||
#define wxUSE_ANIMATIONCTRL 0
|
||||
#define wxUSE_BUTTON 0
|
||||
#define wxUSE_BMPBUTTON 0
|
||||
#define wxUSE_CALENDARCTRL 0
|
||||
|
314
src/common/anidecod.cpp
Normal file
314
src/common/anidecod.cpp
Normal file
@@ -0,0 +1,314 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/common/anidecod.cpp
|
||||
// Purpose: wxANIDecoder, ANI reader for wxImage and wxAnimation
|
||||
// Author: Francesco Montorsi
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#if wxUSE_STREAMS && wxUSE_GIF
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/palette.h"
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "wx/anidecod.h"
|
||||
|
||||
// static
|
||||
wxCURHandler wxANIDecoder::sm_handler;
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxANIFrameInfo
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class wxANIFrameInfo
|
||||
{
|
||||
public:
|
||||
wxANIFrameInfo(size_t delay = 0, int idx = -1)
|
||||
{ m_delay=delay; m_imageIndex=idx; }
|
||||
|
||||
size_t m_delay;
|
||||
int m_imageIndex;
|
||||
};
|
||||
|
||||
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
|
||||
WX_DEFINE_OBJARRAY(wxImageArray);
|
||||
|
||||
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
|
||||
WX_DEFINE_OBJARRAY(wxANIFrameInfoArray);
|
||||
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxANIDecoder
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
wxANIDecoder::wxANIDecoder()
|
||||
{
|
||||
}
|
||||
|
||||
wxANIDecoder::~wxANIDecoder()
|
||||
{
|
||||
}
|
||||
|
||||
bool wxANIDecoder::ConvertToImage(size_t frame, wxImage *image) const
|
||||
{
|
||||
size_t idx = m_info[frame].m_imageIndex;
|
||||
*image = m_images[idx]; // copy
|
||||
return image->Ok();
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Data accessors
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
wxSize wxANIDecoder::GetFrameSize(size_t WXUNUSED(frame)) const
|
||||
{
|
||||
// all frames are of the same size...
|
||||
return m_szAnimation;
|
||||
}
|
||||
|
||||
wxPoint wxANIDecoder::GetFramePosition(size_t WXUNUSED(frame)) const
|
||||
{
|
||||
// all frames are of the same size...
|
||||
return wxPoint(0,0);
|
||||
}
|
||||
|
||||
wxAnimationDisposal wxANIDecoder::GetDisposalMethod(size_t WXUNUSED(frame)) const
|
||||
{
|
||||
// this disposal is implicit for all frames inside an ANI file
|
||||
return wxANIM_TOBACKGROUND;
|
||||
}
|
||||
|
||||
long wxANIDecoder::GetDelay(size_t frame) const
|
||||
{
|
||||
return m_info[frame].m_delay;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// ANI reading and decoding
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
bool wxANIDecoder::CanRead(wxInputStream& stream) const
|
||||
{
|
||||
wxInt32 FCC1, FCC2;
|
||||
wxUint32 datalen ;
|
||||
|
||||
wxInt32 riff32;
|
||||
memcpy( &riff32, "RIFF", 4 );
|
||||
wxInt32 list32;
|
||||
memcpy( &list32, "LIST", 4 );
|
||||
wxInt32 ico32;
|
||||
memcpy( &ico32, "icon", 4 );
|
||||
wxInt32 anih32;
|
||||
memcpy( &anih32, "anih", 4 );
|
||||
|
||||
stream.SeekI(0);
|
||||
if ( !stream.Read(&FCC1, 4) )
|
||||
return false;
|
||||
|
||||
if ( FCC1 != riff32 )
|
||||
return false;
|
||||
|
||||
// we have a riff file:
|
||||
while ( stream.IsOk() )
|
||||
{
|
||||
if ( FCC1 == anih32 )
|
||||
return true; // found the ANIH chunk - this should be an ANI file
|
||||
|
||||
// we always have a data size:
|
||||
stream.Read(&datalen, 4);
|
||||
datalen = wxINT32_SWAP_ON_BE(datalen) ;
|
||||
|
||||
// data should be padded to make even number of bytes
|
||||
if (datalen % 2 == 1) datalen ++ ;
|
||||
|
||||
// now either data or a FCC:
|
||||
if ( (FCC1 == riff32) || (FCC1 == list32) )
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
stream.SeekI(stream.TellI() + datalen);
|
||||
}
|
||||
|
||||
// try to read next data chunk:
|
||||
if ( !stream.Read(&FCC1, 4) )
|
||||
{
|
||||
// reading failed -- either EOF or IO error, bail out anyhow
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// the "anih" RIFF chunk
|
||||
struct wxANIHeader
|
||||
{
|
||||
wxInt32 cbSizeOf; // Num bytes in AniHeader (36 bytes)
|
||||
wxInt32 cFrames; // Number of unique Icons in this cursor
|
||||
wxInt32 cSteps; // Number of Blits before the animation cycles
|
||||
wxInt32 cx; // width of the frames
|
||||
wxInt32 cy; // height of the frames
|
||||
wxInt32 cBitCount; // bit depth
|
||||
wxInt32 cPlanes; // 1
|
||||
wxInt32 JifRate; // Default Jiffies (1/60th of a second) if rate chunk not present.
|
||||
wxInt32 flags; // Animation Flag (see AF_ constants)
|
||||
};
|
||||
|
||||
bool wxANIDecoder::Load( wxInputStream& stream )
|
||||
{
|
||||
wxInt32 FCC1, FCC2;
|
||||
wxUint32 datalen;
|
||||
size_t globaldelay=0;
|
||||
|
||||
wxInt32 riff32;
|
||||
memcpy( &riff32, "RIFF", 4 );
|
||||
wxInt32 list32;
|
||||
memcpy( &list32, "LIST", 4 );
|
||||
wxInt32 ico32;
|
||||
memcpy( &ico32, "icon", 4 );
|
||||
wxInt32 anih32;
|
||||
memcpy( &anih32, "anih", 4 );
|
||||
wxInt32 rate32;
|
||||
memcpy( &rate32, "rate", 4 );
|
||||
wxInt32 seq32;
|
||||
memcpy( &seq32, "seq ", 4 );
|
||||
|
||||
stream.SeekI(0);
|
||||
stream.Read(&FCC1, 4);
|
||||
if ( FCC1 != riff32 )
|
||||
return false;
|
||||
|
||||
m_nFrames = 0;
|
||||
m_szAnimation = wxDefaultSize;
|
||||
|
||||
m_images.Clear();
|
||||
m_info.Clear();
|
||||
|
||||
// we have a riff file:
|
||||
while ( stream.IsOk() )
|
||||
{
|
||||
// we always have a data size:
|
||||
stream.Read(&datalen, 4);
|
||||
datalen = wxINT32_SWAP_ON_BE(datalen);
|
||||
|
||||
//data should be padded to make even number of bytes
|
||||
if (datalen % 2 == 1) datalen++;
|
||||
|
||||
// now either data or a FCC:
|
||||
if ( (FCC1 == riff32) || (FCC1 == list32) )
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
}
|
||||
else if ( FCC1 == anih32 )
|
||||
{
|
||||
if ( datalen != sizeof(wxANIHeader) )
|
||||
return false;
|
||||
|
||||
if (m_nFrames > 0)
|
||||
return false; // already parsed an ani header?
|
||||
|
||||
struct wxANIHeader header;
|
||||
stream.Read(&header, sizeof(wxANIHeader));
|
||||
|
||||
// we should have a global frame size
|
||||
m_szAnimation = wxSize(header.cx, header.cy);
|
||||
|
||||
// save interesting info from the header
|
||||
m_nFrames = header.cSteps; // NB: not cFrames!!
|
||||
if (m_nFrames==0)
|
||||
return false;
|
||||
|
||||
globaldelay = wxINT32_SWAP_ON_BE(header.JifRate) * 1000 / 60;
|
||||
|
||||
m_images.Alloc(header.cFrames);
|
||||
m_info.Add(wxANIFrameInfo(), m_nFrames);
|
||||
}
|
||||
else if ( FCC1 == rate32 )
|
||||
{
|
||||
// did we already process the anih32 chunk?
|
||||
if (m_nFrames == 0)
|
||||
return false; // rate chunks should always be placed after anih chunk
|
||||
|
||||
wxASSERT(m_info.GetCount() == m_nFrames);
|
||||
for (size_t i=0; i<m_nFrames; i++)
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
m_info[i].m_delay = wxINT32_SWAP_ON_BE(FCC2) * 1000 / 60;
|
||||
}
|
||||
}
|
||||
else if ( FCC1 == seq32 )
|
||||
{
|
||||
// did we already process the anih32 chunk?
|
||||
if (m_nFrames == 0)
|
||||
return false; // seq chunks should always be placed after anih chunk
|
||||
|
||||
wxASSERT(m_info.GetCount() == m_nFrames);
|
||||
for (size_t i=0; i<m_nFrames; i++)
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
m_info[i].m_imageIndex = wxINT32_SWAP_ON_BE(FCC2);
|
||||
}
|
||||
}
|
||||
else if ( FCC1 == ico32 )
|
||||
{
|
||||
// use DoLoadFile() and not LoadFile()!
|
||||
wxImage image;
|
||||
if (!sm_handler.DoLoadFile(&image, stream, false /* verbose */, -1))
|
||||
return false;
|
||||
|
||||
m_images.Add(image);
|
||||
}
|
||||
else
|
||||
stream.SeekI(stream.TellI() + datalen);
|
||||
|
||||
// try to read next data chunk:
|
||||
stream.Read(&FCC1, 4);
|
||||
}
|
||||
|
||||
if (m_nFrames==0)
|
||||
return false;
|
||||
|
||||
if (m_nFrames==m_images.GetCount())
|
||||
{
|
||||
// if no SEQ chunk is available, display the frames in the order
|
||||
// they were loaded
|
||||
for (size_t i=0; i<m_nFrames; i++)
|
||||
if (m_info[i].m_imageIndex == -1)
|
||||
m_info[i].m_imageIndex = i;
|
||||
}
|
||||
|
||||
// if some frame has an invalid delay, use the global delay given in the
|
||||
// ANI header
|
||||
for (size_t i=0; i<m_nFrames; i++)
|
||||
if (m_info[i].m_delay == 0)
|
||||
m_info[i].m_delay = globaldelay;
|
||||
|
||||
// if the header did not contain a valid frame size, try to grab
|
||||
// it from the size of the first frame (all frames are of the same size)
|
||||
if (m_szAnimation.GetWidth() == 0 ||
|
||||
m_szAnimation.GetHeight() == 0)
|
||||
m_szAnimation = wxSize(m_images[0].GetWidth(), m_images[0].GetHeight());
|
||||
|
||||
return m_szAnimation!=wxDefaultSize;
|
||||
}
|
||||
|
||||
#endif // wxUSE_STREAMS && wxUSE_GIF
|
35
src/common/animatecmn.cpp
Normal file
35
src/common/animatecmn.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/common/animatecmn.cpp
|
||||
// Purpose: wxAnimation and wxAnimationCtrl
|
||||
// Author: Francesco Montorsi
|
||||
// Modified By:
|
||||
// Created: 24/09/2006
|
||||
// Id: $Id$
|
||||
// Copyright: (c) Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#if wxUSE_ANIMATIONCTRL
|
||||
|
||||
#include "wx/animate.h"
|
||||
|
||||
const wxChar wxAnimationCtrlNameStr[] = wxT("animationctrl");
|
||||
|
||||
// global object
|
||||
wxAnimation wxNullAnimation;
|
||||
|
||||
//wxIMPLEMENT_HANDLER_LIST_MANAGER(wxAnimation,
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxAnimationBase, wxObject)
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxAnimationCtrlBase, wxControl)
|
||||
|
||||
|
||||
|
||||
#endif // wxUSE_ANIMATIONCTRL
|
@@ -26,6 +26,34 @@
|
||||
#include "wx/gifdecod.h"
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// GIFImage
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// internal class for storing GIF image data
|
||||
class GIFImage
|
||||
{
|
||||
public:
|
||||
// def ctor
|
||||
GIFImage();
|
||||
|
||||
unsigned int w; /* width */
|
||||
unsigned int h; /* height */
|
||||
unsigned int left; /* x coord (in logical screen) */
|
||||
unsigned int top; /* y coord (in logical screen) */
|
||||
int transparent; /* transparent color index (-1 = none) */
|
||||
wxAnimationDisposal disposal; /* disposal method */
|
||||
long delay; /* delay in ms (-1 = unused) */
|
||||
unsigned char *p; /* bitmap */
|
||||
unsigned char *pal; /* palette */
|
||||
unsigned int ncolours; /* number of colours */
|
||||
|
||||
DECLARE_NO_COPY_CLASS(GIFImage)
|
||||
};
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// GIFImage constructor
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -36,33 +64,19 @@ GIFImage::GIFImage()
|
||||
left = 0;
|
||||
top = 0;
|
||||
transparent = 0;
|
||||
disposal = 0;
|
||||
disposal = wxANIM_DONOTREMOVE;
|
||||
delay = -1;
|
||||
p = (unsigned char *) NULL;
|
||||
pal = (unsigned char *) NULL;
|
||||
ncolours = 0;
|
||||
next = (GIFImage *) NULL;
|
||||
prev = (GIFImage *) NULL;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxGIFDecoder constructor and destructor
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
wxGIFDecoder::wxGIFDecoder(wxInputStream *s, bool anim)
|
||||
wxGIFDecoder::wxGIFDecoder()
|
||||
{
|
||||
m_f = s;
|
||||
m_anim = anim;
|
||||
|
||||
m_background = -1;
|
||||
m_screenw = 0;
|
||||
m_screenh = 0;
|
||||
|
||||
m_pimage = NULL;
|
||||
m_pfirst = NULL;
|
||||
m_plast = NULL;
|
||||
m_image = 0;
|
||||
m_nimages = 0;
|
||||
}
|
||||
|
||||
wxGIFDecoder::~wxGIFDecoder()
|
||||
@@ -72,24 +86,17 @@ wxGIFDecoder::~wxGIFDecoder()
|
||||
|
||||
void wxGIFDecoder::Destroy()
|
||||
{
|
||||
GIFImage *pimg, *paux;
|
||||
|
||||
pimg = m_pfirst;
|
||||
|
||||
while (pimg != NULL)
|
||||
wxASSERT(m_nFrames==m_frames.GetCount());
|
||||
for (size_t i=0; i<m_nFrames; i++)
|
||||
{
|
||||
paux = pimg->next;
|
||||
free(pimg->p);
|
||||
free(pimg->pal);
|
||||
delete pimg;
|
||||
pimg = paux;
|
||||
GIFImage *f = (GIFImage*)m_frames[i];
|
||||
free(f->p);
|
||||
free(f->pal);
|
||||
delete f;
|
||||
}
|
||||
|
||||
m_pimage = NULL;
|
||||
m_pfirst = NULL;
|
||||
m_plast = NULL;
|
||||
m_image = 0;
|
||||
m_nimages = 0;
|
||||
m_frames.Clear();
|
||||
m_nFrames = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +106,7 @@ void wxGIFDecoder::Destroy()
|
||||
|
||||
// This function was designed by Vaclav Slavik
|
||||
|
||||
bool wxGIFDecoder::ConvertToImage(wxImage *image) const
|
||||
bool wxGIFDecoder::ConvertToImage(size_t frame, wxImage *image) const
|
||||
{
|
||||
unsigned char *src, *dst, *pal;
|
||||
unsigned long i;
|
||||
@@ -109,20 +116,21 @@ bool wxGIFDecoder::ConvertToImage(wxImage *image) const
|
||||
image->Destroy();
|
||||
|
||||
/* create the image */
|
||||
image->Create(GetWidth(), GetHeight());
|
||||
wxSize sz = GetFrameSize(frame);
|
||||
image->Create(sz.GetWidth(), sz.GetHeight());
|
||||
|
||||
if (!image->Ok())
|
||||
return false;
|
||||
|
||||
pal = GetPalette();
|
||||
src = GetData();
|
||||
pal = GetPalette(frame);
|
||||
src = GetData(frame);
|
||||
dst = image->GetData();
|
||||
transparent = GetTransparentColour();
|
||||
transparent = GetTransparentColour(frame);
|
||||
|
||||
/* set transparent colour mask */
|
||||
if (transparent != -1)
|
||||
{
|
||||
for (i = 0; i < GetNcolours(); i++)
|
||||
for (i = 0; i < GetNcolours(frame); i++)
|
||||
{
|
||||
if ((pal[3 * i + 0] == 255) &&
|
||||
(pal[3 * i + 1] == 0) &&
|
||||
@@ -153,11 +161,12 @@ bool wxGIFDecoder::ConvertToImage(wxImage *image) const
|
||||
b[i] = pal[3*i + 2];
|
||||
}
|
||||
|
||||
image->SetPalette(wxPalette(GetNcolours(), r, g, b));
|
||||
image->SetPalette(wxPalette(GetNcolours(frame), r, g, b));
|
||||
#endif // wxUSE_PALETTE
|
||||
|
||||
/* copy image data */
|
||||
for (i = 0; i < (GetWidth() * GetHeight()); i++, src++)
|
||||
unsigned long npixel = sz.GetWidth() * sz.GetHeight();
|
||||
for (i = 0; i < npixel; i++, src++)
|
||||
{
|
||||
*(dst++) = pal[3 * (*src) + 0];
|
||||
*(dst++) = pal[3 * (*src) + 1];
|
||||
@@ -172,118 +181,36 @@ bool wxGIFDecoder::ConvertToImage(wxImage *image) const
|
||||
// Data accessors
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define GetFrame(n) ((GIFImage*)m_frames[n])
|
||||
|
||||
|
||||
// Get data for current frame
|
||||
|
||||
int wxGIFDecoder::GetFrameIndex() const { return m_image; }
|
||||
unsigned char* wxGIFDecoder::GetData() const { return (m_pimage->p); }
|
||||
unsigned char* wxGIFDecoder::GetPalette() const { return (m_pimage->pal); }
|
||||
unsigned int wxGIFDecoder::GetNcolours() const { return (m_pimage->ncolours); }
|
||||
unsigned int wxGIFDecoder::GetWidth() const { return (m_pimage->w); }
|
||||
unsigned int wxGIFDecoder::GetHeight() const { return (m_pimage->h); }
|
||||
unsigned int wxGIFDecoder::GetTop() const { return (m_pimage->top); }
|
||||
unsigned int wxGIFDecoder::GetLeft() const { return (m_pimage->left); }
|
||||
int wxGIFDecoder::GetTransparentColour() const { return (m_pimage->transparent); }
|
||||
int wxGIFDecoder::GetDisposalMethod() const { return (m_pimage->disposal); }
|
||||
long wxGIFDecoder::GetDelay() const { return (m_pimage->delay); }
|
||||
|
||||
// Get global data
|
||||
|
||||
unsigned int wxGIFDecoder::GetLogicalScreenWidth() const { return m_screenw; }
|
||||
unsigned int wxGIFDecoder::GetLogicalScreenHeight() const { return m_screenh; }
|
||||
int wxGIFDecoder::GetBackgroundColour() const { return m_background; }
|
||||
int wxGIFDecoder::GetNumberOfFrames() const { return m_nimages; }
|
||||
bool wxGIFDecoder::IsAnimation() const { return (m_nimages > 1); }
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Functions to move through the animation
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
bool wxGIFDecoder::GoFirstFrame()
|
||||
wxSize wxGIFDecoder::GetFrameSize(size_t frame) const
|
||||
{
|
||||
if (!IsAnimation())
|
||||
return false;
|
||||
|
||||
m_image = 1;
|
||||
m_pimage = m_pfirst;
|
||||
return true;
|
||||
return wxSize(GetFrame(frame)->w, GetFrame(frame)->h);
|
||||
}
|
||||
|
||||
bool wxGIFDecoder::GoLastFrame()
|
||||
wxPoint wxGIFDecoder::GetFramePosition(size_t frame) const
|
||||
{
|
||||
if (!IsAnimation())
|
||||
return false;
|
||||
|
||||
m_image = m_nimages;
|
||||
m_pimage = m_plast;
|
||||
return true;
|
||||
return wxPoint(GetFrame(frame)->left, GetFrame(frame)->top);
|
||||
}
|
||||
|
||||
bool wxGIFDecoder::GoNextFrame(bool cyclic)
|
||||
wxAnimationDisposal wxGIFDecoder::GetDisposalMethod(size_t frame) const
|
||||
{
|
||||
if (!IsAnimation())
|
||||
return false;
|
||||
|
||||
if ((m_image < m_nimages) || (cyclic))
|
||||
{
|
||||
m_pimage = m_pimage->next;
|
||||
m_image++;
|
||||
|
||||
if (!m_pimage)
|
||||
{
|
||||
m_image = 1;
|
||||
m_pimage = m_pfirst;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
return GetFrame(frame)->disposal;
|
||||
}
|
||||
|
||||
bool wxGIFDecoder::GoPrevFrame(bool cyclic)
|
||||
long wxGIFDecoder::GetDelay(size_t frame) const
|
||||
{
|
||||
if (!IsAnimation())
|
||||
return false;
|
||||
|
||||
if ((m_image > 1) || (cyclic))
|
||||
{
|
||||
m_pimage = m_pimage->prev;
|
||||
m_image--;
|
||||
|
||||
if (!m_pimage)
|
||||
{
|
||||
m_image = m_nimages;
|
||||
m_pimage = m_plast;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
return GetFrame(frame)->delay;
|
||||
}
|
||||
|
||||
bool wxGIFDecoder::GoFrame(int which)
|
||||
{
|
||||
if (!IsAnimation())
|
||||
return false;
|
||||
unsigned char* wxGIFDecoder::GetData(size_t frame) const { return (GetFrame(frame)->p); }
|
||||
unsigned char* wxGIFDecoder::GetPalette(size_t frame) const { return (GetFrame(frame)->pal); }
|
||||
unsigned int wxGIFDecoder::GetNcolours(size_t frame) const { return (GetFrame(frame)->ncolours); }
|
||||
int wxGIFDecoder::GetTransparentColour(size_t frame) const { return (GetFrame(frame)->transparent); }
|
||||
|
||||
if ((which >= 1) && (which <= m_nimages))
|
||||
{
|
||||
m_image = 1;
|
||||
m_pimage = m_pfirst;
|
||||
|
||||
while (m_image < which)
|
||||
{
|
||||
m_image++;
|
||||
m_pimage = m_pimage->next;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -293,12 +220,11 @@ bool wxGIFDecoder::GoFrame(int which)
|
||||
// getcode:
|
||||
// Reads the next code from the file stream, with size 'bits'
|
||||
//
|
||||
int wxGIFDecoder::getcode(int bits, int ab_fin)
|
||||
int wxGIFDecoder::getcode(wxInputStream& stream, int bits, int ab_fin)
|
||||
{
|
||||
unsigned int mask; /* bit mask */
|
||||
unsigned int code; /* code (result) */
|
||||
|
||||
|
||||
/* get remaining bits from last byte read */
|
||||
mask = (1 << bits) - 1;
|
||||
code = (m_lastbyte >> (8 - m_restbits)) & mask;
|
||||
@@ -309,7 +235,7 @@ int wxGIFDecoder::getcode(int bits, int ab_fin)
|
||||
/* if no bytes left in this block, read the next block */
|
||||
if (m_restbyte == 0)
|
||||
{
|
||||
m_restbyte = (unsigned char)m_f->GetC();
|
||||
m_restbyte = (unsigned char)stream.GetC();
|
||||
|
||||
/* Some encoders are a bit broken: instead of issuing
|
||||
* an end-of-image symbol (ab_fin) they come up with
|
||||
@@ -323,8 +249,8 @@ int wxGIFDecoder::getcode(int bits, int ab_fin)
|
||||
}
|
||||
|
||||
/* prefetch data */
|
||||
m_f->Read((void *) m_buffer, m_restbyte);
|
||||
if (m_f->LastRead() != m_restbyte)
|
||||
stream.Read((void *) m_buffer, m_restbyte);
|
||||
if (stream.LastRead() != m_restbyte)
|
||||
{
|
||||
code = ab_fin;
|
||||
return code;
|
||||
@@ -354,7 +280,7 @@ int wxGIFDecoder::getcode(int bits, int ab_fin)
|
||||
// is 'bits'. Supports interlaced images (interl == 1).
|
||||
// Returns wxGIF_OK (== 0) on success, or an error code if something
|
||||
// fails (see header file for details)
|
||||
int wxGIFDecoder::dgif(GIFImage *img, int interl, int bits)
|
||||
wxGIFErrorCode wxGIFDecoder::dgif(wxInputStream& stream, GIFImage *img, int interl, int bits)
|
||||
{
|
||||
static const int allocSize = 4096 + 1;
|
||||
int *ab_prefix = new int[allocSize]; /* alphabet (prefixes) */
|
||||
@@ -410,7 +336,7 @@ int wxGIFDecoder::dgif(GIFImage *img, int interl, int bits)
|
||||
do
|
||||
{
|
||||
/* get next code */
|
||||
readcode = code = getcode(ab_bits, ab_fin);
|
||||
readcode = code = getcode(stream, ab_bits, ab_fin);
|
||||
|
||||
/* end of image? */
|
||||
if (code == ab_fin) break;
|
||||
@@ -629,20 +555,20 @@ as an End of Information itself)
|
||||
// CanRead:
|
||||
// Returns true if the file looks like a valid GIF, false otherwise.
|
||||
//
|
||||
bool wxGIFDecoder::CanRead()
|
||||
bool wxGIFDecoder::CanRead(wxInputStream &stream) const
|
||||
{
|
||||
unsigned char buf[3];
|
||||
|
||||
if ( !m_f->Read(buf, WXSIZEOF(buf)) )
|
||||
if ( !stream.Read(buf, WXSIZEOF(buf)) )
|
||||
return false;
|
||||
|
||||
m_f->SeekI(-(wxFileOffset)WXSIZEOF(buf), wxFromCurrent);
|
||||
stream.SeekI(-(wxFileOffset)WXSIZEOF(buf), wxFromCurrent);
|
||||
|
||||
return memcmp(buf, "GIF", WXSIZEOF(buf)) == 0;
|
||||
}
|
||||
|
||||
|
||||
// ReadGIF:
|
||||
// LoadGIF:
|
||||
// Reads and decodes one or more GIF images, depending on whether
|
||||
// animated GIF support is enabled. Can read GIFs with any bit
|
||||
// size (color depth), but the output images are always expanded
|
||||
@@ -651,48 +577,48 @@ bool wxGIFDecoder::CanRead()
|
||||
// (== 0) on success, or an error code if something fails (see
|
||||
// header file for details)
|
||||
//
|
||||
int wxGIFDecoder::ReadGIF()
|
||||
wxGIFErrorCode wxGIFDecoder::LoadGIF(wxInputStream& stream)
|
||||
{
|
||||
unsigned int global_ncolors = 0;
|
||||
int bits, interl, transparent, disposal, i;
|
||||
int bits, interl, transparent, i;
|
||||
wxAnimationDisposal disposal;
|
||||
long size;
|
||||
long delay;
|
||||
unsigned char type = 0;
|
||||
unsigned char pal[768];
|
||||
unsigned char buf[16];
|
||||
GIFImage **ppimg;
|
||||
GIFImage *pimg, *pprev;
|
||||
bool anim = true;
|
||||
|
||||
/* check GIF signature */
|
||||
if (!CanRead())
|
||||
if (!CanRead(stream))
|
||||
return wxGIF_INVFORMAT;
|
||||
|
||||
/* check for animated GIF support (ver. >= 89a) */
|
||||
|
||||
static const size_t headerSize = (3 + 3);
|
||||
m_f->Read(buf, headerSize);
|
||||
if (m_f->LastRead() != headerSize)
|
||||
stream.Read(buf, headerSize);
|
||||
if (stream.LastRead() != headerSize)
|
||||
{
|
||||
return wxGIF_INVFORMAT;
|
||||
}
|
||||
|
||||
if (memcmp(buf + 3, "89a", 3) < 0)
|
||||
{
|
||||
m_anim = false;
|
||||
anim = false;
|
||||
}
|
||||
|
||||
/* read logical screen descriptor block (LSDB) */
|
||||
static const size_t lsdbSize = (2 + 2 + 1 + 1 + 1);
|
||||
m_f->Read(buf, lsdbSize);
|
||||
if (m_f->LastRead() != lsdbSize)
|
||||
stream.Read(buf, lsdbSize);
|
||||
if (stream.LastRead() != lsdbSize)
|
||||
{
|
||||
return wxGIF_INVFORMAT;
|
||||
}
|
||||
|
||||
m_screenw = buf[0] + 256 * buf[1];
|
||||
m_screenh = buf[2] + 256 * buf[3];
|
||||
m_szAnimation.SetWidth( buf[0] + 256 * buf[1] );
|
||||
m_szAnimation.SetHeight( buf[2] + 256 * buf[3] );
|
||||
|
||||
if ((m_screenw == 0) || (m_screenh == 0))
|
||||
if ((m_szAnimation.GetWidth() == 0) || (m_szAnimation.GetHeight() == 0))
|
||||
{
|
||||
return wxGIF_INVFORMAT;
|
||||
}
|
||||
@@ -700,32 +626,30 @@ int wxGIFDecoder::ReadGIF()
|
||||
/* load global color map if available */
|
||||
if ((buf[4] & 0x80) == 0x80)
|
||||
{
|
||||
m_background = buf[5];
|
||||
int backgroundColIndex = buf[5];
|
||||
|
||||
global_ncolors = 2 << (buf[4] & 0x07);
|
||||
size_t numBytes = 3 * global_ncolors;
|
||||
m_f->Read(pal, numBytes);
|
||||
if (m_f->LastRead() != numBytes)
|
||||
stream.Read(pal, numBytes);
|
||||
if (stream.LastRead() != numBytes)
|
||||
{
|
||||
return wxGIF_INVFORMAT;
|
||||
}
|
||||
|
||||
m_background.Set(pal[backgroundColIndex*3 + 0],
|
||||
pal[backgroundColIndex*3 + 1],
|
||||
pal[backgroundColIndex*3 + 2]);
|
||||
}
|
||||
|
||||
/* transparent colour, disposal method and delay default to unused */
|
||||
transparent = -1;
|
||||
disposal = -1;
|
||||
disposal = wxANIM_UNSPECIFIED;
|
||||
delay = -1;
|
||||
|
||||
/* read images */
|
||||
ppimg = &m_pfirst;
|
||||
pprev = NULL;
|
||||
pimg = NULL;
|
||||
|
||||
bool done = false;
|
||||
|
||||
while (!done)
|
||||
{
|
||||
type = (unsigned char)m_f->GetC();
|
||||
type = (unsigned char)stream.GetC();
|
||||
|
||||
/*
|
||||
If the end of file has been reached (or an error) and a ";"
|
||||
@@ -735,7 +659,7 @@ int wxGIFDecoder::ReadGIF()
|
||||
be decoded as far as possible). returning wxGIF_TRUNCATED is not
|
||||
possible here since some init code is done after this loop.
|
||||
*/
|
||||
if (m_f->Eof())// || !m_f->IsOk())
|
||||
if (stream.Eof())// || !stream.IsOk())
|
||||
{
|
||||
/*
|
||||
type is set to some bogus value, so there's no
|
||||
@@ -753,12 +677,12 @@ int wxGIFDecoder::ReadGIF()
|
||||
/* extension block? */
|
||||
if (type == 0x21)
|
||||
{
|
||||
if (((unsigned char)m_f->GetC()) == 0xF9)
|
||||
if (((unsigned char)stream.GetC()) == 0xF9)
|
||||
/* graphics control extension, parse it */
|
||||
{
|
||||
static const size_t gceSize = 6;
|
||||
m_f->Read(buf, gceSize);
|
||||
if (m_f->LastRead() != gceSize)
|
||||
stream.Read(buf, gceSize);
|
||||
if (stream.LastRead() != gceSize)
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -772,15 +696,15 @@ int wxGIFDecoder::ReadGIF()
|
||||
transparent = buf[4];
|
||||
|
||||
/* read disposal method */
|
||||
disposal = ((buf[1] & 0x1C) >> 2) - 1;
|
||||
disposal = (wxAnimationDisposal)(((buf[1] & 0x1C) >> 2) - 1);
|
||||
}
|
||||
else
|
||||
/* other extension, skip */
|
||||
{
|
||||
while ((i = (unsigned char)m_f->GetC()) != 0)
|
||||
while ((i = (unsigned char)stream.GetC()) != 0)
|
||||
{
|
||||
m_f->SeekI(i, wxFromCurrent);
|
||||
if (m_f->Eof())
|
||||
stream.SeekI(i, wxFromCurrent);
|
||||
if (stream.Eof())
|
||||
{
|
||||
done = true;
|
||||
break;
|
||||
@@ -793,7 +717,7 @@ int wxGIFDecoder::ReadGIF()
|
||||
if (type == 0x2C)
|
||||
{
|
||||
/* allocate memory for IMAGEN struct */
|
||||
pimg = (*ppimg) = new GIFImage();
|
||||
GIFImage *pimg = new GIFImage();
|
||||
|
||||
if (pimg == NULL)
|
||||
{
|
||||
@@ -803,8 +727,8 @@ int wxGIFDecoder::ReadGIF()
|
||||
|
||||
/* fill in the data */
|
||||
static const size_t idbSize = (2 + 2 + 2 + 2 + 1);
|
||||
m_f->Read(buf, idbSize);
|
||||
if (m_f->LastRead() != idbSize)
|
||||
stream.Read(buf, idbSize);
|
||||
if (stream.LastRead() != idbSize)
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -819,7 +743,8 @@ int wxGIFDecoder::ReadGIF()
|
||||
pimg->w = buf[4] + 256 * buf[5];
|
||||
pimg->h = buf[6] + 256 * buf[7];
|
||||
|
||||
if ((pimg->w == 0) || (pimg->w > m_screenw) || (pimg->h == 0) || (pimg->h > m_screenh))
|
||||
if ((pimg->w == 0) || (pimg->w > (unsigned int)m_szAnimation.GetWidth()) ||
|
||||
(pimg->h == 0) || (pimg->h > (unsigned int)m_szAnimation.GetHeight()))
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -831,10 +756,6 @@ int wxGIFDecoder::ReadGIF()
|
||||
pimg->transparent = transparent;
|
||||
pimg->disposal = disposal;
|
||||
pimg->delay = delay;
|
||||
pimg->next = NULL;
|
||||
pimg->prev = pprev;
|
||||
pprev = pimg;
|
||||
ppimg = &pimg->next;
|
||||
|
||||
/* allocate memory for image and palette */
|
||||
pimg->p = (unsigned char *) malloc((size_t)size);
|
||||
@@ -851,9 +772,9 @@ int wxGIFDecoder::ReadGIF()
|
||||
{
|
||||
unsigned int local_ncolors = 2 << (buf[8] & 0x07);
|
||||
size_t numBytes = 3 * local_ncolors;
|
||||
m_f->Read(pimg->pal, numBytes);
|
||||
stream.Read(pimg->pal, numBytes);
|
||||
pimg->ncolours = local_ncolors;
|
||||
if (m_f->LastRead() != numBytes)
|
||||
if (stream.LastRead() != numBytes)
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -866,7 +787,7 @@ int wxGIFDecoder::ReadGIF()
|
||||
}
|
||||
|
||||
/* get initial code size from first byte in raster data */
|
||||
bits = (unsigned char)m_f->GetC();
|
||||
bits = (unsigned char)stream.GetC();
|
||||
if (bits == 0)
|
||||
{
|
||||
Destroy();
|
||||
@@ -874,56 +795,54 @@ int wxGIFDecoder::ReadGIF()
|
||||
}
|
||||
|
||||
/* decode image */
|
||||
int result = dgif(pimg, interl, bits);
|
||||
wxGIFErrorCode result = dgif(stream, pimg, interl, bits);
|
||||
if (result != wxGIF_OK)
|
||||
{
|
||||
Destroy();
|
||||
return result;
|
||||
}
|
||||
m_nimages++;
|
||||
|
||||
/* add the image to our frame array */
|
||||
m_frames.Add((void*)pimg);
|
||||
m_nFrames++;
|
||||
|
||||
/* if this is not an animated GIF, exit after first image */
|
||||
if (!m_anim)
|
||||
if (!anim)
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (m_nimages <= 0)
|
||||
if (m_nFrames <= 0)
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
}
|
||||
|
||||
/* setup image pointers */
|
||||
m_image = 1;
|
||||
m_plast = pimg;
|
||||
m_pimage = m_pfirst;
|
||||
|
||||
/* try to read to the end of the stream */
|
||||
while (type != 0x3B)
|
||||
{
|
||||
if (!m_f->IsOk())
|
||||
if (!stream.IsOk())
|
||||
return wxGIF_TRUNCATED;
|
||||
|
||||
type = (unsigned char)m_f->GetC();
|
||||
type = (unsigned char)stream.GetC();
|
||||
|
||||
if (type == 0x21)
|
||||
{
|
||||
/* extension type */
|
||||
(void) m_f->GetC();
|
||||
(void) stream.GetC();
|
||||
|
||||
/* skip all data */
|
||||
while ((i = (unsigned char)m_f->GetC()) != 0)
|
||||
while ((i = (unsigned char)stream.GetC()) != 0)
|
||||
{
|
||||
m_f->SeekI(i, wxFromCurrent);
|
||||
stream.SeekI(i, wxFromCurrent);
|
||||
}
|
||||
}
|
||||
else if (type == 0x2C)
|
||||
{
|
||||
/* image descriptor block */
|
||||
static const size_t idbSize = (2 + 2 + 2 + 2 + 1);
|
||||
m_f->Read(buf, idbSize);
|
||||
if (m_f->LastRead() != idbSize)
|
||||
stream.Read(buf, idbSize);
|
||||
if (stream.LastRead() != idbSize)
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -933,10 +852,10 @@ int wxGIFDecoder::ReadGIF()
|
||||
if ((buf[8] & 0x80) == 0x80)
|
||||
{
|
||||
unsigned int local_ncolors = 2 << (buf[8] & 0x07);
|
||||
wxFileOffset pos = m_f->TellI();
|
||||
wxFileOffset pos = stream.TellI();
|
||||
wxFileOffset numBytes = 3 * local_ncolors;
|
||||
m_f->SeekI(numBytes, wxFromCurrent);
|
||||
if (m_f->TellI() != (pos + numBytes))
|
||||
stream.SeekI(numBytes, wxFromCurrent);
|
||||
if (stream.TellI() != (pos + numBytes))
|
||||
{
|
||||
Destroy();
|
||||
return wxGIF_INVFORMAT;
|
||||
@@ -944,12 +863,12 @@ int wxGIFDecoder::ReadGIF()
|
||||
}
|
||||
|
||||
/* initial code size */
|
||||
(void) m_f->GetC();
|
||||
(void) stream.GetC();
|
||||
|
||||
/* skip all data */
|
||||
while ((i = (unsigned char)m_f->GetC()) != 0)
|
||||
while ((i = (unsigned char)stream.GetC()) != 0)
|
||||
{
|
||||
m_f->SeekI(i, wxFromCurrent);
|
||||
stream.SeekI(i, wxFromCurrent);
|
||||
}
|
||||
}
|
||||
else if ((type != 0x3B) && (type != 00)) /* testing */
|
||||
|
@@ -32,6 +32,7 @@
|
||||
#include "wx/filefn.h"
|
||||
#include "wx/wfstream.h"
|
||||
#include "wx/quantize.h"
|
||||
#include "wx/anidecod.h"
|
||||
|
||||
// For memcpy
|
||||
#include <string.h>
|
||||
@@ -1324,160 +1325,28 @@ IMPLEMENT_DYNAMIC_CLASS(wxANIHandler, wxCURHandler)
|
||||
#if wxUSE_STREAMS
|
||||
|
||||
bool wxANIHandler::LoadFile(wxImage *image, wxInputStream& stream,
|
||||
bool verbose, int index)
|
||||
bool WXUNUSED(verbose), int index)
|
||||
{
|
||||
wxInt32 FCC1, FCC2;
|
||||
wxUint32 datalen;
|
||||
|
||||
wxInt32 riff32;
|
||||
memcpy( &riff32, "RIFF", 4 );
|
||||
wxInt32 list32;
|
||||
memcpy( &list32, "LIST", 4 );
|
||||
wxInt32 ico32;
|
||||
memcpy( &ico32, "icon", 4 );
|
||||
int iIcon = 0;
|
||||
|
||||
stream.SeekI(0);
|
||||
stream.Read(&FCC1, 4);
|
||||
if ( FCC1 != riff32 )
|
||||
wxANIDecoder decoder;
|
||||
if (!decoder.Load(stream))
|
||||
return false;
|
||||
|
||||
// we have a riff file:
|
||||
while (stream.IsOk())
|
||||
{
|
||||
// we always have a data size
|
||||
stream.Read(&datalen, 4);
|
||||
datalen = wxINT32_SWAP_ON_BE(datalen) ;
|
||||
//data should be padded to make even number of bytes
|
||||
if (datalen % 2 == 1) datalen ++ ;
|
||||
//now either data or a FCC
|
||||
if ( (FCC1 == riff32) || (FCC1 == list32) )
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (FCC1 == ico32 && iIcon >= index)
|
||||
{
|
||||
return DoLoadFile(image, stream, verbose, -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
stream.SeekI(stream.TellI() + datalen);
|
||||
if ( FCC1 == ico32 )
|
||||
iIcon ++;
|
||||
}
|
||||
}
|
||||
|
||||
// try to read next data chunk:
|
||||
stream.Read(&FCC1, 4);
|
||||
}
|
||||
return false;
|
||||
return decoder.ConvertToImage(index != -1 ? (size_t)index : 0, image);
|
||||
}
|
||||
|
||||
bool wxANIHandler::DoCanRead(wxInputStream& stream)
|
||||
{
|
||||
wxInt32 FCC1, FCC2;
|
||||
wxUint32 datalen ;
|
||||
|
||||
wxInt32 riff32;
|
||||
memcpy( &riff32, "RIFF", 4 );
|
||||
wxInt32 list32;
|
||||
memcpy( &list32, "LIST", 4 );
|
||||
wxInt32 ico32;
|
||||
memcpy( &ico32, "icon", 4 );
|
||||
wxInt32 anih32;
|
||||
memcpy( &anih32, "anih", 4 );
|
||||
|
||||
stream.SeekI(0);
|
||||
if ( !stream.Read(&FCC1, 4) )
|
||||
return false;
|
||||
|
||||
if ( FCC1 != riff32 )
|
||||
return false;
|
||||
|
||||
// we have a riff file:
|
||||
while ( stream.IsOk() )
|
||||
{
|
||||
if ( FCC1 == anih32 )
|
||||
return true;
|
||||
// we always have a data size:
|
||||
stream.Read(&datalen, 4);
|
||||
datalen = wxINT32_SWAP_ON_BE(datalen) ;
|
||||
//data should be padded to make even number of bytes
|
||||
if (datalen % 2 == 1) datalen ++ ;
|
||||
// now either data or a FCC:
|
||||
if ( (FCC1 == riff32) || (FCC1 == list32) )
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
stream.SeekI(stream.TellI() + datalen);
|
||||
}
|
||||
|
||||
// try to read next data chunk:
|
||||
if ( !stream.Read(&FCC1, 4) )
|
||||
{
|
||||
// reading failed -- either EOF or IO error, bail out anyhow
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
wxANIDecoder decod;
|
||||
return decod.CanRead(stream);
|
||||
}
|
||||
|
||||
int wxANIHandler::GetImageCount(wxInputStream& stream)
|
||||
{
|
||||
wxInt32 FCC1, FCC2;
|
||||
wxUint32 datalen ;
|
||||
|
||||
wxInt32 riff32;
|
||||
memcpy( &riff32, "RIFF", 4 );
|
||||
wxInt32 list32;
|
||||
memcpy( &list32, "LIST", 4 );
|
||||
wxInt32 ico32;
|
||||
memcpy( &ico32, "icon", 4 );
|
||||
wxInt32 anih32;
|
||||
memcpy( &anih32, "anih", 4 );
|
||||
|
||||
stream.SeekI(0);
|
||||
stream.Read(&FCC1, 4);
|
||||
if ( FCC1 != riff32 )
|
||||
wxANIDecoder decoder;
|
||||
if (!decoder.Load(stream))
|
||||
return wxNOT_FOUND;
|
||||
|
||||
// we have a riff file:
|
||||
while ( stream.IsOk() )
|
||||
{
|
||||
// we always have a data size:
|
||||
stream.Read(&datalen, 4);
|
||||
datalen = wxINT32_SWAP_ON_BE(datalen) ;
|
||||
//data should be padded to make even number of bytes
|
||||
if (datalen % 2 == 1) datalen ++ ;
|
||||
// now either data or a FCC:
|
||||
if ( (FCC1 == riff32) || (FCC1 == list32) )
|
||||
{
|
||||
stream.Read(&FCC2, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( FCC1 == anih32 )
|
||||
{
|
||||
wxUint32 *pData = new wxUint32[datalen/4];
|
||||
stream.Read(pData, datalen);
|
||||
int nIcons = wxINT32_SWAP_ON_BE(*(pData + 1));
|
||||
delete[] pData;
|
||||
return nIcons;
|
||||
}
|
||||
else
|
||||
stream.SeekI(stream.TellI() + datalen);
|
||||
}
|
||||
|
||||
// try to read next data chunk:
|
||||
stream.Read(&FCC1, 4);
|
||||
}
|
||||
|
||||
return wxNOT_FOUND;
|
||||
return decoder.GetFrameCount();
|
||||
}
|
||||
|
||||
#endif // wxUSE_STREAMS
|
||||
|
@@ -37,12 +37,12 @@ bool wxGIFHandler::LoadFile(wxImage *image, wxInputStream& stream,
|
||||
bool verbose, int index)
|
||||
{
|
||||
wxGIFDecoder *decod;
|
||||
int error;
|
||||
wxGIFErrorCode error;
|
||||
bool ok = true;
|
||||
|
||||
// image->Destroy();
|
||||
decod = new wxGIFDecoder(&stream, true);
|
||||
error = decod->ReadGIF();
|
||||
decod = new wxGIFDecoder();
|
||||
error = decod->LoadGIF(stream);
|
||||
|
||||
if ((error != wxGIF_OK) && (error != wxGIF_TRUNCATED))
|
||||
{
|
||||
@@ -71,24 +71,9 @@ bool wxGIFHandler::LoadFile(wxImage *image, wxInputStream& stream,
|
||||
/* go on; image data is OK */
|
||||
}
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
// We're already on index = 0 by default. So no need
|
||||
// to call GoFrame(0) then. On top of that GoFrame doesn't
|
||||
// accept an index of 0. (Instead GoFirstFrame() should be used)
|
||||
// Also if the gif image has only one frame, calling GoFrame(0)
|
||||
// fails because GoFrame() only works with gif animations.
|
||||
// (It fails if IsAnimation() returns false)
|
||||
// All valid reasons to NOT call GoFrame when index equals 0.
|
||||
if (index != 0)
|
||||
{
|
||||
ok = decod->GoFrame(index);
|
||||
}
|
||||
}
|
||||
|
||||
if (ok)
|
||||
{
|
||||
ok = decod->ConvertToImage(image);
|
||||
ok = decod->ConvertToImage(index != -1 ? (size_t)index : 0, image);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -111,8 +96,8 @@ bool wxGIFHandler::SaveFile( wxImage * WXUNUSED(image),
|
||||
|
||||
bool wxGIFHandler::DoCanRead( wxInputStream& stream )
|
||||
{
|
||||
wxGIFDecoder decod(&stream);
|
||||
return decod.CanRead();
|
||||
wxGIFDecoder decod;
|
||||
return decod.CanRead(stream);
|
||||
}
|
||||
|
||||
#endif // wxUSE_STREAMS
|
||||
|
549
src/generic/animateg.cpp
Normal file
549
src/generic/animateg.cpp
Normal file
@@ -0,0 +1,549 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: animateg.cpp
|
||||
// Purpose: wxAnimation and wxAnimationCtrl
|
||||
// Author: Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Modified by: Francesco Montorsi
|
||||
// Created: 13/8/99
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif //__BORLANDC__
|
||||
|
||||
|
||||
#if wxUSE_ANIMATIONCTRL
|
||||
|
||||
#include "wx/log.h"
|
||||
#include "wx/wfstream.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/gifdecod.h"
|
||||
#include "wx/anidecod.h"
|
||||
#include "wx/dcmemory.h"
|
||||
#include "wx/dc.h"
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/animate.h"
|
||||
#include "wx/animdecod.h"
|
||||
|
||||
|
||||
#include <wx/listimpl.cpp>
|
||||
WX_DEFINE_LIST(wxAnimationDecoderList);
|
||||
|
||||
wxAnimationDecoderList wxAnimation::sm_handlers;
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimation
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxAnimation, wxAnimationBase)
|
||||
#define M_ANIMDATA wx_static_cast(wxAnimationDecoder*, m_refData)
|
||||
|
||||
wxSize wxAnimation::GetSize() const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxDefaultSize, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetAnimationSize();
|
||||
}
|
||||
|
||||
size_t wxAnimation::GetFrameCount() const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), 0, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetFrameCount();
|
||||
}
|
||||
|
||||
wxImage wxAnimation::GetFrame(size_t i) const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxNullImage, wxT("invalid animation") );
|
||||
|
||||
wxImage ret;
|
||||
if (!M_ANIMDATA->ConvertToImage(i, &ret))
|
||||
return wxNullImage;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int wxAnimation::GetDelay(size_t i) const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), 0, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetDelay(i);
|
||||
}
|
||||
|
||||
wxPoint wxAnimation::GetFramePosition(size_t frame) const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxDefaultPosition, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetFramePosition(frame);
|
||||
}
|
||||
|
||||
wxAnimationDisposal wxAnimation::GetDisposalMethod(size_t frame) const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxANIM_UNSPECIFIED, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetDisposalMethod(frame);
|
||||
}
|
||||
|
||||
wxColour wxAnimation::GetBackgroundColour() const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxNullColour, wxT("invalid animation") );
|
||||
|
||||
return M_ANIMDATA->GetBackgroundColour();
|
||||
}
|
||||
|
||||
bool wxAnimation::LoadFile(const wxString& filename, wxAnimationType type)
|
||||
{
|
||||
wxFileInputStream stream(filename);
|
||||
if (!stream.Ok())
|
||||
return false;
|
||||
|
||||
return Load(stream, type);
|
||||
}
|
||||
|
||||
bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
|
||||
{
|
||||
UnRef();
|
||||
|
||||
const wxAnimationDecoder *handler;
|
||||
if ( type == wxANIMATION_TYPE_ANY )
|
||||
{
|
||||
for ( wxAnimationDecoderList::compatibility_iterator node = sm_handlers.GetFirst();
|
||||
node; node = node->GetNext() )
|
||||
{
|
||||
handler=(const wxAnimationDecoder*)node->GetData();
|
||||
|
||||
if ( handler->CanRead(stream) )
|
||||
{
|
||||
// do a copy of the handler from the static list which we will own
|
||||
// as our reference data
|
||||
m_refData = handler->Clone();
|
||||
return M_ANIMDATA->Load(stream);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
wxLogWarning( _("No handler found for animation type.") );
|
||||
return false;
|
||||
}
|
||||
|
||||
handler = FindHandler(type);
|
||||
|
||||
// do a copy of the handler from the static list which we will own
|
||||
// as our reference data
|
||||
m_refData = handler->Clone();
|
||||
|
||||
if (handler == NULL)
|
||||
{
|
||||
wxLogWarning( _("No animation handler for type %ld defined."), type );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (stream.IsSeekable() && !M_ANIMDATA->CanRead(stream))
|
||||
{
|
||||
wxLogError(_("Animation file is not of type %ld."), type);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return M_ANIMDATA->Load(stream);
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// animation decoders
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxAnimation::AddHandler( wxAnimationDecoder *handler )
|
||||
{
|
||||
// Check for an existing handler of the type being added.
|
||||
if (FindHandler( handler->GetType() ) == 0)
|
||||
{
|
||||
sm_handlers.Append( handler );
|
||||
}
|
||||
else
|
||||
{
|
||||
// This is not documented behaviour, merely the simplest 'fix'
|
||||
// for preventing duplicate additions. If someone ever has
|
||||
// a good reason to add and remove duplicate handlers (and they
|
||||
// may) we should probably refcount the duplicates.
|
||||
// also an issue in InsertHandler below.
|
||||
|
||||
wxLogDebug( _T("Adding duplicate animation handler for '%d' type"),
|
||||
handler->GetType() );
|
||||
delete handler;
|
||||
}
|
||||
}
|
||||
|
||||
void wxAnimation::InsertHandler( wxAnimationDecoder *handler )
|
||||
{
|
||||
// Check for an existing handler of the type being added.
|
||||
if (FindHandler( handler->GetType() ) == 0)
|
||||
{
|
||||
sm_handlers.Insert( handler );
|
||||
}
|
||||
else
|
||||
{
|
||||
// see AddHandler for additional comments.
|
||||
wxLogDebug( _T("Inserting duplicate animation handler for '%d' type"),
|
||||
handler->GetType() );
|
||||
delete handler;
|
||||
}
|
||||
}
|
||||
|
||||
const wxAnimationDecoder *wxAnimation::FindHandler( wxAnimationType animType )
|
||||
{
|
||||
wxAnimationDecoderList::compatibility_iterator node = sm_handlers.GetFirst();
|
||||
while (node)
|
||||
{
|
||||
const wxAnimationDecoder *handler = (const wxAnimationDecoder *)node->GetData();
|
||||
if (handler->GetType() == animType) return handler;
|
||||
node = node->GetNext();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void wxAnimation::InitStandardHandlers()
|
||||
{
|
||||
AddHandler(new wxGIFDecoder);
|
||||
AddHandler(new wxANIDecoder);
|
||||
}
|
||||
|
||||
void wxAnimation::CleanUpHandlers()
|
||||
{
|
||||
wxAnimationDecoderList::compatibility_iterator node = sm_handlers.GetFirst();
|
||||
while (node)
|
||||
{
|
||||
wxAnimationDecoder *handler = (wxAnimationDecoder *)node->GetData();
|
||||
wxAnimationDecoderList::compatibility_iterator next = node->GetNext();
|
||||
delete handler;
|
||||
node = next;
|
||||
}
|
||||
|
||||
sm_handlers.Clear();
|
||||
}
|
||||
|
||||
|
||||
// A module to allow wxAnimation initialization/cleanup
|
||||
// without calling these functions from app.cpp or from
|
||||
// the user's application.
|
||||
|
||||
class wxAnimationModule: public wxModule
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxAnimationModule)
|
||||
public:
|
||||
wxAnimationModule() {}
|
||||
bool OnInit() { wxAnimation::InitStandardHandlers(); return true; };
|
||||
void OnExit() { wxAnimation::CleanUpHandlers(); };
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxAnimationModule, wxModule)
|
||||
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_CLASS(wxAnimationCtrl, wxAnimationCtrlBase)
|
||||
BEGIN_EVENT_TABLE(wxAnimationCtrl, wxAnimationCtrlBase)
|
||||
EVT_PAINT(wxAnimationCtrl::OnPaint)
|
||||
EVT_SIZE(wxAnimationCtrl::OnSize)
|
||||
EVT_TIMER(wxID_ANY, wxAnimationCtrl::OnTimer)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
bool wxAnimationCtrl::Create(wxWindow *parent, wxWindowID id,
|
||||
const wxAnimation& animation, const wxPoint& pos,
|
||||
const wxSize& size, long style, const wxString& name)
|
||||
{
|
||||
m_animation = animation;
|
||||
m_currentFrame = 0;
|
||||
m_looped = true;
|
||||
m_isPlaying = false;
|
||||
m_useWinBackgroundColour = false;
|
||||
m_timer.SetOwner(this);
|
||||
|
||||
if (!wxControl::Create(parent, id, pos, size, style, wxDefaultValidator, name))
|
||||
return false;
|
||||
|
||||
// by default we get the same background colour of our parent
|
||||
SetBackgroundColour(parent->GetBackgroundColour());
|
||||
return true;
|
||||
}
|
||||
|
||||
wxAnimationCtrl::~wxAnimationCtrl()
|
||||
{
|
||||
Stop();
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::LoadFile(const wxString& filename, wxAnimationType type)
|
||||
{
|
||||
wxAnimation anim;
|
||||
if (!anim.LoadFile(filename, type) ||
|
||||
!anim.IsOk())
|
||||
return false;
|
||||
|
||||
SetAnimation(anim);
|
||||
return true;
|
||||
}
|
||||
|
||||
wxSize wxAnimationCtrl::DoGetBestSize() const
|
||||
{
|
||||
if (m_animation.IsOk() && !this->HasFlag(wxAC_NO_AUTORESIZE))
|
||||
return m_animation.GetSize();
|
||||
|
||||
return wxSize(100, 100);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::SetAnimation(const wxAnimation& animation)
|
||||
{
|
||||
if (IsPlaying())
|
||||
Stop();
|
||||
|
||||
m_animation = animation;
|
||||
|
||||
if (m_animation.GetBackgroundColour() == wxNullColour)
|
||||
SetUseWindowBackgroundColour();
|
||||
if (!this->HasFlag(wxAC_NO_AUTORESIZE))
|
||||
FitToAnimation();
|
||||
|
||||
// display first frame
|
||||
m_currentFrame = 0;
|
||||
if (m_animation.IsOk())
|
||||
RebuildBackingStoreUpToFrame(0);
|
||||
else
|
||||
{
|
||||
// clear to
|
||||
wxMemoryDC dc;
|
||||
dc.SelectObject(m_backingStore);
|
||||
|
||||
// Draw the background
|
||||
DisposeToBackground(dc);
|
||||
}
|
||||
|
||||
Refresh();
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::FitToAnimation()
|
||||
{
|
||||
SetSize(m_animation.GetSize());
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl - stop/play methods
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxAnimationCtrl::Stop()
|
||||
{
|
||||
// leave current frame displayed until Play() is called again
|
||||
m_timer.Stop();
|
||||
m_isPlaying = false;
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::Play(bool looped)
|
||||
{
|
||||
if (!m_animation.IsOk())
|
||||
return false;
|
||||
|
||||
int oldframe = m_currentFrame;
|
||||
m_looped = looped;
|
||||
m_currentFrame = 0;
|
||||
m_isPlaying = true;
|
||||
|
||||
// small optimization: if the back store was already updated to the
|
||||
// first frame, don't rebuild it
|
||||
if (oldframe != 0)
|
||||
RebuildBackingStoreUpToFrame(0);
|
||||
|
||||
// DrawCurrentFrame() will use our updated backing store
|
||||
wxClientDC clientDC(this);
|
||||
DrawCurrentFrame(clientDC);
|
||||
|
||||
// start the timer
|
||||
int delay = m_animation.GetDelay(0);
|
||||
if (delay == 0)
|
||||
delay = 1; // 0 is invalid timeout for wxTimer.
|
||||
m_timer.Start(delay);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl - rendering methods
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxAnimationCtrl::RebuildBackingStoreUpToFrame(size_t frame)
|
||||
{
|
||||
// if we've not created the backing store yet or it's too
|
||||
// small, then recreate it
|
||||
wxSize sz = m_animation.GetSize(),
|
||||
winsz = GetClientSize();
|
||||
int w = wxMin(sz.GetWidth(), winsz.GetWidth());
|
||||
int h = wxMin(sz.GetHeight(), winsz.GetHeight());
|
||||
|
||||
if (m_backingStore.GetWidth() < w ||
|
||||
m_backingStore.GetHeight() < h)
|
||||
m_backingStore.Create(w, h);
|
||||
|
||||
wxMemoryDC dc;
|
||||
dc.SelectObject(m_backingStore);
|
||||
|
||||
// Draw the background
|
||||
DisposeToBackground(dc);
|
||||
|
||||
// Draw all intermediate frames that haven't been removed from the animation
|
||||
for (size_t i = 0; i < frame; i++)
|
||||
{
|
||||
if (m_animation.GetDisposalMethod(i) == wxANIM_DONOTREMOVE ||
|
||||
m_animation.GetDisposalMethod(i) == wxANIM_UNSPECIFIED)
|
||||
{
|
||||
DrawFrame(dc, i);
|
||||
}
|
||||
}
|
||||
|
||||
// finally draw this frame
|
||||
DrawFrame(dc, frame);
|
||||
dc.SelectObject(wxNullBitmap);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::IncrementalUpdateBackingStore()
|
||||
{
|
||||
wxMemoryDC dc;
|
||||
dc.SelectObject(m_backingStore);
|
||||
|
||||
// OPTIMIZATION:
|
||||
// since wxAnimationCtrl can only play animations forward, without skipping
|
||||
// frames, we can be sure that m_backingStore contains the m_currentFrame-1
|
||||
// frame and thus we just need to dispose the m_currentFrame-1 frame and
|
||||
// render the m_currentFrame-th one.
|
||||
|
||||
if (m_currentFrame == 0)
|
||||
{
|
||||
// before drawing the first frame always dispose to bg colour
|
||||
DisposeToBackground(dc);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (m_animation.GetDisposalMethod(m_currentFrame-1))
|
||||
{
|
||||
case wxANIM_TOBACKGROUND:
|
||||
DisposeToBackground(dc);
|
||||
break;
|
||||
|
||||
case wxANIM_TOPREVIOUS:
|
||||
// this disposal should never be used too often.
|
||||
// E.g. GIF specification explicitely say to keep the usage of this
|
||||
// disposal limited to the minimum.
|
||||
// In fact it may require a lot of time to restore
|
||||
if (m_currentFrame == 1)
|
||||
{
|
||||
// if 0-th frame disposal is to restore to previous frame,
|
||||
// the best we can do is to restore to background
|
||||
DisposeToBackground(dc);
|
||||
}
|
||||
else
|
||||
RebuildBackingStoreUpToFrame(m_currentFrame-2);
|
||||
break;
|
||||
|
||||
case wxANIM_DONOTREMOVE:
|
||||
case wxANIM_UNSPECIFIED:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// now just draw the current frame on the top of the backing store
|
||||
DrawFrame(dc, m_currentFrame);
|
||||
dc.SelectObject(wxNullBitmap);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::DrawFrame(wxDC &dc, size_t frame)
|
||||
{
|
||||
// PERFORMANCE NOTE:
|
||||
// this draw stuff is not as fast as possible: the wxAnimationDecoder
|
||||
// needs first to convert from its internal format to wxImage RGB24;
|
||||
// the wxImage is then converted as a wxBitmap and finally blitted.
|
||||
// If wxAnimationDecoder had a function to convert directly from its
|
||||
// internal format to a port-specific wxBitmap, it would be somewhat faster.
|
||||
wxBitmap bmp(m_animation.GetFrame(frame));
|
||||
dc.DrawBitmap(bmp, m_animation.GetFramePosition(frame),
|
||||
true /* use mask */);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::DrawCurrentFrame(wxDC& dc)
|
||||
{
|
||||
wxASSERT(m_backingStore.Ok());
|
||||
|
||||
// m_backingStore always contains the current frame
|
||||
dc.DrawBitmap(m_backingStore, 0, 0);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::DisposeToBackground(wxDC& dc)
|
||||
{
|
||||
wxBrush brush(IsUsingWindowBackgroundColour() ?
|
||||
this->GetBackgroundColour() : m_animation.GetBackgroundColour(), wxSOLID);
|
||||
dc.SetBackground(brush);
|
||||
dc.Clear();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl - event handlers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxAnimationCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
|
||||
{
|
||||
// VERY IMPORTANT: the wxPaintDC *must* be created in any case
|
||||
wxPaintDC dc(this);
|
||||
|
||||
// both if we are playing or not, we need to refresh the current frame
|
||||
if (m_backingStore.Ok())
|
||||
DrawCurrentFrame(dc);
|
||||
//else: m_animation is not valid and thus we don't have a valid backing store...
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::OnTimer(wxTimerEvent &WXUNUSED(event))
|
||||
{
|
||||
m_currentFrame++;
|
||||
if (m_currentFrame == m_animation.GetFrameCount())
|
||||
{
|
||||
// Should a non-looped animation display the last frame?
|
||||
if (!m_looped)
|
||||
{
|
||||
m_timer.Stop();
|
||||
m_isPlaying = false;
|
||||
return;
|
||||
}
|
||||
else
|
||||
m_currentFrame = 0; // let's restart
|
||||
}
|
||||
|
||||
IncrementalUpdateBackingStore();
|
||||
|
||||
wxClientDC dc(this);
|
||||
DrawCurrentFrame(dc);
|
||||
|
||||
// Set the timer for the next frame
|
||||
int delay = m_animation.GetDelay(m_currentFrame);
|
||||
if (delay == 0)
|
||||
delay = 1; // 0 is invalid timeout for wxTimer.
|
||||
m_timer.Start(delay);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::OnSize(wxSizeEvent &WXUNUSED(event))
|
||||
{
|
||||
// NB: resizing an animation control may take a lot of time
|
||||
// for big animations as the backing store must be
|
||||
// extended and rebuilt. Try to avoid it!!
|
||||
if (m_animation.IsOk())
|
||||
RebuildBackingStoreUpToFrame(m_currentFrame);
|
||||
}
|
||||
|
||||
#endif // wxUSE_ANIMATIONCTRL
|
||||
|
339
src/gtk/animate.cpp
Normal file
339
src/gtk/animate.cpp
Normal file
@@ -0,0 +1,339 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/gtk/animate.cpp
|
||||
// Purpose: wxAnimation and wxAnimationCtrl
|
||||
// Author: Francesco Montorsi
|
||||
// Modified By:
|
||||
// Created: 24/09/2006
|
||||
// Id: $Id$
|
||||
// Copyright: (c) Francesco Montorsi
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#if wxUSE_ANIMATIONCTRL
|
||||
|
||||
#include "wx/animate.h"
|
||||
#include <gtk/gtk.h>
|
||||
#include <gtk/gtkimage.h>
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// ============================================================================
|
||||
|
||||
void gdk_pixbuf_area_updated(GdkPixbufLoader *loader,
|
||||
gint x,
|
||||
gint y,
|
||||
gint width,
|
||||
gint height,
|
||||
wxAnimation *anim)
|
||||
{
|
||||
if (anim && anim->GetPixbuf() == NULL)
|
||||
{
|
||||
// we need to set the pixbuf only if this is the first time this signal
|
||||
// has been called!
|
||||
anim->SetPixbuf(gdk_pixbuf_loader_get_animation(loader));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxAnimation
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxAnimation, wxAnimationBase)
|
||||
|
||||
bool wxAnimation::LoadFile(const wxString &name, wxAnimationType WXUNUSED(type))
|
||||
{
|
||||
UnRef();
|
||||
m_pixbuf = gdk_pixbuf_animation_new_from_file(name.c_str(), NULL);
|
||||
return IsOk();
|
||||
}
|
||||
|
||||
bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
|
||||
{
|
||||
UnRef();
|
||||
|
||||
char anim_type[12];
|
||||
switch (type)
|
||||
{
|
||||
case wxANIMATION_TYPE_GIF:
|
||||
strcpy(anim_type, "gif");
|
||||
break;
|
||||
|
||||
case wxANIMATION_TYPE_ANI:
|
||||
strcpy(anim_type, "ani");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// create a GdkPixbufLoader
|
||||
GError *error = NULL;
|
||||
GdkPixbufLoader *loader;
|
||||
if (type != wxANIMATION_TYPE_INVALID && type != wxANIMATION_TYPE_ANY)
|
||||
loader = gdk_pixbuf_loader_new_with_type(anim_type, &error);
|
||||
else
|
||||
loader = gdk_pixbuf_loader_new();
|
||||
|
||||
if (!loader)
|
||||
{
|
||||
wxLogDebug(wxT("Could not create the loader for '%s' animation type"), anim_type);
|
||||
return false;
|
||||
}
|
||||
|
||||
// connect to loader signals
|
||||
g_signal_connect(loader, "area-updated", G_CALLBACK(gdk_pixbuf_area_updated), this);
|
||||
|
||||
//m_bLoadComplete = false;
|
||||
guchar buf[2048];
|
||||
while (stream.IsOk())
|
||||
{
|
||||
// read a chunk of data
|
||||
stream.Read(buf, 2048);
|
||||
|
||||
// fetch all data into the loader
|
||||
if (!gdk_pixbuf_loader_write(loader, buf, stream.LastRead(), &error))
|
||||
{
|
||||
gdk_pixbuf_loader_close(loader, &error);
|
||||
wxLogDebug(wxT("Could not write to the loader"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// load complete
|
||||
if (!gdk_pixbuf_loader_close(loader, &error))
|
||||
{
|
||||
wxLogDebug(wxT("Could not close the loader"));
|
||||
return false;
|
||||
}
|
||||
//m_bLoadComplete = true;
|
||||
|
||||
// wait until we get the last area_updated signal
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxAnimationCtrl, wxAnimationCtrlBase)
|
||||
BEGIN_EVENT_TABLE(wxAnimationCtrl, wxAnimationCtrlBase)
|
||||
EVT_TIMER(wxID_ANY, wxAnimationCtrl::OnTimer)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
bool wxAnimationCtrl::Create( wxWindow *parent, wxWindowID id,
|
||||
const wxAnimation& anim,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size,
|
||||
long style,
|
||||
const wxString& name)
|
||||
{
|
||||
m_needParent = true;
|
||||
m_acceptsFocus = true;
|
||||
|
||||
if (!PreCreation( parent, pos, size ) ||
|
||||
!wxControl::CreateBase(parent, id, pos, size, style & wxWINDOW_STYLE_MASK,
|
||||
wxDefaultValidator, name))
|
||||
{
|
||||
wxFAIL_MSG( wxT("wxAnimationCtrl creation failed") );
|
||||
return false;
|
||||
}
|
||||
|
||||
SetWindowStyle(style);
|
||||
|
||||
m_widget = gtk_image_new();
|
||||
gtk_widget_show( GTK_WIDGET(m_widget) );
|
||||
|
||||
m_parent->DoAddChild( this );
|
||||
|
||||
PostCreation(size);
|
||||
SetBestSize(size);
|
||||
|
||||
m_anim = NULL;
|
||||
m_iter = NULL;
|
||||
m_bPlaying = false;
|
||||
if (anim != wxNullAnimation)
|
||||
SetAnimation(anim);
|
||||
|
||||
// init the timer used for animation
|
||||
m_timer.SetOwner(this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
wxAnimationCtrl::~wxAnimationCtrl()
|
||||
{
|
||||
ResetAnim();
|
||||
ResetIter();
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::LoadFile(const wxString &filename, wxAnimationType type)
|
||||
{
|
||||
wxAnimation anim;
|
||||
if (!anim.LoadFile(filename, type))
|
||||
return false;
|
||||
|
||||
SetAnimation(anim);
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::SetAnimation(const wxAnimation &anim)
|
||||
{
|
||||
if (IsPlaying())
|
||||
Stop();
|
||||
|
||||
ResetAnim();
|
||||
ResetIter();
|
||||
|
||||
// copy underlying GdkPixbuf object
|
||||
m_anim = anim.GetPixbuf();
|
||||
|
||||
// m_anim may be null in case wxNullAnimation has been passed
|
||||
if (m_anim)
|
||||
{
|
||||
// add a reference to the GdkPixbufAnimation
|
||||
g_object_ref(m_anim);
|
||||
|
||||
if (!this->HasFlag(wxAC_NO_AUTORESIZE))
|
||||
FitToAnimation();
|
||||
|
||||
// display first frame
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(m_widget),
|
||||
gdk_pixbuf_animation_get_static_image(m_anim));
|
||||
}
|
||||
else
|
||||
{
|
||||
// we need to clear the control to the background colour
|
||||
ClearToBackgroundColour();
|
||||
}
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::FitToAnimation()
|
||||
{
|
||||
if (!m_anim)
|
||||
return;
|
||||
|
||||
int w = gdk_pixbuf_animation_get_width(m_anim),
|
||||
h = gdk_pixbuf_animation_get_height(m_anim);
|
||||
|
||||
// update our size to fit animation
|
||||
//if (w > 0 && h > 0)
|
||||
// gtk_widget_set_size_request(m_widget, w, h);
|
||||
SetSize(w, h);
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::Play()
|
||||
{
|
||||
if (m_anim == NULL)
|
||||
return false;
|
||||
|
||||
// init the iterator and start a one-shot timer
|
||||
ResetIter();
|
||||
m_iter = gdk_pixbuf_animation_get_iter (m_anim, NULL);
|
||||
m_bPlaying = true;
|
||||
|
||||
// gdk_pixbuf_animation_iter_get_delay_time() may return -1 which means
|
||||
// that the timer should not start
|
||||
int n = gdk_pixbuf_animation_iter_get_delay_time(m_iter);
|
||||
if (n >= 0)
|
||||
m_timer.Start(n, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::Stop()
|
||||
{
|
||||
// leave current frame displayed until Play() is called again
|
||||
if (IsPlaying())
|
||||
m_timer.Stop();
|
||||
m_bPlaying = false;
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::IsPlaying() const
|
||||
{
|
||||
// NB: we cannot just return m_timer.IsRunning() as this would not
|
||||
// be safe as e.g. if we are displaying a frame forever,
|
||||
// then we are "officially" still playing the animation, but
|
||||
// the timer is not running anymore...
|
||||
return m_bPlaying;
|
||||
}
|
||||
|
||||
wxSize wxAnimationCtrl::DoGetBestSize() const
|
||||
{
|
||||
if (m_anim && !this->HasFlag(wxAC_NO_AUTORESIZE))
|
||||
{
|
||||
return wxSize(gdk_pixbuf_animation_get_width(m_anim),
|
||||
gdk_pixbuf_animation_get_height(m_anim));
|
||||
}
|
||||
|
||||
return wxSize(100,100);
|
||||
}
|
||||
|
||||
void wxAnimationCtrl::ClearToBackgroundColour()
|
||||
{
|
||||
wxSize sz = GetClientSize();
|
||||
GdkPixbuf *newpix = gdk_pixbuf_new(GDK_COLORSPACE_RGB, false, 8,
|
||||
sz.GetWidth(), sz.GetHeight());
|
||||
if (!newpix)
|
||||
return;
|
||||
|
||||
wxColour clr = GetBackgroundColour();
|
||||
guint32 col = (clr.Red() << 24) | (clr.Green() << 16) | (clr.Blue() << 8);
|
||||
gdk_pixbuf_fill(newpix, col);
|
||||
|
||||
wxLogDebug(wxT("Clearing to background %s"), clr.GetAsString().c_str());
|
||||
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(m_widget), newpix);
|
||||
g_object_unref(newpix);
|
||||
}
|
||||
|
||||
bool wxAnimationCtrl::SetBackgroundColour( const wxColour &colour )
|
||||
{
|
||||
// wxWindowGTK::SetBackgroundColour works but since our m_widget is a GtkImage
|
||||
// it won't show the background colour unlike the user would expect.
|
||||
// Thus we clear the GtkImage contents to the background colour...
|
||||
if (!wxControl::SetBackgroundColour(colour))
|
||||
return false;
|
||||
ClearToBackgroundColour();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxAnimationCtrl - event handlers
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void wxAnimationCtrl::OnTimer(wxTimerEvent &ev)
|
||||
{
|
||||
wxASSERT(m_iter != NULL);
|
||||
|
||||
// gdk_pixbuf_animation_iter_advance() will automatically restart
|
||||
// the animation, if necessary and we have no way to know !!
|
||||
if (gdk_pixbuf_animation_iter_advance(m_iter, NULL))
|
||||
{
|
||||
// start a new one-shot timer
|
||||
int n = gdk_pixbuf_animation_iter_get_delay_time(m_iter);
|
||||
if (n >= 0)
|
||||
m_timer.Start(n, true);
|
||||
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(m_widget),
|
||||
gdk_pixbuf_animation_iter_get_pixbuf(m_iter));
|
||||
}
|
||||
else
|
||||
{
|
||||
// no need to update the m_widget yet
|
||||
m_timer.Start(10, true);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // wxUSE_ANIMATIONCTRL
|
@@ -309,6 +309,7 @@ private:
|
||||
wxGIFDecoder *m_gifDecoder;
|
||||
wxTimer *m_gifTimer;
|
||||
int m_physX, m_physY;
|
||||
size_t m_nCurrFrame;
|
||||
#endif
|
||||
double m_scale;
|
||||
wxHtmlImageMapCell *m_imageMap;
|
||||
@@ -358,6 +359,7 @@ wxHtmlImageCell::wxHtmlImageCell(wxHtmlWindowInterface *windowIface,
|
||||
m_gifDecoder = NULL;
|
||||
m_gifTimer = NULL;
|
||||
m_physX = m_physY = wxDefaultCoord;
|
||||
m_nCurrFrame = 0;
|
||||
#endif
|
||||
|
||||
if ( m_bmpW && m_bmpH )
|
||||
@@ -374,11 +376,11 @@ wxHtmlImageCell::wxHtmlImageCell(wxHtmlWindowInterface *windowIface,
|
||||
(input->GetLocation().Matches(wxT("*.gif")) ||
|
||||
input->GetLocation().Matches(wxT("*.GIF"))) )
|
||||
{
|
||||
m_gifDecoder = new wxGIFDecoder(s, true);
|
||||
if ( m_gifDecoder->ReadGIF() == wxGIF_OK )
|
||||
m_gifDecoder = new wxGIFDecoder();
|
||||
if ( m_gifDecoder->LoadGIF(*s) == wxGIF_OK )
|
||||
{
|
||||
wxImage img;
|
||||
if ( m_gifDecoder->ConvertToImage(&img) )
|
||||
if ( m_gifDecoder->ConvertToImage(0, &img) )
|
||||
SetImage(img);
|
||||
|
||||
readImg = false;
|
||||
@@ -386,7 +388,7 @@ wxHtmlImageCell::wxHtmlImageCell(wxHtmlWindowInterface *windowIface,
|
||||
if ( m_gifDecoder->IsAnimation() )
|
||||
{
|
||||
m_gifTimer = new wxGIFTimer(this);
|
||||
m_gifTimer->Start(m_gifDecoder->GetDelay(), true);
|
||||
m_gifTimer->Start(m_gifDecoder->GetDelay(0), true);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -481,7 +483,10 @@ void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
|
||||
{
|
||||
wxImage img;
|
||||
|
||||
m_gifDecoder->GoNextFrame(true);
|
||||
// advance current frame
|
||||
m_nCurrFrame++;
|
||||
if (m_nCurrFrame == m_gifDecoder->GetFrameCount())
|
||||
m_nCurrFrame = 0;
|
||||
|
||||
if ( m_physX == wxDefaultCoord )
|
||||
{
|
||||
@@ -499,17 +504,16 @@ void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
|
||||
wxRect rect(pos, wxSize(m_Width, m_Height));
|
||||
|
||||
if ( win->GetClientRect().Intersects(rect) &&
|
||||
m_gifDecoder->ConvertToImage(&img) )
|
||||
m_gifDecoder->ConvertToImage(m_nCurrFrame, &img) )
|
||||
{
|
||||
#if !defined(__WXMSW__) || wxUSE_WXDIB
|
||||
if ( (int)m_gifDecoder->GetWidth() != m_Width ||
|
||||
(int)m_gifDecoder->GetHeight() != m_Height ||
|
||||
m_gifDecoder->GetLeft() != 0 || m_gifDecoder->GetTop() != 0 )
|
||||
if ( m_gifDecoder->GetFrameSize(m_nCurrFrame) != wxSize(m_Width, m_Height) ||
|
||||
m_gifDecoder->GetFramePosition(m_nCurrFrame) != wxPoint(0, 0) )
|
||||
{
|
||||
wxBitmap bmp(img);
|
||||
wxMemoryDC dc;
|
||||
dc.SelectObject(*m_bitmap);
|
||||
dc.DrawBitmap(bmp, m_gifDecoder->GetLeft(), m_gifDecoder->GetTop(),
|
||||
dc.DrawBitmap(bmp, m_gifDecoder->GetFramePosition(m_nCurrFrame),
|
||||
true /* use mask */);
|
||||
}
|
||||
else
|
||||
@@ -518,7 +522,7 @@ void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
|
||||
win->Refresh(img.HasMask(), &rect);
|
||||
}
|
||||
|
||||
timer->Start(m_gifDecoder->GetDelay(), true);
|
||||
timer->Start(m_gifDecoder->GetDelay(m_nCurrFrame), true);
|
||||
}
|
||||
|
||||
void wxHtmlImageCell::Layout(int w)
|
||||
|
@@ -301,6 +301,14 @@ SOURCE=.\common\accesscmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\common\anidecod.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\common\animatecmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\common\appbase.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -971,6 +979,10 @@ SOURCE=.\generic\aboutdlgg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\generic\animateg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\generic\bmpcboxg.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -2159,6 +2171,14 @@ SOURCE=..\include\wx\afterstd.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\wx\anidecod.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\wx\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\wx\app.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -4103,6 +4123,10 @@ SOURCE=..\include\wx\generic\accel.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\wx\generic\animate.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\include\wx\generic\bmpcbox.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
Reference in New Issue
Block a user