implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
719
Makefile.in
719
Makefile.in
File diff suppressed because it is too large
Load Diff
@@ -54,9 +54,14 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
<!-- UNIX -->
|
<!-- UNIX -->
|
||||||
<!-- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
|
<!-- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -->
|
||||||
<set var="BASE_UNIX_SRC" hints="files">
|
<set var="BASE_UNIX_SRC" hints="files">
|
||||||
|
src/common/fdiodispatcher.cpp
|
||||||
|
src/common/selectdispatcher.cpp
|
||||||
|
src/unix/appunix.cpp
|
||||||
src/unix/baseunix.cpp
|
src/unix/baseunix.cpp
|
||||||
src/unix/dir.cpp
|
src/unix/dir.cpp
|
||||||
src/unix/dlunix.cpp
|
src/unix/dlunix.cpp
|
||||||
|
src/unix/epolldispatcher.cpp
|
||||||
|
src/unix/evtloopunix.cpp
|
||||||
src/unix/mimetype.cpp
|
src/unix/mimetype.cpp
|
||||||
src/unix/snglinst.cpp
|
src/unix/snglinst.cpp
|
||||||
src/unix/stackwalk.cpp
|
src/unix/stackwalk.cpp
|
||||||
@@ -68,9 +73,11 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/unix/utilsunx.cpp
|
src/unix/utilsunx.cpp
|
||||||
</set>
|
</set>
|
||||||
<set var="BASE_UNIX_HDR" hints="files">
|
<set var="BASE_UNIX_HDR" hints="files">
|
||||||
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/execute.h
|
wx/unix/execute.h
|
||||||
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
wx/unix/mimetype.h
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
wx/unix/private.h
|
||||||
@@ -101,6 +108,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/msw/utilsexc.cpp
|
src/msw/utilsexc.cpp
|
||||||
</set>
|
</set>
|
||||||
<set var="BASE_AND_GUI_WIN32_SRC" hints="files">
|
<set var="BASE_AND_GUI_WIN32_SRC" hints="files">
|
||||||
|
src/msw/evtloopmsw.cpp
|
||||||
src/msw/main.cpp
|
src/msw/main.cpp
|
||||||
src/msw/mslu.cpp
|
src/msw/mslu.cpp
|
||||||
src/msw/volume.cpp
|
src/msw/volume.cpp
|
||||||
@@ -199,7 +207,11 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
<!-- Base files used only by OS X builds (not CarbonLib or Classic) -->
|
<!-- Base files used only by OS X builds (not CarbonLib or Classic) -->
|
||||||
<set var="BASE_MACOSX_WXMAC_SRC" hints="files">
|
<set var="BASE_MACOSX_WXMAC_SRC" hints="files">
|
||||||
$(BASE_MAC_SRC)
|
$(BASE_MAC_SRC)
|
||||||
|
src/common/fdiodispatcher.cpp
|
||||||
|
src/common/selectdispatcher.cpp
|
||||||
|
src/unix/appunix.cpp
|
||||||
src/unix/baseunix.cpp
|
src/unix/baseunix.cpp
|
||||||
|
src/unix/evtloopunix.cpp
|
||||||
src/unix/dlunix.cpp
|
src/unix/dlunix.cpp
|
||||||
src/unix/snglinst.cpp
|
src/unix/snglinst.cpp
|
||||||
src/unix/stdpaths.cpp
|
src/unix/stdpaths.cpp
|
||||||
@@ -207,8 +219,10 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
</set>
|
</set>
|
||||||
<set var="BASE_MACOSX_WXMAC_HDR" hints="files">
|
<set var="BASE_MACOSX_WXMAC_HDR" hints="files">
|
||||||
$(BASE_MAC_HDR)
|
$(BASE_MAC_HDR)
|
||||||
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
|
wx/unix/evtloop.h
|
||||||
wx/unix/stdpaths.h
|
wx/unix/stdpaths.h
|
||||||
</set>
|
</set>
|
||||||
|
|
||||||
@@ -308,6 +322,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/common/dynlib.cpp
|
src/common/dynlib.cpp
|
||||||
src/common/dynload.cpp
|
src/common/dynload.cpp
|
||||||
src/common/encconv.cpp
|
src/common/encconv.cpp
|
||||||
|
src/common/evtloopcmn.cpp
|
||||||
src/common/extended.c
|
src/common/extended.c
|
||||||
src/common/ffile.cpp
|
src/common/ffile.cpp
|
||||||
src/common/file.cpp
|
src/common/file.cpp
|
||||||
@@ -613,7 +628,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/common/dpycmn.cpp
|
src/common/dpycmn.cpp
|
||||||
src/common/dseldlg.cpp
|
src/common/dseldlg.cpp
|
||||||
src/common/effects.cpp
|
src/common/effects.cpp
|
||||||
src/common/evtloopcmn.cpp
|
|
||||||
src/common/fddlgcmn.cpp
|
src/common/fddlgcmn.cpp
|
||||||
src/common/filepickercmn.cpp
|
src/common/filepickercmn.cpp
|
||||||
src/common/fontpickercmn.cpp
|
src/common/fontpickercmn.cpp
|
||||||
@@ -1417,7 +1431,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
<set var="X11_LOWLEVEL_SRC" hints="files">
|
<set var="X11_LOWLEVEL_SRC" hints="files">
|
||||||
$(XWIN_LOWLEVEL_SRC)
|
$(XWIN_LOWLEVEL_SRC)
|
||||||
src/common/gsocketiohandler.cpp
|
src/common/gsocketiohandler.cpp
|
||||||
src/common/selectdispatcher.cpp
|
|
||||||
src/generic/icon.cpp
|
src/generic/icon.cpp
|
||||||
src/generic/timer.cpp
|
src/generic/timer.cpp
|
||||||
src/x11/app.cpp
|
src/x11/app.cpp
|
||||||
@@ -1505,7 +1518,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/msw/dib.cpp
|
src/msw/dib.cpp
|
||||||
src/msw/display.cpp
|
src/msw/display.cpp
|
||||||
src/msw/enhmeta.cpp
|
src/msw/enhmeta.cpp
|
||||||
src/msw/evtloop.cpp
|
|
||||||
src/msw/font.cpp
|
src/msw/font.cpp
|
||||||
src/msw/fontenum.cpp
|
src/msw/fontenum.cpp
|
||||||
src/msw/fontutil.cpp
|
src/msw/fontutil.cpp
|
||||||
@@ -1835,7 +1847,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
<set var="DFB_LOWLEVEL_SRC" hints="files">
|
<set var="DFB_LOWLEVEL_SRC" hints="files">
|
||||||
src/common/fontmgrcmn.cpp
|
src/common/fontmgrcmn.cpp
|
||||||
src/common/gsocketiohandler.cpp
|
src/common/gsocketiohandler.cpp
|
||||||
src/common/selectdispatcher.cpp
|
|
||||||
src/generic/caret.cpp
|
src/generic/caret.cpp
|
||||||
src/generic/colour.cpp
|
src/generic/colour.cpp
|
||||||
src/generic/icon.cpp
|
src/generic/icon.cpp
|
||||||
|
@@ -309,6 +309,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dynlib.obj \
|
$(OBJS)\monodll_dynlib.obj \
|
||||||
$(OBJS)\monodll_dynload.obj \
|
$(OBJS)\monodll_dynload.obj \
|
||||||
$(OBJS)\monodll_encconv.obj \
|
$(OBJS)\monodll_encconv.obj \
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj \
|
||||||
$(OBJS)\monodll_extended.obj \
|
$(OBJS)\monodll_extended.obj \
|
||||||
$(OBJS)\monodll_ffile.obj \
|
$(OBJS)\monodll_ffile.obj \
|
||||||
$(OBJS)\monodll_file.obj \
|
$(OBJS)\monodll_file.obj \
|
||||||
@@ -387,6 +388,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_fs_mem.obj \
|
$(OBJS)\monodll_fs_mem.obj \
|
||||||
$(OBJS)\monodll_msgout.obj \
|
$(OBJS)\monodll_msgout.obj \
|
||||||
$(OBJS)\monodll_utilscmn.obj \
|
$(OBJS)\monodll_utilscmn.obj \
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj \
|
||||||
$(OBJS)\monodll_main.obj \
|
$(OBJS)\monodll_main.obj \
|
||||||
$(OBJS)\monodll_mslu.obj \
|
$(OBJS)\monodll_mslu.obj \
|
||||||
$(OBJS)\monodll_volume.obj \
|
$(OBJS)\monodll_volume.obj \
|
||||||
@@ -441,6 +443,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dynlib.obj \
|
$(OBJS)\monolib_dynlib.obj \
|
||||||
$(OBJS)\monolib_dynload.obj \
|
$(OBJS)\monolib_dynload.obj \
|
||||||
$(OBJS)\monolib_encconv.obj \
|
$(OBJS)\monolib_encconv.obj \
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj \
|
||||||
$(OBJS)\monolib_extended.obj \
|
$(OBJS)\monolib_extended.obj \
|
||||||
$(OBJS)\monolib_ffile.obj \
|
$(OBJS)\monolib_ffile.obj \
|
||||||
$(OBJS)\monolib_file.obj \
|
$(OBJS)\monolib_file.obj \
|
||||||
@@ -519,6 +522,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_fs_mem.obj \
|
$(OBJS)\monolib_fs_mem.obj \
|
||||||
$(OBJS)\monolib_msgout.obj \
|
$(OBJS)\monolib_msgout.obj \
|
||||||
$(OBJS)\monolib_utilscmn.obj \
|
$(OBJS)\monolib_utilscmn.obj \
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj \
|
||||||
$(OBJS)\monolib_main.obj \
|
$(OBJS)\monolib_main.obj \
|
||||||
$(OBJS)\monolib_mslu.obj \
|
$(OBJS)\monolib_mslu.obj \
|
||||||
$(OBJS)\monolib_volume.obj \
|
$(OBJS)\monolib_volume.obj \
|
||||||
@@ -571,6 +575,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_dynlib.obj \
|
$(OBJS)\basedll_dynlib.obj \
|
||||||
$(OBJS)\basedll_dynload.obj \
|
$(OBJS)\basedll_dynload.obj \
|
||||||
$(OBJS)\basedll_encconv.obj \
|
$(OBJS)\basedll_encconv.obj \
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj \
|
||||||
$(OBJS)\basedll_extended.obj \
|
$(OBJS)\basedll_extended.obj \
|
||||||
$(OBJS)\basedll_ffile.obj \
|
$(OBJS)\basedll_ffile.obj \
|
||||||
$(OBJS)\basedll_file.obj \
|
$(OBJS)\basedll_file.obj \
|
||||||
@@ -649,6 +654,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_fs_mem.obj \
|
$(OBJS)\basedll_fs_mem.obj \
|
||||||
$(OBJS)\basedll_msgout.obj \
|
$(OBJS)\basedll_msgout.obj \
|
||||||
$(OBJS)\basedll_utilscmn.obj \
|
$(OBJS)\basedll_utilscmn.obj \
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj \
|
||||||
$(OBJS)\basedll_main.obj \
|
$(OBJS)\basedll_main.obj \
|
||||||
$(OBJS)\basedll_mslu.obj \
|
$(OBJS)\basedll_mslu.obj \
|
||||||
$(OBJS)\basedll_volume.obj
|
$(OBJS)\basedll_volume.obj
|
||||||
@@ -685,6 +691,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_dynlib.obj \
|
$(OBJS)\baselib_dynlib.obj \
|
||||||
$(OBJS)\baselib_dynload.obj \
|
$(OBJS)\baselib_dynload.obj \
|
||||||
$(OBJS)\baselib_encconv.obj \
|
$(OBJS)\baselib_encconv.obj \
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj \
|
||||||
$(OBJS)\baselib_extended.obj \
|
$(OBJS)\baselib_extended.obj \
|
||||||
$(OBJS)\baselib_ffile.obj \
|
$(OBJS)\baselib_ffile.obj \
|
||||||
$(OBJS)\baselib_file.obj \
|
$(OBJS)\baselib_file.obj \
|
||||||
@@ -763,6 +770,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_fs_mem.obj \
|
$(OBJS)\baselib_fs_mem.obj \
|
||||||
$(OBJS)\baselib_msgout.obj \
|
$(OBJS)\baselib_msgout.obj \
|
||||||
$(OBJS)\baselib_utilscmn.obj \
|
$(OBJS)\baselib_utilscmn.obj \
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj \
|
||||||
$(OBJS)\baselib_main.obj \
|
$(OBJS)\baselib_main.obj \
|
||||||
$(OBJS)\baselib_mslu.obj \
|
$(OBJS)\baselib_mslu.obj \
|
||||||
$(OBJS)\baselib_volume.obj
|
$(OBJS)\baselib_volume.obj
|
||||||
@@ -824,6 +832,7 @@ COREDLL_OBJECTS = \
|
|||||||
$(OBJS)\coredll_fs_mem.obj \
|
$(OBJS)\coredll_fs_mem.obj \
|
||||||
$(OBJS)\coredll_msgout.obj \
|
$(OBJS)\coredll_msgout.obj \
|
||||||
$(OBJS)\coredll_utilscmn.obj \
|
$(OBJS)\coredll_utilscmn.obj \
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj \
|
||||||
$(OBJS)\coredll_main.obj \
|
$(OBJS)\coredll_main.obj \
|
||||||
$(OBJS)\coredll_mslu.obj \
|
$(OBJS)\coredll_mslu.obj \
|
||||||
$(OBJS)\coredll_volume.obj \
|
$(OBJS)\coredll_volume.obj \
|
||||||
@@ -842,6 +851,7 @@ CORELIB_OBJECTS = \
|
|||||||
$(OBJS)\corelib_fs_mem.obj \
|
$(OBJS)\corelib_fs_mem.obj \
|
||||||
$(OBJS)\corelib_msgout.obj \
|
$(OBJS)\corelib_msgout.obj \
|
||||||
$(OBJS)\corelib_utilscmn.obj \
|
$(OBJS)\corelib_utilscmn.obj \
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj \
|
||||||
$(OBJS)\corelib_main.obj \
|
$(OBJS)\corelib_main.obj \
|
||||||
$(OBJS)\corelib_mslu.obj \
|
$(OBJS)\corelib_mslu.obj \
|
||||||
$(OBJS)\corelib_volume.obj \
|
$(OBJS)\corelib_volume.obj \
|
||||||
@@ -1497,7 +1507,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.obj \
|
$(OBJS)\monodll_dib.obj \
|
||||||
$(OBJS)\monodll_display.obj \
|
$(OBJS)\monodll_display.obj \
|
||||||
$(OBJS)\monodll_enhmeta.obj \
|
$(OBJS)\monodll_enhmeta.obj \
|
||||||
$(OBJS)\monodll_evtloop.obj \
|
|
||||||
$(OBJS)\monodll_font.obj \
|
$(OBJS)\monodll_font.obj \
|
||||||
$(OBJS)\monodll_fontenum.obj \
|
$(OBJS)\monodll_fontenum.obj \
|
||||||
$(OBJS)\monodll_fontutil.obj \
|
$(OBJS)\monodll_fontutil.obj \
|
||||||
@@ -1611,7 +1620,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.obj \
|
$(OBJS)\monodll_dpycmn.obj \
|
||||||
$(OBJS)\monodll_dseldlg.obj \
|
$(OBJS)\monodll_dseldlg.obj \
|
||||||
$(OBJS)\monodll_effects.obj \
|
$(OBJS)\monodll_effects.obj \
|
||||||
$(OBJS)\monodll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj \
|
$(OBJS)\monodll_fddlgcmn.obj \
|
||||||
$(OBJS)\monodll_filepickercmn.obj \
|
$(OBJS)\monodll_filepickercmn.obj \
|
||||||
$(OBJS)\monodll_fontpickercmn.obj \
|
$(OBJS)\monodll_fontpickercmn.obj \
|
||||||
@@ -1723,7 +1731,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.obj \
|
$(OBJS)\monodll_dib.obj \
|
||||||
$(OBJS)\monodll_display.obj \
|
$(OBJS)\monodll_display.obj \
|
||||||
$(OBJS)\monodll_enhmeta.obj \
|
$(OBJS)\monodll_enhmeta.obj \
|
||||||
$(OBJS)\monodll_evtloop.obj \
|
|
||||||
$(OBJS)\monodll_font.obj \
|
$(OBJS)\monodll_font.obj \
|
||||||
$(OBJS)\monodll_fontenum.obj \
|
$(OBJS)\monodll_fontenum.obj \
|
||||||
$(OBJS)\monodll_fontutil.obj \
|
$(OBJS)\monodll_fontutil.obj \
|
||||||
@@ -1840,7 +1847,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.obj \
|
$(OBJS)\monodll_dpycmn.obj \
|
||||||
$(OBJS)\monodll_dseldlg.obj \
|
$(OBJS)\monodll_dseldlg.obj \
|
||||||
$(OBJS)\monodll_effects.obj \
|
$(OBJS)\monodll_effects.obj \
|
||||||
$(OBJS)\monodll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj \
|
$(OBJS)\monodll_fddlgcmn.obj \
|
||||||
$(OBJS)\monodll_filepickercmn.obj \
|
$(OBJS)\monodll_filepickercmn.obj \
|
||||||
$(OBJS)\monodll_fontpickercmn.obj \
|
$(OBJS)\monodll_fontpickercmn.obj \
|
||||||
@@ -2131,7 +2137,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.obj \
|
$(OBJS)\monolib_dib.obj \
|
||||||
$(OBJS)\monolib_display.obj \
|
$(OBJS)\monolib_display.obj \
|
||||||
$(OBJS)\monolib_enhmeta.obj \
|
$(OBJS)\monolib_enhmeta.obj \
|
||||||
$(OBJS)\monolib_evtloop.obj \
|
|
||||||
$(OBJS)\monolib_font.obj \
|
$(OBJS)\monolib_font.obj \
|
||||||
$(OBJS)\monolib_fontenum.obj \
|
$(OBJS)\monolib_fontenum.obj \
|
||||||
$(OBJS)\monolib_fontutil.obj \
|
$(OBJS)\monolib_fontutil.obj \
|
||||||
@@ -2245,7 +2250,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.obj \
|
$(OBJS)\monolib_dpycmn.obj \
|
||||||
$(OBJS)\monolib_dseldlg.obj \
|
$(OBJS)\monolib_dseldlg.obj \
|
||||||
$(OBJS)\monolib_effects.obj \
|
$(OBJS)\monolib_effects.obj \
|
||||||
$(OBJS)\monolib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj \
|
$(OBJS)\monolib_fddlgcmn.obj \
|
||||||
$(OBJS)\monolib_filepickercmn.obj \
|
$(OBJS)\monolib_filepickercmn.obj \
|
||||||
$(OBJS)\monolib_fontpickercmn.obj \
|
$(OBJS)\monolib_fontpickercmn.obj \
|
||||||
@@ -2357,7 +2361,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.obj \
|
$(OBJS)\monolib_dib.obj \
|
||||||
$(OBJS)\monolib_display.obj \
|
$(OBJS)\monolib_display.obj \
|
||||||
$(OBJS)\monolib_enhmeta.obj \
|
$(OBJS)\monolib_enhmeta.obj \
|
||||||
$(OBJS)\monolib_evtloop.obj \
|
|
||||||
$(OBJS)\monolib_font.obj \
|
$(OBJS)\monolib_font.obj \
|
||||||
$(OBJS)\monolib_fontenum.obj \
|
$(OBJS)\monolib_fontenum.obj \
|
||||||
$(OBJS)\monolib_fontutil.obj \
|
$(OBJS)\monolib_fontutil.obj \
|
||||||
@@ -2474,7 +2477,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.obj \
|
$(OBJS)\monolib_dpycmn.obj \
|
||||||
$(OBJS)\monolib_dseldlg.obj \
|
$(OBJS)\monolib_dseldlg.obj \
|
||||||
$(OBJS)\monolib_effects.obj \
|
$(OBJS)\monolib_effects.obj \
|
||||||
$(OBJS)\monolib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj \
|
$(OBJS)\monolib_fddlgcmn.obj \
|
||||||
$(OBJS)\monolib_filepickercmn.obj \
|
$(OBJS)\monolib_filepickercmn.obj \
|
||||||
$(OBJS)\monolib_fontpickercmn.obj \
|
$(OBJS)\monolib_fontpickercmn.obj \
|
||||||
@@ -2679,7 +2681,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.obj \
|
$(OBJS)\coredll_dib.obj \
|
||||||
$(OBJS)\coredll_display.obj \
|
$(OBJS)\coredll_display.obj \
|
||||||
$(OBJS)\coredll_enhmeta.obj \
|
$(OBJS)\coredll_enhmeta.obj \
|
||||||
$(OBJS)\coredll_evtloop.obj \
|
|
||||||
$(OBJS)\coredll_font.obj \
|
$(OBJS)\coredll_font.obj \
|
||||||
$(OBJS)\coredll_fontenum.obj \
|
$(OBJS)\coredll_fontenum.obj \
|
||||||
$(OBJS)\coredll_fontutil.obj \
|
$(OBJS)\coredll_fontutil.obj \
|
||||||
@@ -2793,7 +2794,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.obj \
|
$(OBJS)\coredll_dpycmn.obj \
|
||||||
$(OBJS)\coredll_dseldlg.obj \
|
$(OBJS)\coredll_dseldlg.obj \
|
||||||
$(OBJS)\coredll_effects.obj \
|
$(OBJS)\coredll_effects.obj \
|
||||||
$(OBJS)\coredll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj \
|
$(OBJS)\coredll_fddlgcmn.obj \
|
||||||
$(OBJS)\coredll_filepickercmn.obj \
|
$(OBJS)\coredll_filepickercmn.obj \
|
||||||
$(OBJS)\coredll_fontpickercmn.obj \
|
$(OBJS)\coredll_fontpickercmn.obj \
|
||||||
@@ -2905,7 +2905,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.obj \
|
$(OBJS)\coredll_dib.obj \
|
||||||
$(OBJS)\coredll_display.obj \
|
$(OBJS)\coredll_display.obj \
|
||||||
$(OBJS)\coredll_enhmeta.obj \
|
$(OBJS)\coredll_enhmeta.obj \
|
||||||
$(OBJS)\coredll_evtloop.obj \
|
|
||||||
$(OBJS)\coredll_font.obj \
|
$(OBJS)\coredll_font.obj \
|
||||||
$(OBJS)\coredll_fontenum.obj \
|
$(OBJS)\coredll_fontenum.obj \
|
||||||
$(OBJS)\coredll_fontutil.obj \
|
$(OBJS)\coredll_fontutil.obj \
|
||||||
@@ -3022,7 +3021,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.obj \
|
$(OBJS)\coredll_dpycmn.obj \
|
||||||
$(OBJS)\coredll_dseldlg.obj \
|
$(OBJS)\coredll_dseldlg.obj \
|
||||||
$(OBJS)\coredll_effects.obj \
|
$(OBJS)\coredll_effects.obj \
|
||||||
$(OBJS)\coredll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj \
|
$(OBJS)\coredll_fddlgcmn.obj \
|
||||||
$(OBJS)\coredll_filepickercmn.obj \
|
$(OBJS)\coredll_filepickercmn.obj \
|
||||||
$(OBJS)\coredll_fontpickercmn.obj \
|
$(OBJS)\coredll_fontpickercmn.obj \
|
||||||
@@ -3138,7 +3136,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.obj \
|
$(OBJS)\corelib_dib.obj \
|
||||||
$(OBJS)\corelib_display.obj \
|
$(OBJS)\corelib_display.obj \
|
||||||
$(OBJS)\corelib_enhmeta.obj \
|
$(OBJS)\corelib_enhmeta.obj \
|
||||||
$(OBJS)\corelib_evtloop.obj \
|
|
||||||
$(OBJS)\corelib_font.obj \
|
$(OBJS)\corelib_font.obj \
|
||||||
$(OBJS)\corelib_fontenum.obj \
|
$(OBJS)\corelib_fontenum.obj \
|
||||||
$(OBJS)\corelib_fontutil.obj \
|
$(OBJS)\corelib_fontutil.obj \
|
||||||
@@ -3252,7 +3249,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.obj \
|
$(OBJS)\corelib_dpycmn.obj \
|
||||||
$(OBJS)\corelib_dseldlg.obj \
|
$(OBJS)\corelib_dseldlg.obj \
|
||||||
$(OBJS)\corelib_effects.obj \
|
$(OBJS)\corelib_effects.obj \
|
||||||
$(OBJS)\corelib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj \
|
$(OBJS)\corelib_fddlgcmn.obj \
|
||||||
$(OBJS)\corelib_filepickercmn.obj \
|
$(OBJS)\corelib_filepickercmn.obj \
|
||||||
$(OBJS)\corelib_fontpickercmn.obj \
|
$(OBJS)\corelib_fontpickercmn.obj \
|
||||||
@@ -3364,7 +3360,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.obj \
|
$(OBJS)\corelib_dib.obj \
|
||||||
$(OBJS)\corelib_display.obj \
|
$(OBJS)\corelib_display.obj \
|
||||||
$(OBJS)\corelib_enhmeta.obj \
|
$(OBJS)\corelib_enhmeta.obj \
|
||||||
$(OBJS)\corelib_evtloop.obj \
|
|
||||||
$(OBJS)\corelib_font.obj \
|
$(OBJS)\corelib_font.obj \
|
||||||
$(OBJS)\corelib_fontenum.obj \
|
$(OBJS)\corelib_fontenum.obj \
|
||||||
$(OBJS)\corelib_fontutil.obj \
|
$(OBJS)\corelib_fontutil.obj \
|
||||||
@@ -3481,7 +3476,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.obj \
|
$(OBJS)\corelib_dpycmn.obj \
|
||||||
$(OBJS)\corelib_dseldlg.obj \
|
$(OBJS)\corelib_dseldlg.obj \
|
||||||
$(OBJS)\corelib_effects.obj \
|
$(OBJS)\corelib_effects.obj \
|
||||||
$(OBJS)\corelib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj \
|
$(OBJS)\corelib_fddlgcmn.obj \
|
||||||
$(OBJS)\corelib_filepickercmn.obj \
|
$(OBJS)\corelib_filepickercmn.obj \
|
||||||
$(OBJS)\corelib_fontpickercmn.obj \
|
$(OBJS)\corelib_fontpickercmn.obj \
|
||||||
@@ -5226,6 +5220,9 @@ $(OBJS)\monodll_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) -q -c -P- -o$@ $(MONODLL_CFLAGS) $**
|
$(CC) -q -c -P- -o$@ $(MONODLL_CFLAGS) $**
|
||||||
|
|
||||||
@@ -5460,6 +5457,9 @@ $(OBJS)\monodll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -6058,11 +6058,6 @@ $(OBJS)\monodll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monodll_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -6643,11 +6638,6 @@ $(OBJS)\monodll_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -7292,6 +7282,9 @@ $(OBJS)\monolib_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) -q -c -P- -o$@ $(MONOLIB_CFLAGS) $**
|
$(CC) -q -c -P- -o$@ $(MONOLIB_CFLAGS) $**
|
||||||
|
|
||||||
@@ -7526,6 +7519,9 @@ $(OBJS)\monolib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -8124,11 +8120,6 @@ $(OBJS)\monolib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monolib_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -8709,11 +8700,6 @@ $(OBJS)\monolib_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -9358,6 +9344,9 @@ $(OBJS)\basedll_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) -q -c -P- -o$@ $(BASEDLL_CFLAGS) $**
|
$(CC) -q -c -P- -o$@ $(BASEDLL_CFLAGS) $**
|
||||||
|
|
||||||
@@ -9592,6 +9581,9 @@ $(OBJS)\basedll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -9652,6 +9644,9 @@ $(OBJS)\baselib_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) -q -c -P- -o$@ $(BASELIB_CFLAGS) $**
|
$(CC) -q -c -P- -o$@ $(BASELIB_CFLAGS) $**
|
||||||
|
|
||||||
@@ -9886,6 +9881,9 @@ $(OBJS)\baselib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -9994,6 +9992,9 @@ $(OBJS)\coredll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -10229,11 +10230,6 @@ $(OBJS)\coredll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\coredll_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -10814,11 +10810,6 @@ $(OBJS)\coredll_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\coredll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -11289,6 +11280,9 @@ $(OBJS)\corelib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -11524,11 +11518,6 @@ $(OBJS)\corelib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\corelib_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
@@ -12109,11 +12098,6 @@ $(OBJS)\corelib_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\corelib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
@@ -293,6 +293,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dynlib.o \
|
$(OBJS)\monodll_dynlib.o \
|
||||||
$(OBJS)\monodll_dynload.o \
|
$(OBJS)\monodll_dynload.o \
|
||||||
$(OBJS)\monodll_encconv.o \
|
$(OBJS)\monodll_encconv.o \
|
||||||
|
$(OBJS)\monodll_evtloopcmn.o \
|
||||||
$(OBJS)\monodll_extended.o \
|
$(OBJS)\monodll_extended.o \
|
||||||
$(OBJS)\monodll_ffile.o \
|
$(OBJS)\monodll_ffile.o \
|
||||||
$(OBJS)\monodll_file.o \
|
$(OBJS)\monodll_file.o \
|
||||||
@@ -371,6 +372,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_fs_mem.o \
|
$(OBJS)\monodll_fs_mem.o \
|
||||||
$(OBJS)\monodll_msgout.o \
|
$(OBJS)\monodll_msgout.o \
|
||||||
$(OBJS)\monodll_utilscmn.o \
|
$(OBJS)\monodll_utilscmn.o \
|
||||||
|
$(OBJS)\monodll_evtloopmsw.o \
|
||||||
$(OBJS)\monodll_main.o \
|
$(OBJS)\monodll_main.o \
|
||||||
$(OBJS)\monodll_mslu.o \
|
$(OBJS)\monodll_mslu.o \
|
||||||
$(OBJS)\monodll_volume.o \
|
$(OBJS)\monodll_volume.o \
|
||||||
@@ -427,6 +429,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dynlib.o \
|
$(OBJS)\monolib_dynlib.o \
|
||||||
$(OBJS)\monolib_dynload.o \
|
$(OBJS)\monolib_dynload.o \
|
||||||
$(OBJS)\monolib_encconv.o \
|
$(OBJS)\monolib_encconv.o \
|
||||||
|
$(OBJS)\monolib_evtloopcmn.o \
|
||||||
$(OBJS)\monolib_extended.o \
|
$(OBJS)\monolib_extended.o \
|
||||||
$(OBJS)\monolib_ffile.o \
|
$(OBJS)\monolib_ffile.o \
|
||||||
$(OBJS)\monolib_file.o \
|
$(OBJS)\monolib_file.o \
|
||||||
@@ -505,6 +508,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_fs_mem.o \
|
$(OBJS)\monolib_fs_mem.o \
|
||||||
$(OBJS)\monolib_msgout.o \
|
$(OBJS)\monolib_msgout.o \
|
||||||
$(OBJS)\monolib_utilscmn.o \
|
$(OBJS)\monolib_utilscmn.o \
|
||||||
|
$(OBJS)\monolib_evtloopmsw.o \
|
||||||
$(OBJS)\monolib_main.o \
|
$(OBJS)\monolib_main.o \
|
||||||
$(OBJS)\monolib_mslu.o \
|
$(OBJS)\monolib_mslu.o \
|
||||||
$(OBJS)\monolib_volume.o \
|
$(OBJS)\monolib_volume.o \
|
||||||
@@ -558,6 +562,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_dynlib.o \
|
$(OBJS)\basedll_dynlib.o \
|
||||||
$(OBJS)\basedll_dynload.o \
|
$(OBJS)\basedll_dynload.o \
|
||||||
$(OBJS)\basedll_encconv.o \
|
$(OBJS)\basedll_encconv.o \
|
||||||
|
$(OBJS)\basedll_evtloopcmn.o \
|
||||||
$(OBJS)\basedll_extended.o \
|
$(OBJS)\basedll_extended.o \
|
||||||
$(OBJS)\basedll_ffile.o \
|
$(OBJS)\basedll_ffile.o \
|
||||||
$(OBJS)\basedll_file.o \
|
$(OBJS)\basedll_file.o \
|
||||||
@@ -636,6 +641,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_fs_mem.o \
|
$(OBJS)\basedll_fs_mem.o \
|
||||||
$(OBJS)\basedll_msgout.o \
|
$(OBJS)\basedll_msgout.o \
|
||||||
$(OBJS)\basedll_utilscmn.o \
|
$(OBJS)\basedll_utilscmn.o \
|
||||||
|
$(OBJS)\basedll_evtloopmsw.o \
|
||||||
$(OBJS)\basedll_main.o \
|
$(OBJS)\basedll_main.o \
|
||||||
$(OBJS)\basedll_mslu.o \
|
$(OBJS)\basedll_mslu.o \
|
||||||
$(OBJS)\basedll_volume.o
|
$(OBJS)\basedll_volume.o
|
||||||
@@ -672,6 +678,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_dynlib.o \
|
$(OBJS)\baselib_dynlib.o \
|
||||||
$(OBJS)\baselib_dynload.o \
|
$(OBJS)\baselib_dynload.o \
|
||||||
$(OBJS)\baselib_encconv.o \
|
$(OBJS)\baselib_encconv.o \
|
||||||
|
$(OBJS)\baselib_evtloopcmn.o \
|
||||||
$(OBJS)\baselib_extended.o \
|
$(OBJS)\baselib_extended.o \
|
||||||
$(OBJS)\baselib_ffile.o \
|
$(OBJS)\baselib_ffile.o \
|
||||||
$(OBJS)\baselib_file.o \
|
$(OBJS)\baselib_file.o \
|
||||||
@@ -750,6 +757,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_fs_mem.o \
|
$(OBJS)\baselib_fs_mem.o \
|
||||||
$(OBJS)\baselib_msgout.o \
|
$(OBJS)\baselib_msgout.o \
|
||||||
$(OBJS)\baselib_utilscmn.o \
|
$(OBJS)\baselib_utilscmn.o \
|
||||||
|
$(OBJS)\baselib_evtloopmsw.o \
|
||||||
$(OBJS)\baselib_main.o \
|
$(OBJS)\baselib_main.o \
|
||||||
$(OBJS)\baselib_mslu.o \
|
$(OBJS)\baselib_mslu.o \
|
||||||
$(OBJS)\baselib_volume.o
|
$(OBJS)\baselib_volume.o
|
||||||
@@ -814,6 +822,7 @@ COREDLL_OBJECTS = \
|
|||||||
$(OBJS)\coredll_fs_mem.o \
|
$(OBJS)\coredll_fs_mem.o \
|
||||||
$(OBJS)\coredll_msgout.o \
|
$(OBJS)\coredll_msgout.o \
|
||||||
$(OBJS)\coredll_utilscmn.o \
|
$(OBJS)\coredll_utilscmn.o \
|
||||||
|
$(OBJS)\coredll_evtloopmsw.o \
|
||||||
$(OBJS)\coredll_main.o \
|
$(OBJS)\coredll_main.o \
|
||||||
$(OBJS)\coredll_mslu.o \
|
$(OBJS)\coredll_mslu.o \
|
||||||
$(OBJS)\coredll_volume.o \
|
$(OBJS)\coredll_volume.o \
|
||||||
@@ -832,6 +841,7 @@ CORELIB_OBJECTS = \
|
|||||||
$(OBJS)\corelib_fs_mem.o \
|
$(OBJS)\corelib_fs_mem.o \
|
||||||
$(OBJS)\corelib_msgout.o \
|
$(OBJS)\corelib_msgout.o \
|
||||||
$(OBJS)\corelib_utilscmn.o \
|
$(OBJS)\corelib_utilscmn.o \
|
||||||
|
$(OBJS)\corelib_evtloopmsw.o \
|
||||||
$(OBJS)\corelib_main.o \
|
$(OBJS)\corelib_main.o \
|
||||||
$(OBJS)\corelib_mslu.o \
|
$(OBJS)\corelib_mslu.o \
|
||||||
$(OBJS)\corelib_volume.o \
|
$(OBJS)\corelib_volume.o \
|
||||||
@@ -1507,7 +1517,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.o \
|
$(OBJS)\monodll_dib.o \
|
||||||
$(OBJS)\monodll_display.o \
|
$(OBJS)\monodll_display.o \
|
||||||
$(OBJS)\monodll_enhmeta.o \
|
$(OBJS)\monodll_enhmeta.o \
|
||||||
$(OBJS)\monodll_evtloop.o \
|
|
||||||
$(OBJS)\monodll_font.o \
|
$(OBJS)\monodll_font.o \
|
||||||
$(OBJS)\monodll_fontenum.o \
|
$(OBJS)\monodll_fontenum.o \
|
||||||
$(OBJS)\monodll_fontutil.o \
|
$(OBJS)\monodll_fontutil.o \
|
||||||
@@ -1621,7 +1630,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.o \
|
$(OBJS)\monodll_dpycmn.o \
|
||||||
$(OBJS)\monodll_dseldlg.o \
|
$(OBJS)\monodll_dseldlg.o \
|
||||||
$(OBJS)\monodll_effects.o \
|
$(OBJS)\monodll_effects.o \
|
||||||
$(OBJS)\monodll_evtloopcmn.o \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.o \
|
$(OBJS)\monodll_fddlgcmn.o \
|
||||||
$(OBJS)\monodll_filepickercmn.o \
|
$(OBJS)\monodll_filepickercmn.o \
|
||||||
$(OBJS)\monodll_fontpickercmn.o \
|
$(OBJS)\monodll_fontpickercmn.o \
|
||||||
@@ -1735,7 +1743,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.o \
|
$(OBJS)\monodll_dib.o \
|
||||||
$(OBJS)\monodll_display.o \
|
$(OBJS)\monodll_display.o \
|
||||||
$(OBJS)\monodll_enhmeta.o \
|
$(OBJS)\monodll_enhmeta.o \
|
||||||
$(OBJS)\monodll_evtloop.o \
|
|
||||||
$(OBJS)\monodll_font.o \
|
$(OBJS)\monodll_font.o \
|
||||||
$(OBJS)\monodll_fontenum.o \
|
$(OBJS)\monodll_fontenum.o \
|
||||||
$(OBJS)\monodll_fontutil.o \
|
$(OBJS)\monodll_fontutil.o \
|
||||||
@@ -1852,7 +1859,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.o \
|
$(OBJS)\monodll_dpycmn.o \
|
||||||
$(OBJS)\monodll_dseldlg.o \
|
$(OBJS)\monodll_dseldlg.o \
|
||||||
$(OBJS)\monodll_effects.o \
|
$(OBJS)\monodll_effects.o \
|
||||||
$(OBJS)\monodll_evtloopcmn.o \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.o \
|
$(OBJS)\monodll_fddlgcmn.o \
|
||||||
$(OBJS)\monodll_filepickercmn.o \
|
$(OBJS)\monodll_filepickercmn.o \
|
||||||
$(OBJS)\monodll_fontpickercmn.o \
|
$(OBJS)\monodll_fontpickercmn.o \
|
||||||
@@ -2147,7 +2153,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.o \
|
$(OBJS)\monolib_dib.o \
|
||||||
$(OBJS)\monolib_display.o \
|
$(OBJS)\monolib_display.o \
|
||||||
$(OBJS)\monolib_enhmeta.o \
|
$(OBJS)\monolib_enhmeta.o \
|
||||||
$(OBJS)\monolib_evtloop.o \
|
|
||||||
$(OBJS)\monolib_font.o \
|
$(OBJS)\monolib_font.o \
|
||||||
$(OBJS)\monolib_fontenum.o \
|
$(OBJS)\monolib_fontenum.o \
|
||||||
$(OBJS)\monolib_fontutil.o \
|
$(OBJS)\monolib_fontutil.o \
|
||||||
@@ -2261,7 +2266,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.o \
|
$(OBJS)\monolib_dpycmn.o \
|
||||||
$(OBJS)\monolib_dseldlg.o \
|
$(OBJS)\monolib_dseldlg.o \
|
||||||
$(OBJS)\monolib_effects.o \
|
$(OBJS)\monolib_effects.o \
|
||||||
$(OBJS)\monolib_evtloopcmn.o \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.o \
|
$(OBJS)\monolib_fddlgcmn.o \
|
||||||
$(OBJS)\monolib_filepickercmn.o \
|
$(OBJS)\monolib_filepickercmn.o \
|
||||||
$(OBJS)\monolib_fontpickercmn.o \
|
$(OBJS)\monolib_fontpickercmn.o \
|
||||||
@@ -2375,7 +2379,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.o \
|
$(OBJS)\monolib_dib.o \
|
||||||
$(OBJS)\monolib_display.o \
|
$(OBJS)\monolib_display.o \
|
||||||
$(OBJS)\monolib_enhmeta.o \
|
$(OBJS)\monolib_enhmeta.o \
|
||||||
$(OBJS)\monolib_evtloop.o \
|
|
||||||
$(OBJS)\monolib_font.o \
|
$(OBJS)\monolib_font.o \
|
||||||
$(OBJS)\monolib_fontenum.o \
|
$(OBJS)\monolib_fontenum.o \
|
||||||
$(OBJS)\monolib_fontutil.o \
|
$(OBJS)\monolib_fontutil.o \
|
||||||
@@ -2492,7 +2495,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.o \
|
$(OBJS)\monolib_dpycmn.o \
|
||||||
$(OBJS)\monolib_dseldlg.o \
|
$(OBJS)\monolib_dseldlg.o \
|
||||||
$(OBJS)\monolib_effects.o \
|
$(OBJS)\monolib_effects.o \
|
||||||
$(OBJS)\monolib_evtloopcmn.o \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.o \
|
$(OBJS)\monolib_fddlgcmn.o \
|
||||||
$(OBJS)\monolib_filepickercmn.o \
|
$(OBJS)\monolib_filepickercmn.o \
|
||||||
$(OBJS)\monolib_fontpickercmn.o \
|
$(OBJS)\monolib_fontpickercmn.o \
|
||||||
@@ -2711,7 +2713,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.o \
|
$(OBJS)\coredll_dib.o \
|
||||||
$(OBJS)\coredll_display.o \
|
$(OBJS)\coredll_display.o \
|
||||||
$(OBJS)\coredll_enhmeta.o \
|
$(OBJS)\coredll_enhmeta.o \
|
||||||
$(OBJS)\coredll_evtloop.o \
|
|
||||||
$(OBJS)\coredll_font.o \
|
$(OBJS)\coredll_font.o \
|
||||||
$(OBJS)\coredll_fontenum.o \
|
$(OBJS)\coredll_fontenum.o \
|
||||||
$(OBJS)\coredll_fontutil.o \
|
$(OBJS)\coredll_fontutil.o \
|
||||||
@@ -2825,7 +2826,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.o \
|
$(OBJS)\coredll_dpycmn.o \
|
||||||
$(OBJS)\coredll_dseldlg.o \
|
$(OBJS)\coredll_dseldlg.o \
|
||||||
$(OBJS)\coredll_effects.o \
|
$(OBJS)\coredll_effects.o \
|
||||||
$(OBJS)\coredll_evtloopcmn.o \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.o \
|
$(OBJS)\coredll_fddlgcmn.o \
|
||||||
$(OBJS)\coredll_filepickercmn.o \
|
$(OBJS)\coredll_filepickercmn.o \
|
||||||
$(OBJS)\coredll_fontpickercmn.o \
|
$(OBJS)\coredll_fontpickercmn.o \
|
||||||
@@ -2939,7 +2939,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.o \
|
$(OBJS)\coredll_dib.o \
|
||||||
$(OBJS)\coredll_display.o \
|
$(OBJS)\coredll_display.o \
|
||||||
$(OBJS)\coredll_enhmeta.o \
|
$(OBJS)\coredll_enhmeta.o \
|
||||||
$(OBJS)\coredll_evtloop.o \
|
|
||||||
$(OBJS)\coredll_font.o \
|
$(OBJS)\coredll_font.o \
|
||||||
$(OBJS)\coredll_fontenum.o \
|
$(OBJS)\coredll_fontenum.o \
|
||||||
$(OBJS)\coredll_fontutil.o \
|
$(OBJS)\coredll_fontutil.o \
|
||||||
@@ -3056,7 +3055,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.o \
|
$(OBJS)\coredll_dpycmn.o \
|
||||||
$(OBJS)\coredll_dseldlg.o \
|
$(OBJS)\coredll_dseldlg.o \
|
||||||
$(OBJS)\coredll_effects.o \
|
$(OBJS)\coredll_effects.o \
|
||||||
$(OBJS)\coredll_evtloopcmn.o \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.o \
|
$(OBJS)\coredll_fddlgcmn.o \
|
||||||
$(OBJS)\coredll_filepickercmn.o \
|
$(OBJS)\coredll_filepickercmn.o \
|
||||||
$(OBJS)\coredll_fontpickercmn.o \
|
$(OBJS)\coredll_fontpickercmn.o \
|
||||||
@@ -3178,7 +3176,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.o \
|
$(OBJS)\corelib_dib.o \
|
||||||
$(OBJS)\corelib_display.o \
|
$(OBJS)\corelib_display.o \
|
||||||
$(OBJS)\corelib_enhmeta.o \
|
$(OBJS)\corelib_enhmeta.o \
|
||||||
$(OBJS)\corelib_evtloop.o \
|
|
||||||
$(OBJS)\corelib_font.o \
|
$(OBJS)\corelib_font.o \
|
||||||
$(OBJS)\corelib_fontenum.o \
|
$(OBJS)\corelib_fontenum.o \
|
||||||
$(OBJS)\corelib_fontutil.o \
|
$(OBJS)\corelib_fontutil.o \
|
||||||
@@ -3292,7 +3289,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.o \
|
$(OBJS)\corelib_dpycmn.o \
|
||||||
$(OBJS)\corelib_dseldlg.o \
|
$(OBJS)\corelib_dseldlg.o \
|
||||||
$(OBJS)\corelib_effects.o \
|
$(OBJS)\corelib_effects.o \
|
||||||
$(OBJS)\corelib_evtloopcmn.o \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.o \
|
$(OBJS)\corelib_fddlgcmn.o \
|
||||||
$(OBJS)\corelib_filepickercmn.o \
|
$(OBJS)\corelib_filepickercmn.o \
|
||||||
$(OBJS)\corelib_fontpickercmn.o \
|
$(OBJS)\corelib_fontpickercmn.o \
|
||||||
@@ -3406,7 +3402,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.o \
|
$(OBJS)\corelib_dib.o \
|
||||||
$(OBJS)\corelib_display.o \
|
$(OBJS)\corelib_display.o \
|
||||||
$(OBJS)\corelib_enhmeta.o \
|
$(OBJS)\corelib_enhmeta.o \
|
||||||
$(OBJS)\corelib_evtloop.o \
|
|
||||||
$(OBJS)\corelib_font.o \
|
$(OBJS)\corelib_font.o \
|
||||||
$(OBJS)\corelib_fontenum.o \
|
$(OBJS)\corelib_fontenum.o \
|
||||||
$(OBJS)\corelib_fontutil.o \
|
$(OBJS)\corelib_fontutil.o \
|
||||||
@@ -3523,7 +3518,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.o \
|
$(OBJS)\corelib_dpycmn.o \
|
||||||
$(OBJS)\corelib_dseldlg.o \
|
$(OBJS)\corelib_dseldlg.o \
|
||||||
$(OBJS)\corelib_effects.o \
|
$(OBJS)\corelib_effects.o \
|
||||||
$(OBJS)\corelib_evtloopcmn.o \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.o \
|
$(OBJS)\corelib_fddlgcmn.o \
|
||||||
$(OBJS)\corelib_filepickercmn.o \
|
$(OBJS)\corelib_filepickercmn.o \
|
||||||
$(OBJS)\corelib_fontpickercmn.o \
|
$(OBJS)\corelib_fontpickercmn.o \
|
||||||
@@ -5387,6 +5381,9 @@ $(OBJS)\monodll_dynload.o: ../../src/common/dynload.cpp
|
|||||||
$(OBJS)\monodll_encconv.o: ../../src/common/encconv.cpp
|
$(OBJS)\monodll_encconv.o: ../../src/common/encconv.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_extended.o: ../../src/common/extended.c
|
$(OBJS)\monodll_extended.o: ../../src/common/extended.c
|
||||||
$(CC) -c -o $@ $(MONODLL_CFLAGS) $(CPPDEPS) $<
|
$(CC) -c -o $@ $(MONODLL_CFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -5621,6 +5618,9 @@ $(OBJS)\monodll_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\monodll_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\monodll_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_main.o: ../../src/msw/main.cpp
|
$(OBJS)\monodll_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -6219,11 +6219,6 @@ $(OBJS)\monodll_enhmeta.o: ../../src/msw/enhmeta.cpp
|
|||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\monodll_evtloop.o: ../../src/msw/evtloop.cpp
|
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monodll_font.o: ../../src/msw/font.cpp
|
$(OBJS)\monodll_font.o: ../../src/msw/font.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -6904,11 +6899,6 @@ $(OBJS)\monodll_effects.o: ../../src/common/effects.cpp
|
|||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\monodll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monodll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
$(OBJS)\monodll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -7553,6 +7543,9 @@ $(OBJS)\monolib_dynload.o: ../../src/common/dynload.cpp
|
|||||||
$(OBJS)\monolib_encconv.o: ../../src/common/encconv.cpp
|
$(OBJS)\monolib_encconv.o: ../../src/common/encconv.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_extended.o: ../../src/common/extended.c
|
$(OBJS)\monolib_extended.o: ../../src/common/extended.c
|
||||||
$(CC) -c -o $@ $(MONOLIB_CFLAGS) $(CPPDEPS) $<
|
$(CC) -c -o $@ $(MONOLIB_CFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -7787,6 +7780,9 @@ $(OBJS)\monolib_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\monolib_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\monolib_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_main.o: ../../src/msw/main.cpp
|
$(OBJS)\monolib_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -8385,11 +8381,6 @@ $(OBJS)\monolib_enhmeta.o: ../../src/msw/enhmeta.cpp
|
|||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\monolib_evtloop.o: ../../src/msw/evtloop.cpp
|
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monolib_font.o: ../../src/msw/font.cpp
|
$(OBJS)\monolib_font.o: ../../src/msw/font.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -9070,11 +9061,6 @@ $(OBJS)\monolib_effects.o: ../../src/common/effects.cpp
|
|||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\monolib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monolib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
$(OBJS)\monolib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -9719,6 +9705,9 @@ $(OBJS)\basedll_dynload.o: ../../src/common/dynload.cpp
|
|||||||
$(OBJS)\basedll_encconv.o: ../../src/common/encconv.cpp
|
$(OBJS)\basedll_encconv.o: ../../src/common/encconv.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_extended.o: ../../src/common/extended.c
|
$(OBJS)\basedll_extended.o: ../../src/common/extended.c
|
||||||
$(CC) -c -o $@ $(BASEDLL_CFLAGS) $(CPPDEPS) $<
|
$(CC) -c -o $@ $(BASEDLL_CFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -9953,6 +9942,9 @@ $(OBJS)\basedll_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\basedll_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\basedll_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_main.o: ../../src/msw/main.cpp
|
$(OBJS)\basedll_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -10013,6 +10005,9 @@ $(OBJS)\baselib_dynload.o: ../../src/common/dynload.cpp
|
|||||||
$(OBJS)\baselib_encconv.o: ../../src/common/encconv.cpp
|
$(OBJS)\baselib_encconv.o: ../../src/common/encconv.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_extended.o: ../../src/common/extended.c
|
$(OBJS)\baselib_extended.o: ../../src/common/extended.c
|
||||||
$(CC) -c -o $@ $(BASELIB_CFLAGS) $(CPPDEPS) $<
|
$(CC) -c -o $@ $(BASELIB_CFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -10247,6 +10242,9 @@ $(OBJS)\baselib_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\baselib_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\baselib_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_main.o: ../../src/msw/main.cpp
|
$(OBJS)\baselib_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -10355,6 +10353,9 @@ $(OBJS)\coredll_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\coredll_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\coredll_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\coredll_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\coredll_main.o: ../../src/msw/main.cpp
|
$(OBJS)\coredll_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -10590,11 +10591,6 @@ $(OBJS)\coredll_enhmeta.o: ../../src/msw/enhmeta.cpp
|
|||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\coredll_evtloop.o: ../../src/msw/evtloop.cpp
|
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\coredll_font.o: ../../src/msw/font.cpp
|
$(OBJS)\coredll_font.o: ../../src/msw/font.cpp
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -11275,11 +11271,6 @@ $(OBJS)\coredll_effects.o: ../../src/common/effects.cpp
|
|||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\coredll_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\coredll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
$(OBJS)\coredll_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -11750,6 +11741,9 @@ $(OBJS)\corelib_msgout.o: ../../src/common/msgout.cpp
|
|||||||
$(OBJS)\corelib_utilscmn.o: ../../src/common/utilscmn.cpp
|
$(OBJS)\corelib_utilscmn.o: ../../src/common/utilscmn.cpp
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\corelib_evtloopmsw.o: ../../src/msw/evtloopmsw.cpp
|
||||||
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\corelib_main.o: ../../src/msw/main.cpp
|
$(OBJS)\corelib_main.o: ../../src/msw/main.cpp
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
@@ -11985,11 +11979,6 @@ $(OBJS)\corelib_enhmeta.o: ../../src/msw/enhmeta.cpp
|
|||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\corelib_evtloop.o: ../../src/msw/evtloop.cpp
|
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\corelib_font.o: ../../src/msw/font.cpp
|
$(OBJS)\corelib_font.o: ../../src/msw/font.cpp
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -12670,11 +12659,6 @@ $(OBJS)\corelib_effects.o: ../../src/common/effects.cpp
|
|||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
|
||||||
$(OBJS)\corelib_evtloopcmn.o: ../../src/common/evtloopcmn.cpp
|
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\corelib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
$(OBJS)\corelib_fddlgcmn.o: ../../src/common/fddlgcmn.cpp
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
@@ -308,6 +308,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dynlib.obj \
|
$(OBJS)\monodll_dynlib.obj \
|
||||||
$(OBJS)\monodll_dynload.obj \
|
$(OBJS)\monodll_dynload.obj \
|
||||||
$(OBJS)\monodll_encconv.obj \
|
$(OBJS)\monodll_encconv.obj \
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj \
|
||||||
$(OBJS)\monodll_extended.obj \
|
$(OBJS)\monodll_extended.obj \
|
||||||
$(OBJS)\monodll_ffile.obj \
|
$(OBJS)\monodll_ffile.obj \
|
||||||
$(OBJS)\monodll_file.obj \
|
$(OBJS)\monodll_file.obj \
|
||||||
@@ -386,6 +387,7 @@ MONODLL_OBJECTS = \
|
|||||||
$(OBJS)\monodll_fs_mem.obj \
|
$(OBJS)\monodll_fs_mem.obj \
|
||||||
$(OBJS)\monodll_msgout.obj \
|
$(OBJS)\monodll_msgout.obj \
|
||||||
$(OBJS)\monodll_utilscmn.obj \
|
$(OBJS)\monodll_utilscmn.obj \
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj \
|
||||||
$(OBJS)\monodll_main.obj \
|
$(OBJS)\monodll_main.obj \
|
||||||
$(OBJS)\monodll_mslu.obj \
|
$(OBJS)\monodll_mslu.obj \
|
||||||
$(OBJS)\monodll_volume.obj \
|
$(OBJS)\monodll_volume.obj \
|
||||||
@@ -446,6 +448,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dynlib.obj \
|
$(OBJS)\monolib_dynlib.obj \
|
||||||
$(OBJS)\monolib_dynload.obj \
|
$(OBJS)\monolib_dynload.obj \
|
||||||
$(OBJS)\monolib_encconv.obj \
|
$(OBJS)\monolib_encconv.obj \
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj \
|
||||||
$(OBJS)\monolib_extended.obj \
|
$(OBJS)\monolib_extended.obj \
|
||||||
$(OBJS)\monolib_ffile.obj \
|
$(OBJS)\monolib_ffile.obj \
|
||||||
$(OBJS)\monolib_file.obj \
|
$(OBJS)\monolib_file.obj \
|
||||||
@@ -524,6 +527,7 @@ MONOLIB_OBJECTS = \
|
|||||||
$(OBJS)\monolib_fs_mem.obj \
|
$(OBJS)\monolib_fs_mem.obj \
|
||||||
$(OBJS)\monolib_msgout.obj \
|
$(OBJS)\monolib_msgout.obj \
|
||||||
$(OBJS)\monolib_utilscmn.obj \
|
$(OBJS)\monolib_utilscmn.obj \
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj \
|
||||||
$(OBJS)\monolib_main.obj \
|
$(OBJS)\monolib_main.obj \
|
||||||
$(OBJS)\monolib_mslu.obj \
|
$(OBJS)\monolib_mslu.obj \
|
||||||
$(OBJS)\monolib_volume.obj \
|
$(OBJS)\monolib_volume.obj \
|
||||||
@@ -582,6 +586,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_dynlib.obj \
|
$(OBJS)\basedll_dynlib.obj \
|
||||||
$(OBJS)\basedll_dynload.obj \
|
$(OBJS)\basedll_dynload.obj \
|
||||||
$(OBJS)\basedll_encconv.obj \
|
$(OBJS)\basedll_encconv.obj \
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj \
|
||||||
$(OBJS)\basedll_extended.obj \
|
$(OBJS)\basedll_extended.obj \
|
||||||
$(OBJS)\basedll_ffile.obj \
|
$(OBJS)\basedll_ffile.obj \
|
||||||
$(OBJS)\basedll_file.obj \
|
$(OBJS)\basedll_file.obj \
|
||||||
@@ -660,6 +665,7 @@ BASEDLL_OBJECTS = \
|
|||||||
$(OBJS)\basedll_fs_mem.obj \
|
$(OBJS)\basedll_fs_mem.obj \
|
||||||
$(OBJS)\basedll_msgout.obj \
|
$(OBJS)\basedll_msgout.obj \
|
||||||
$(OBJS)\basedll_utilscmn.obj \
|
$(OBJS)\basedll_utilscmn.obj \
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj \
|
||||||
$(OBJS)\basedll_main.obj \
|
$(OBJS)\basedll_main.obj \
|
||||||
$(OBJS)\basedll_mslu.obj \
|
$(OBJS)\basedll_mslu.obj \
|
||||||
$(OBJS)\basedll_volume.obj
|
$(OBJS)\basedll_volume.obj
|
||||||
@@ -702,6 +708,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_dynlib.obj \
|
$(OBJS)\baselib_dynlib.obj \
|
||||||
$(OBJS)\baselib_dynload.obj \
|
$(OBJS)\baselib_dynload.obj \
|
||||||
$(OBJS)\baselib_encconv.obj \
|
$(OBJS)\baselib_encconv.obj \
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj \
|
||||||
$(OBJS)\baselib_extended.obj \
|
$(OBJS)\baselib_extended.obj \
|
||||||
$(OBJS)\baselib_ffile.obj \
|
$(OBJS)\baselib_ffile.obj \
|
||||||
$(OBJS)\baselib_file.obj \
|
$(OBJS)\baselib_file.obj \
|
||||||
@@ -780,6 +787,7 @@ BASELIB_OBJECTS = \
|
|||||||
$(OBJS)\baselib_fs_mem.obj \
|
$(OBJS)\baselib_fs_mem.obj \
|
||||||
$(OBJS)\baselib_msgout.obj \
|
$(OBJS)\baselib_msgout.obj \
|
||||||
$(OBJS)\baselib_utilscmn.obj \
|
$(OBJS)\baselib_utilscmn.obj \
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj \
|
||||||
$(OBJS)\baselib_main.obj \
|
$(OBJS)\baselib_main.obj \
|
||||||
$(OBJS)\baselib_mslu.obj \
|
$(OBJS)\baselib_mslu.obj \
|
||||||
$(OBJS)\baselib_volume.obj
|
$(OBJS)\baselib_volume.obj
|
||||||
@@ -852,6 +860,7 @@ COREDLL_OBJECTS = \
|
|||||||
$(OBJS)\coredll_fs_mem.obj \
|
$(OBJS)\coredll_fs_mem.obj \
|
||||||
$(OBJS)\coredll_msgout.obj \
|
$(OBJS)\coredll_msgout.obj \
|
||||||
$(OBJS)\coredll_utilscmn.obj \
|
$(OBJS)\coredll_utilscmn.obj \
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj \
|
||||||
$(OBJS)\coredll_main.obj \
|
$(OBJS)\coredll_main.obj \
|
||||||
$(OBJS)\coredll_mslu.obj \
|
$(OBJS)\coredll_mslu.obj \
|
||||||
$(OBJS)\coredll_volume.obj \
|
$(OBJS)\coredll_volume.obj \
|
||||||
@@ -873,6 +882,7 @@ CORELIB_OBJECTS = \
|
|||||||
$(OBJS)\corelib_fs_mem.obj \
|
$(OBJS)\corelib_fs_mem.obj \
|
||||||
$(OBJS)\corelib_msgout.obj \
|
$(OBJS)\corelib_msgout.obj \
|
||||||
$(OBJS)\corelib_utilscmn.obj \
|
$(OBJS)\corelib_utilscmn.obj \
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj \
|
||||||
$(OBJS)\corelib_main.obj \
|
$(OBJS)\corelib_main.obj \
|
||||||
$(OBJS)\corelib_mslu.obj \
|
$(OBJS)\corelib_mslu.obj \
|
||||||
$(OBJS)\corelib_volume.obj \
|
$(OBJS)\corelib_volume.obj \
|
||||||
@@ -1675,7 +1685,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.obj \
|
$(OBJS)\monodll_dib.obj \
|
||||||
$(OBJS)\monodll_display.obj \
|
$(OBJS)\monodll_display.obj \
|
||||||
$(OBJS)\monodll_enhmeta.obj \
|
$(OBJS)\monodll_enhmeta.obj \
|
||||||
$(OBJS)\monodll_evtloop.obj \
|
|
||||||
$(OBJS)\monodll_font.obj \
|
$(OBJS)\monodll_font.obj \
|
||||||
$(OBJS)\monodll_fontenum.obj \
|
$(OBJS)\monodll_fontenum.obj \
|
||||||
$(OBJS)\monodll_fontutil.obj \
|
$(OBJS)\monodll_fontutil.obj \
|
||||||
@@ -1789,7 +1798,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.obj \
|
$(OBJS)\monodll_dpycmn.obj \
|
||||||
$(OBJS)\monodll_dseldlg.obj \
|
$(OBJS)\monodll_dseldlg.obj \
|
||||||
$(OBJS)\monodll_effects.obj \
|
$(OBJS)\monodll_effects.obj \
|
||||||
$(OBJS)\monodll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj \
|
$(OBJS)\monodll_fddlgcmn.obj \
|
||||||
$(OBJS)\monodll_filepickercmn.obj \
|
$(OBJS)\monodll_filepickercmn.obj \
|
||||||
$(OBJS)\monodll_fontpickercmn.obj \
|
$(OBJS)\monodll_fontpickercmn.obj \
|
||||||
@@ -1901,7 +1909,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dib.obj \
|
$(OBJS)\monodll_dib.obj \
|
||||||
$(OBJS)\monodll_display.obj \
|
$(OBJS)\monodll_display.obj \
|
||||||
$(OBJS)\monodll_enhmeta.obj \
|
$(OBJS)\monodll_enhmeta.obj \
|
||||||
$(OBJS)\monodll_evtloop.obj \
|
|
||||||
$(OBJS)\monodll_font.obj \
|
$(OBJS)\monodll_font.obj \
|
||||||
$(OBJS)\monodll_fontenum.obj \
|
$(OBJS)\monodll_fontenum.obj \
|
||||||
$(OBJS)\monodll_fontutil.obj \
|
$(OBJS)\monodll_fontutil.obj \
|
||||||
@@ -2018,7 +2025,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_dpycmn.obj \
|
$(OBJS)\monodll_dpycmn.obj \
|
||||||
$(OBJS)\monodll_dseldlg.obj \
|
$(OBJS)\monodll_dseldlg.obj \
|
||||||
$(OBJS)\monodll_effects.obj \
|
$(OBJS)\monodll_effects.obj \
|
||||||
$(OBJS)\monodll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj \
|
$(OBJS)\monodll_fddlgcmn.obj \
|
||||||
$(OBJS)\monodll_filepickercmn.obj \
|
$(OBJS)\monodll_filepickercmn.obj \
|
||||||
$(OBJS)\monodll_fontpickercmn.obj \
|
$(OBJS)\monodll_fontpickercmn.obj \
|
||||||
@@ -2315,7 +2321,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.obj \
|
$(OBJS)\monolib_dib.obj \
|
||||||
$(OBJS)\monolib_display.obj \
|
$(OBJS)\monolib_display.obj \
|
||||||
$(OBJS)\monolib_enhmeta.obj \
|
$(OBJS)\monolib_enhmeta.obj \
|
||||||
$(OBJS)\monolib_evtloop.obj \
|
|
||||||
$(OBJS)\monolib_font.obj \
|
$(OBJS)\monolib_font.obj \
|
||||||
$(OBJS)\monolib_fontenum.obj \
|
$(OBJS)\monolib_fontenum.obj \
|
||||||
$(OBJS)\monolib_fontutil.obj \
|
$(OBJS)\monolib_fontutil.obj \
|
||||||
@@ -2429,7 +2434,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.obj \
|
$(OBJS)\monolib_dpycmn.obj \
|
||||||
$(OBJS)\monolib_dseldlg.obj \
|
$(OBJS)\monolib_dseldlg.obj \
|
||||||
$(OBJS)\monolib_effects.obj \
|
$(OBJS)\monolib_effects.obj \
|
||||||
$(OBJS)\monolib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj \
|
$(OBJS)\monolib_fddlgcmn.obj \
|
||||||
$(OBJS)\monolib_filepickercmn.obj \
|
$(OBJS)\monolib_filepickercmn.obj \
|
||||||
$(OBJS)\monolib_fontpickercmn.obj \
|
$(OBJS)\monolib_fontpickercmn.obj \
|
||||||
@@ -2541,7 +2545,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dib.obj \
|
$(OBJS)\monolib_dib.obj \
|
||||||
$(OBJS)\monolib_display.obj \
|
$(OBJS)\monolib_display.obj \
|
||||||
$(OBJS)\monolib_enhmeta.obj \
|
$(OBJS)\monolib_enhmeta.obj \
|
||||||
$(OBJS)\monolib_evtloop.obj \
|
|
||||||
$(OBJS)\monolib_font.obj \
|
$(OBJS)\monolib_font.obj \
|
||||||
$(OBJS)\monolib_fontenum.obj \
|
$(OBJS)\monolib_fontenum.obj \
|
||||||
$(OBJS)\monolib_fontutil.obj \
|
$(OBJS)\monolib_fontutil.obj \
|
||||||
@@ -2658,7 +2661,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_dpycmn.obj \
|
$(OBJS)\monolib_dpycmn.obj \
|
||||||
$(OBJS)\monolib_dseldlg.obj \
|
$(OBJS)\monolib_dseldlg.obj \
|
||||||
$(OBJS)\monolib_effects.obj \
|
$(OBJS)\monolib_effects.obj \
|
||||||
$(OBJS)\monolib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj \
|
$(OBJS)\monolib_fddlgcmn.obj \
|
||||||
$(OBJS)\monolib_filepickercmn.obj \
|
$(OBJS)\monolib_filepickercmn.obj \
|
||||||
$(OBJS)\monolib_fontpickercmn.obj \
|
$(OBJS)\monolib_fontpickercmn.obj \
|
||||||
@@ -2893,7 +2895,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.obj \
|
$(OBJS)\coredll_dib.obj \
|
||||||
$(OBJS)\coredll_display.obj \
|
$(OBJS)\coredll_display.obj \
|
||||||
$(OBJS)\coredll_enhmeta.obj \
|
$(OBJS)\coredll_enhmeta.obj \
|
||||||
$(OBJS)\coredll_evtloop.obj \
|
|
||||||
$(OBJS)\coredll_font.obj \
|
$(OBJS)\coredll_font.obj \
|
||||||
$(OBJS)\coredll_fontenum.obj \
|
$(OBJS)\coredll_fontenum.obj \
|
||||||
$(OBJS)\coredll_fontutil.obj \
|
$(OBJS)\coredll_fontutil.obj \
|
||||||
@@ -3007,7 +3008,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.obj \
|
$(OBJS)\coredll_dpycmn.obj \
|
||||||
$(OBJS)\coredll_dseldlg.obj \
|
$(OBJS)\coredll_dseldlg.obj \
|
||||||
$(OBJS)\coredll_effects.obj \
|
$(OBJS)\coredll_effects.obj \
|
||||||
$(OBJS)\coredll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj \
|
$(OBJS)\coredll_fddlgcmn.obj \
|
||||||
$(OBJS)\coredll_filepickercmn.obj \
|
$(OBJS)\coredll_filepickercmn.obj \
|
||||||
$(OBJS)\coredll_fontpickercmn.obj \
|
$(OBJS)\coredll_fontpickercmn.obj \
|
||||||
@@ -3119,7 +3119,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dib.obj \
|
$(OBJS)\coredll_dib.obj \
|
||||||
$(OBJS)\coredll_display.obj \
|
$(OBJS)\coredll_display.obj \
|
||||||
$(OBJS)\coredll_enhmeta.obj \
|
$(OBJS)\coredll_enhmeta.obj \
|
||||||
$(OBJS)\coredll_evtloop.obj \
|
|
||||||
$(OBJS)\coredll_font.obj \
|
$(OBJS)\coredll_font.obj \
|
||||||
$(OBJS)\coredll_fontenum.obj \
|
$(OBJS)\coredll_fontenum.obj \
|
||||||
$(OBJS)\coredll_fontutil.obj \
|
$(OBJS)\coredll_fontutil.obj \
|
||||||
@@ -3236,7 +3235,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_dpycmn.obj \
|
$(OBJS)\coredll_dpycmn.obj \
|
||||||
$(OBJS)\coredll_dseldlg.obj \
|
$(OBJS)\coredll_dseldlg.obj \
|
||||||
$(OBJS)\coredll_effects.obj \
|
$(OBJS)\coredll_effects.obj \
|
||||||
$(OBJS)\coredll_evtloopcmn.obj \
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj \
|
$(OBJS)\coredll_fddlgcmn.obj \
|
||||||
$(OBJS)\coredll_filepickercmn.obj \
|
$(OBJS)\coredll_filepickercmn.obj \
|
||||||
$(OBJS)\coredll_fontpickercmn.obj \
|
$(OBJS)\coredll_fontpickercmn.obj \
|
||||||
@@ -3358,7 +3356,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.obj \
|
$(OBJS)\corelib_dib.obj \
|
||||||
$(OBJS)\corelib_display.obj \
|
$(OBJS)\corelib_display.obj \
|
||||||
$(OBJS)\corelib_enhmeta.obj \
|
$(OBJS)\corelib_enhmeta.obj \
|
||||||
$(OBJS)\corelib_evtloop.obj \
|
|
||||||
$(OBJS)\corelib_font.obj \
|
$(OBJS)\corelib_font.obj \
|
||||||
$(OBJS)\corelib_fontenum.obj \
|
$(OBJS)\corelib_fontenum.obj \
|
||||||
$(OBJS)\corelib_fontutil.obj \
|
$(OBJS)\corelib_fontutil.obj \
|
||||||
@@ -3472,7 +3469,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.obj \
|
$(OBJS)\corelib_dpycmn.obj \
|
||||||
$(OBJS)\corelib_dseldlg.obj \
|
$(OBJS)\corelib_dseldlg.obj \
|
||||||
$(OBJS)\corelib_effects.obj \
|
$(OBJS)\corelib_effects.obj \
|
||||||
$(OBJS)\corelib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj \
|
$(OBJS)\corelib_fddlgcmn.obj \
|
||||||
$(OBJS)\corelib_filepickercmn.obj \
|
$(OBJS)\corelib_filepickercmn.obj \
|
||||||
$(OBJS)\corelib_fontpickercmn.obj \
|
$(OBJS)\corelib_fontpickercmn.obj \
|
||||||
@@ -3584,7 +3580,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dib.obj \
|
$(OBJS)\corelib_dib.obj \
|
||||||
$(OBJS)\corelib_display.obj \
|
$(OBJS)\corelib_display.obj \
|
||||||
$(OBJS)\corelib_enhmeta.obj \
|
$(OBJS)\corelib_enhmeta.obj \
|
||||||
$(OBJS)\corelib_evtloop.obj \
|
|
||||||
$(OBJS)\corelib_font.obj \
|
$(OBJS)\corelib_font.obj \
|
||||||
$(OBJS)\corelib_fontenum.obj \
|
$(OBJS)\corelib_fontenum.obj \
|
||||||
$(OBJS)\corelib_fontutil.obj \
|
$(OBJS)\corelib_fontutil.obj \
|
||||||
@@ -3701,7 +3696,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_dpycmn.obj \
|
$(OBJS)\corelib_dpycmn.obj \
|
||||||
$(OBJS)\corelib_dseldlg.obj \
|
$(OBJS)\corelib_dseldlg.obj \
|
||||||
$(OBJS)\corelib_effects.obj \
|
$(OBJS)\corelib_effects.obj \
|
||||||
$(OBJS)\corelib_evtloopcmn.obj \
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj \
|
$(OBJS)\corelib_fddlgcmn.obj \
|
||||||
$(OBJS)\corelib_filepickercmn.obj \
|
$(OBJS)\corelib_filepickercmn.obj \
|
||||||
$(OBJS)\corelib_fontpickercmn.obj \
|
$(OBJS)\corelib_fontpickercmn.obj \
|
||||||
@@ -5578,6 +5572,9 @@ $(OBJS)\monodll_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\monodll_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\monodll_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) /c /nologo /TC /Fo$@ $(MONODLL_CFLAGS) $**
|
$(CC) /c /nologo /TC /Fo$@ $(MONODLL_CFLAGS) $**
|
||||||
|
|
||||||
@@ -5812,6 +5809,9 @@ $(OBJS)\monodll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monodll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\monodll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -6410,11 +6410,6 @@ $(OBJS)\monodll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monodll_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\monodll_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -6995,11 +6990,6 @@ $(OBJS)\monodll_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monodll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monodll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -7644,6 +7634,9 @@ $(OBJS)\monolib_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\monolib_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\monolib_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) /c /nologo /TC /Fo$@ $(MONOLIB_CFLAGS) $**
|
$(CC) /c /nologo /TC /Fo$@ $(MONOLIB_CFLAGS) $**
|
||||||
|
|
||||||
@@ -7878,6 +7871,9 @@ $(OBJS)\monolib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monolib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\monolib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -8476,11 +8472,6 @@ $(OBJS)\monolib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monolib_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\monolib_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -9061,11 +9052,6 @@ $(OBJS)\monolib_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\monolib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monolib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -9710,6 +9696,9 @@ $(OBJS)\basedll_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\basedll_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\basedll_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) /c /nologo /TC /Fo$@ $(BASEDLL_CFLAGS) $**
|
$(CC) /c /nologo /TC /Fo$@ $(BASEDLL_CFLAGS) $**
|
||||||
|
|
||||||
@@ -9944,6 +9933,9 @@ $(OBJS)\basedll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\basedll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\basedll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -10004,6 +9996,9 @@ $(OBJS)\baselib_dynload.obj: ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
|
$(OBJS)\baselib_encconv.obj: ..\..\src\common\encconv.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
|
$(OBJS)\baselib_extended.obj: ..\..\src\common\extended.c
|
||||||
$(CC) /c /nologo /TC /Fo$@ $(BASELIB_CFLAGS) $**
|
$(CC) /c /nologo /TC /Fo$@ $(BASELIB_CFLAGS) $**
|
||||||
|
|
||||||
@@ -10238,6 +10233,9 @@ $(OBJS)\baselib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\baselib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\baselib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -10346,6 +10344,9 @@ $(OBJS)\coredll_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\coredll_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\coredll_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -10581,11 +10582,6 @@ $(OBJS)\coredll_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\coredll_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\coredll_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -11166,11 +11162,6 @@ $(OBJS)\coredll_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\coredll_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\coredll_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -11641,6 +11632,9 @@ $(OBJS)\corelib_msgout.obj: ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
$(OBJS)\corelib_utilscmn.obj: ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj: ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
$(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
|
$(OBJS)\corelib_main.obj: ..\..\src\msw\main.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
|
||||||
@@ -11876,11 +11870,6 @@ $(OBJS)\corelib_enhmeta.obj: ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\corelib_evtloop.obj: ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
|
$(OBJS)\corelib_font.obj: ..\..\src\msw\font.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
@@ -12461,11 +12450,6 @@ $(OBJS)\corelib_effects.obj: ..\..\src\common\effects.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
|
||||||
$(OBJS)\corelib_evtloopcmn.obj: ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\corelib_fddlgcmn.obj: ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
@@ -228,7 +228,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_dib.obj &
|
$(OBJS)\monodll_dib.obj &
|
||||||
$(OBJS)\monodll_display.obj &
|
$(OBJS)\monodll_display.obj &
|
||||||
$(OBJS)\monodll_enhmeta.obj &
|
$(OBJS)\monodll_enhmeta.obj &
|
||||||
$(OBJS)\monodll_evtloop.obj &
|
|
||||||
$(OBJS)\monodll_font.obj &
|
$(OBJS)\monodll_font.obj &
|
||||||
$(OBJS)\monodll_fontenum.obj &
|
$(OBJS)\monodll_fontenum.obj &
|
||||||
$(OBJS)\monodll_fontutil.obj &
|
$(OBJS)\monodll_fontutil.obj &
|
||||||
@@ -342,7 +341,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_dpycmn.obj &
|
$(OBJS)\monodll_dpycmn.obj &
|
||||||
$(OBJS)\monodll_dseldlg.obj &
|
$(OBJS)\monodll_dseldlg.obj &
|
||||||
$(OBJS)\monodll_effects.obj &
|
$(OBJS)\monodll_effects.obj &
|
||||||
$(OBJS)\monodll_evtloopcmn.obj &
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj &
|
$(OBJS)\monodll_fddlgcmn.obj &
|
||||||
$(OBJS)\monodll_filepickercmn.obj &
|
$(OBJS)\monodll_filepickercmn.obj &
|
||||||
$(OBJS)\monodll_fontpickercmn.obj &
|
$(OBJS)\monodll_fontpickercmn.obj &
|
||||||
@@ -456,7 +454,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_dib.obj &
|
$(OBJS)\monodll_dib.obj &
|
||||||
$(OBJS)\monodll_display.obj &
|
$(OBJS)\monodll_display.obj &
|
||||||
$(OBJS)\monodll_enhmeta.obj &
|
$(OBJS)\monodll_enhmeta.obj &
|
||||||
$(OBJS)\monodll_evtloop.obj &
|
|
||||||
$(OBJS)\monodll_font.obj &
|
$(OBJS)\monodll_font.obj &
|
||||||
$(OBJS)\monodll_fontenum.obj &
|
$(OBJS)\monodll_fontenum.obj &
|
||||||
$(OBJS)\monodll_fontutil.obj &
|
$(OBJS)\monodll_fontutil.obj &
|
||||||
@@ -573,7 +570,6 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_dpycmn.obj &
|
$(OBJS)\monodll_dpycmn.obj &
|
||||||
$(OBJS)\monodll_dseldlg.obj &
|
$(OBJS)\monodll_dseldlg.obj &
|
||||||
$(OBJS)\monodll_effects.obj &
|
$(OBJS)\monodll_effects.obj &
|
||||||
$(OBJS)\monodll_evtloopcmn.obj &
|
|
||||||
$(OBJS)\monodll_fddlgcmn.obj &
|
$(OBJS)\monodll_fddlgcmn.obj &
|
||||||
$(OBJS)\monodll_filepickercmn.obj &
|
$(OBJS)\monodll_filepickercmn.obj &
|
||||||
$(OBJS)\monodll_fontpickercmn.obj &
|
$(OBJS)\monodll_fontpickercmn.obj &
|
||||||
@@ -873,7 +869,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_dib.obj &
|
$(OBJS)\monolib_dib.obj &
|
||||||
$(OBJS)\monolib_display.obj &
|
$(OBJS)\monolib_display.obj &
|
||||||
$(OBJS)\monolib_enhmeta.obj &
|
$(OBJS)\monolib_enhmeta.obj &
|
||||||
$(OBJS)\monolib_evtloop.obj &
|
|
||||||
$(OBJS)\monolib_font.obj &
|
$(OBJS)\monolib_font.obj &
|
||||||
$(OBJS)\monolib_fontenum.obj &
|
$(OBJS)\monolib_fontenum.obj &
|
||||||
$(OBJS)\monolib_fontutil.obj &
|
$(OBJS)\monolib_fontutil.obj &
|
||||||
@@ -987,7 +982,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_dpycmn.obj &
|
$(OBJS)\monolib_dpycmn.obj &
|
||||||
$(OBJS)\monolib_dseldlg.obj &
|
$(OBJS)\monolib_dseldlg.obj &
|
||||||
$(OBJS)\monolib_effects.obj &
|
$(OBJS)\monolib_effects.obj &
|
||||||
$(OBJS)\monolib_evtloopcmn.obj &
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj &
|
$(OBJS)\monolib_fddlgcmn.obj &
|
||||||
$(OBJS)\monolib_filepickercmn.obj &
|
$(OBJS)\monolib_filepickercmn.obj &
|
||||||
$(OBJS)\monolib_fontpickercmn.obj &
|
$(OBJS)\monolib_fontpickercmn.obj &
|
||||||
@@ -1101,7 +1095,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_dib.obj &
|
$(OBJS)\monolib_dib.obj &
|
||||||
$(OBJS)\monolib_display.obj &
|
$(OBJS)\monolib_display.obj &
|
||||||
$(OBJS)\monolib_enhmeta.obj &
|
$(OBJS)\monolib_enhmeta.obj &
|
||||||
$(OBJS)\monolib_evtloop.obj &
|
|
||||||
$(OBJS)\monolib_font.obj &
|
$(OBJS)\monolib_font.obj &
|
||||||
$(OBJS)\monolib_fontenum.obj &
|
$(OBJS)\monolib_fontenum.obj &
|
||||||
$(OBJS)\monolib_fontutil.obj &
|
$(OBJS)\monolib_fontutil.obj &
|
||||||
@@ -1218,7 +1211,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_dpycmn.obj &
|
$(OBJS)\monolib_dpycmn.obj &
|
||||||
$(OBJS)\monolib_dseldlg.obj &
|
$(OBJS)\monolib_dseldlg.obj &
|
||||||
$(OBJS)\monolib_effects.obj &
|
$(OBJS)\monolib_effects.obj &
|
||||||
$(OBJS)\monolib_evtloopcmn.obj &
|
|
||||||
$(OBJS)\monolib_fddlgcmn.obj &
|
$(OBJS)\monolib_fddlgcmn.obj &
|
||||||
$(OBJS)\monolib_filepickercmn.obj &
|
$(OBJS)\monolib_filepickercmn.obj &
|
||||||
$(OBJS)\monolib_fontpickercmn.obj &
|
$(OBJS)\monolib_fontpickercmn.obj &
|
||||||
@@ -1448,7 +1440,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_dib.obj &
|
$(OBJS)\coredll_dib.obj &
|
||||||
$(OBJS)\coredll_display.obj &
|
$(OBJS)\coredll_display.obj &
|
||||||
$(OBJS)\coredll_enhmeta.obj &
|
$(OBJS)\coredll_enhmeta.obj &
|
||||||
$(OBJS)\coredll_evtloop.obj &
|
|
||||||
$(OBJS)\coredll_font.obj &
|
$(OBJS)\coredll_font.obj &
|
||||||
$(OBJS)\coredll_fontenum.obj &
|
$(OBJS)\coredll_fontenum.obj &
|
||||||
$(OBJS)\coredll_fontutil.obj &
|
$(OBJS)\coredll_fontutil.obj &
|
||||||
@@ -1562,7 +1553,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_dpycmn.obj &
|
$(OBJS)\coredll_dpycmn.obj &
|
||||||
$(OBJS)\coredll_dseldlg.obj &
|
$(OBJS)\coredll_dseldlg.obj &
|
||||||
$(OBJS)\coredll_effects.obj &
|
$(OBJS)\coredll_effects.obj &
|
||||||
$(OBJS)\coredll_evtloopcmn.obj &
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj &
|
$(OBJS)\coredll_fddlgcmn.obj &
|
||||||
$(OBJS)\coredll_filepickercmn.obj &
|
$(OBJS)\coredll_filepickercmn.obj &
|
||||||
$(OBJS)\coredll_fontpickercmn.obj &
|
$(OBJS)\coredll_fontpickercmn.obj &
|
||||||
@@ -1676,7 +1666,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_dib.obj &
|
$(OBJS)\coredll_dib.obj &
|
||||||
$(OBJS)\coredll_display.obj &
|
$(OBJS)\coredll_display.obj &
|
||||||
$(OBJS)\coredll_enhmeta.obj &
|
$(OBJS)\coredll_enhmeta.obj &
|
||||||
$(OBJS)\coredll_evtloop.obj &
|
|
||||||
$(OBJS)\coredll_font.obj &
|
$(OBJS)\coredll_font.obj &
|
||||||
$(OBJS)\coredll_fontenum.obj &
|
$(OBJS)\coredll_fontenum.obj &
|
||||||
$(OBJS)\coredll_fontutil.obj &
|
$(OBJS)\coredll_fontutil.obj &
|
||||||
@@ -1793,7 +1782,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_dpycmn.obj &
|
$(OBJS)\coredll_dpycmn.obj &
|
||||||
$(OBJS)\coredll_dseldlg.obj &
|
$(OBJS)\coredll_dseldlg.obj &
|
||||||
$(OBJS)\coredll_effects.obj &
|
$(OBJS)\coredll_effects.obj &
|
||||||
$(OBJS)\coredll_evtloopcmn.obj &
|
|
||||||
$(OBJS)\coredll_fddlgcmn.obj &
|
$(OBJS)\coredll_fddlgcmn.obj &
|
||||||
$(OBJS)\coredll_filepickercmn.obj &
|
$(OBJS)\coredll_filepickercmn.obj &
|
||||||
$(OBJS)\coredll_fontpickercmn.obj &
|
$(OBJS)\coredll_fontpickercmn.obj &
|
||||||
@@ -1917,7 +1905,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_dib.obj &
|
$(OBJS)\corelib_dib.obj &
|
||||||
$(OBJS)\corelib_display.obj &
|
$(OBJS)\corelib_display.obj &
|
||||||
$(OBJS)\corelib_enhmeta.obj &
|
$(OBJS)\corelib_enhmeta.obj &
|
||||||
$(OBJS)\corelib_evtloop.obj &
|
|
||||||
$(OBJS)\corelib_font.obj &
|
$(OBJS)\corelib_font.obj &
|
||||||
$(OBJS)\corelib_fontenum.obj &
|
$(OBJS)\corelib_fontenum.obj &
|
||||||
$(OBJS)\corelib_fontutil.obj &
|
$(OBJS)\corelib_fontutil.obj &
|
||||||
@@ -2031,7 +2018,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_dpycmn.obj &
|
$(OBJS)\corelib_dpycmn.obj &
|
||||||
$(OBJS)\corelib_dseldlg.obj &
|
$(OBJS)\corelib_dseldlg.obj &
|
||||||
$(OBJS)\corelib_effects.obj &
|
$(OBJS)\corelib_effects.obj &
|
||||||
$(OBJS)\corelib_evtloopcmn.obj &
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj &
|
$(OBJS)\corelib_fddlgcmn.obj &
|
||||||
$(OBJS)\corelib_filepickercmn.obj &
|
$(OBJS)\corelib_filepickercmn.obj &
|
||||||
$(OBJS)\corelib_fontpickercmn.obj &
|
$(OBJS)\corelib_fontpickercmn.obj &
|
||||||
@@ -2145,7 +2131,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_dib.obj &
|
$(OBJS)\corelib_dib.obj &
|
||||||
$(OBJS)\corelib_display.obj &
|
$(OBJS)\corelib_display.obj &
|
||||||
$(OBJS)\corelib_enhmeta.obj &
|
$(OBJS)\corelib_enhmeta.obj &
|
||||||
$(OBJS)\corelib_evtloop.obj &
|
|
||||||
$(OBJS)\corelib_font.obj &
|
$(OBJS)\corelib_font.obj &
|
||||||
$(OBJS)\corelib_fontenum.obj &
|
$(OBJS)\corelib_fontenum.obj &
|
||||||
$(OBJS)\corelib_fontutil.obj &
|
$(OBJS)\corelib_fontutil.obj &
|
||||||
@@ -2262,7 +2247,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_dpycmn.obj &
|
$(OBJS)\corelib_dpycmn.obj &
|
||||||
$(OBJS)\corelib_dseldlg.obj &
|
$(OBJS)\corelib_dseldlg.obj &
|
||||||
$(OBJS)\corelib_effects.obj &
|
$(OBJS)\corelib_effects.obj &
|
||||||
$(OBJS)\corelib_evtloopcmn.obj &
|
|
||||||
$(OBJS)\corelib_fddlgcmn.obj &
|
$(OBJS)\corelib_fddlgcmn.obj &
|
||||||
$(OBJS)\corelib_filepickercmn.obj &
|
$(OBJS)\corelib_filepickercmn.obj &
|
||||||
$(OBJS)\corelib_fontpickercmn.obj &
|
$(OBJS)\corelib_fontpickercmn.obj &
|
||||||
@@ -3253,6 +3237,7 @@ MONODLL_OBJECTS = &
|
|||||||
$(OBJS)\monodll_dynlib.obj &
|
$(OBJS)\monodll_dynlib.obj &
|
||||||
$(OBJS)\monodll_dynload.obj &
|
$(OBJS)\monodll_dynload.obj &
|
||||||
$(OBJS)\monodll_encconv.obj &
|
$(OBJS)\monodll_encconv.obj &
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj &
|
||||||
$(OBJS)\monodll_extended.obj &
|
$(OBJS)\monodll_extended.obj &
|
||||||
$(OBJS)\monodll_ffile.obj &
|
$(OBJS)\monodll_ffile.obj &
|
||||||
$(OBJS)\monodll_file.obj &
|
$(OBJS)\monodll_file.obj &
|
||||||
@@ -3331,6 +3316,7 @@ MONODLL_OBJECTS = &
|
|||||||
$(OBJS)\monodll_fs_mem.obj &
|
$(OBJS)\monodll_fs_mem.obj &
|
||||||
$(OBJS)\monodll_msgout.obj &
|
$(OBJS)\monodll_msgout.obj &
|
||||||
$(OBJS)\monodll_utilscmn.obj &
|
$(OBJS)\monodll_utilscmn.obj &
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj &
|
||||||
$(OBJS)\monodll_main.obj &
|
$(OBJS)\monodll_main.obj &
|
||||||
$(OBJS)\monodll_mslu.obj &
|
$(OBJS)\monodll_mslu.obj &
|
||||||
$(OBJS)\monodll_volume.obj &
|
$(OBJS)\monodll_volume.obj &
|
||||||
@@ -3386,6 +3372,7 @@ MONOLIB_OBJECTS = &
|
|||||||
$(OBJS)\monolib_dynlib.obj &
|
$(OBJS)\monolib_dynlib.obj &
|
||||||
$(OBJS)\monolib_dynload.obj &
|
$(OBJS)\monolib_dynload.obj &
|
||||||
$(OBJS)\monolib_encconv.obj &
|
$(OBJS)\monolib_encconv.obj &
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj &
|
||||||
$(OBJS)\monolib_extended.obj &
|
$(OBJS)\monolib_extended.obj &
|
||||||
$(OBJS)\monolib_ffile.obj &
|
$(OBJS)\monolib_ffile.obj &
|
||||||
$(OBJS)\monolib_file.obj &
|
$(OBJS)\monolib_file.obj &
|
||||||
@@ -3464,6 +3451,7 @@ MONOLIB_OBJECTS = &
|
|||||||
$(OBJS)\monolib_fs_mem.obj &
|
$(OBJS)\monolib_fs_mem.obj &
|
||||||
$(OBJS)\monolib_msgout.obj &
|
$(OBJS)\monolib_msgout.obj &
|
||||||
$(OBJS)\monolib_utilscmn.obj &
|
$(OBJS)\monolib_utilscmn.obj &
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj &
|
||||||
$(OBJS)\monolib_main.obj &
|
$(OBJS)\monolib_main.obj &
|
||||||
$(OBJS)\monolib_mslu.obj &
|
$(OBJS)\monolib_mslu.obj &
|
||||||
$(OBJS)\monolib_volume.obj &
|
$(OBJS)\monolib_volume.obj &
|
||||||
@@ -3517,6 +3505,7 @@ BASEDLL_OBJECTS = &
|
|||||||
$(OBJS)\basedll_dynlib.obj &
|
$(OBJS)\basedll_dynlib.obj &
|
||||||
$(OBJS)\basedll_dynload.obj &
|
$(OBJS)\basedll_dynload.obj &
|
||||||
$(OBJS)\basedll_encconv.obj &
|
$(OBJS)\basedll_encconv.obj &
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj &
|
||||||
$(OBJS)\basedll_extended.obj &
|
$(OBJS)\basedll_extended.obj &
|
||||||
$(OBJS)\basedll_ffile.obj &
|
$(OBJS)\basedll_ffile.obj &
|
||||||
$(OBJS)\basedll_file.obj &
|
$(OBJS)\basedll_file.obj &
|
||||||
@@ -3595,6 +3584,7 @@ BASEDLL_OBJECTS = &
|
|||||||
$(OBJS)\basedll_fs_mem.obj &
|
$(OBJS)\basedll_fs_mem.obj &
|
||||||
$(OBJS)\basedll_msgout.obj &
|
$(OBJS)\basedll_msgout.obj &
|
||||||
$(OBJS)\basedll_utilscmn.obj &
|
$(OBJS)\basedll_utilscmn.obj &
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj &
|
||||||
$(OBJS)\basedll_main.obj &
|
$(OBJS)\basedll_main.obj &
|
||||||
$(OBJS)\basedll_mslu.obj &
|
$(OBJS)\basedll_mslu.obj &
|
||||||
$(OBJS)\basedll_volume.obj
|
$(OBJS)\basedll_volume.obj
|
||||||
@@ -3632,6 +3622,7 @@ BASELIB_OBJECTS = &
|
|||||||
$(OBJS)\baselib_dynlib.obj &
|
$(OBJS)\baselib_dynlib.obj &
|
||||||
$(OBJS)\baselib_dynload.obj &
|
$(OBJS)\baselib_dynload.obj &
|
||||||
$(OBJS)\baselib_encconv.obj &
|
$(OBJS)\baselib_encconv.obj &
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj &
|
||||||
$(OBJS)\baselib_extended.obj &
|
$(OBJS)\baselib_extended.obj &
|
||||||
$(OBJS)\baselib_ffile.obj &
|
$(OBJS)\baselib_ffile.obj &
|
||||||
$(OBJS)\baselib_file.obj &
|
$(OBJS)\baselib_file.obj &
|
||||||
@@ -3710,6 +3701,7 @@ BASELIB_OBJECTS = &
|
|||||||
$(OBJS)\baselib_fs_mem.obj &
|
$(OBJS)\baselib_fs_mem.obj &
|
||||||
$(OBJS)\baselib_msgout.obj &
|
$(OBJS)\baselib_msgout.obj &
|
||||||
$(OBJS)\baselib_utilscmn.obj &
|
$(OBJS)\baselib_utilscmn.obj &
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj &
|
||||||
$(OBJS)\baselib_main.obj &
|
$(OBJS)\baselib_main.obj &
|
||||||
$(OBJS)\baselib_mslu.obj &
|
$(OBJS)\baselib_mslu.obj &
|
||||||
$(OBJS)\baselib_volume.obj
|
$(OBJS)\baselib_volume.obj
|
||||||
@@ -3773,6 +3765,7 @@ COREDLL_OBJECTS = &
|
|||||||
$(OBJS)\coredll_fs_mem.obj &
|
$(OBJS)\coredll_fs_mem.obj &
|
||||||
$(OBJS)\coredll_msgout.obj &
|
$(OBJS)\coredll_msgout.obj &
|
||||||
$(OBJS)\coredll_utilscmn.obj &
|
$(OBJS)\coredll_utilscmn.obj &
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj &
|
||||||
$(OBJS)\coredll_main.obj &
|
$(OBJS)\coredll_main.obj &
|
||||||
$(OBJS)\coredll_mslu.obj &
|
$(OBJS)\coredll_mslu.obj &
|
||||||
$(OBJS)\coredll_volume.obj &
|
$(OBJS)\coredll_volume.obj &
|
||||||
@@ -3791,6 +3784,7 @@ CORELIB_OBJECTS = &
|
|||||||
$(OBJS)\corelib_fs_mem.obj &
|
$(OBJS)\corelib_fs_mem.obj &
|
||||||
$(OBJS)\corelib_msgout.obj &
|
$(OBJS)\corelib_msgout.obj &
|
||||||
$(OBJS)\corelib_utilscmn.obj &
|
$(OBJS)\corelib_utilscmn.obj &
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj &
|
||||||
$(OBJS)\corelib_main.obj &
|
$(OBJS)\corelib_main.obj &
|
||||||
$(OBJS)\corelib_mslu.obj &
|
$(OBJS)\corelib_mslu.obj &
|
||||||
$(OBJS)\corelib_volume.obj &
|
$(OBJS)\corelib_volume.obj &
|
||||||
@@ -5659,6 +5653,9 @@ $(OBJS)\monodll_dynload.obj : .AUTODEPEND ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monodll_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
$(OBJS)\monodll_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
$(OBJS)\monodll_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
||||||
$(CC) -bt=nt -zq -fo=$^@ $(MONODLL_CFLAGS) $<
|
$(CC) -bt=nt -zq -fo=$^@ $(MONODLL_CFLAGS) $<
|
||||||
|
|
||||||
@@ -5893,6 +5890,9 @@ $(OBJS)\monodll_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monodll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monodll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\monodll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -6491,11 +6491,6 @@ $(OBJS)\monodll_enhmeta.obj : .AUTODEPEND ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\monodll_evtloop.obj : .AUTODEPEND ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monodll_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
$(OBJS)\monodll_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
@@ -7176,11 +7171,6 @@ $(OBJS)\monodll_effects.obj : .AUTODEPEND ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\monodll_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monodll_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monodll_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
@@ -7825,6 +7815,9 @@ $(OBJS)\monolib_dynload.obj : .AUTODEPEND ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\monolib_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
$(OBJS)\monolib_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
$(OBJS)\monolib_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
||||||
$(CC) -bt=nt -zq -fo=$^@ $(MONOLIB_CFLAGS) $<
|
$(CC) -bt=nt -zq -fo=$^@ $(MONOLIB_CFLAGS) $<
|
||||||
|
|
||||||
@@ -8059,6 +8052,9 @@ $(OBJS)\monolib_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\monolib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\monolib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\monolib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -8657,11 +8653,6 @@ $(OBJS)\monolib_enhmeta.obj : .AUTODEPEND ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\monolib_evtloop.obj : .AUTODEPEND ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monolib_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
$(OBJS)\monolib_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
@@ -9342,11 +9333,6 @@ $(OBJS)\monolib_effects.obj : .AUTODEPEND ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\monolib_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monolib_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\monolib_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
@@ -9991,6 +9977,9 @@ $(OBJS)\basedll_dynload.obj : .AUTODEPEND ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\basedll_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
$(OBJS)\basedll_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
$(OBJS)\basedll_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
||||||
$(CC) -bt=nt -zq -fo=$^@ $(BASEDLL_CFLAGS) $<
|
$(CC) -bt=nt -zq -fo=$^@ $(BASEDLL_CFLAGS) $<
|
||||||
|
|
||||||
@@ -10225,6 +10214,9 @@ $(OBJS)\basedll_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\basedll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\basedll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\basedll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASEDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -10285,6 +10277,9 @@ $(OBJS)\baselib_dynload.obj : .AUTODEPEND ..\..\src\common\dynload.cpp
|
|||||||
$(OBJS)\baselib_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
$(OBJS)\baselib_encconv.obj : .AUTODEPEND ..\..\src\common\encconv.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
$(OBJS)\baselib_extended.obj : .AUTODEPEND ..\..\src\common\extended.c
|
||||||
$(CC) -bt=nt -zq -fo=$^@ $(BASELIB_CFLAGS) $<
|
$(CC) -bt=nt -zq -fo=$^@ $(BASELIB_CFLAGS) $<
|
||||||
|
|
||||||
@@ -10519,6 +10514,9 @@ $(OBJS)\baselib_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\baselib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\baselib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\baselib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(BASELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -10627,6 +10625,9 @@ $(OBJS)\coredll_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\coredll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\coredll_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\coredll_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\coredll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\coredll_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -10862,11 +10863,6 @@ $(OBJS)\coredll_enhmeta.obj : .AUTODEPEND ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\coredll_evtloop.obj : .AUTODEPEND ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\coredll_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
$(OBJS)\coredll_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
@@ -11547,11 +11543,6 @@ $(OBJS)\coredll_effects.obj : .AUTODEPEND ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\coredll_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\coredll_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\coredll_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
@@ -12022,6 +12013,9 @@ $(OBJS)\corelib_msgout.obj : .AUTODEPEND ..\..\src\common\msgout.cpp
|
|||||||
$(OBJS)\corelib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
$(OBJS)\corelib_utilscmn.obj : .AUTODEPEND ..\..\src\common\utilscmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
|
$(OBJS)\corelib_evtloopmsw.obj : .AUTODEPEND ..\..\src\msw\evtloopmsw.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
$(OBJS)\corelib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
$(OBJS)\corelib_main.obj : .AUTODEPEND ..\..\src\msw\main.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
|
||||||
@@ -12257,11 +12251,6 @@ $(OBJS)\corelib_enhmeta.obj : .AUTODEPEND ..\..\src\msw\enhmeta.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\corelib_evtloop.obj : .AUTODEPEND ..\..\src\msw\evtloop.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\corelib_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
$(OBJS)\corelib_font.obj : .AUTODEPEND ..\..\src\msw\font.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
@@ -12942,11 +12931,6 @@ $(OBJS)\corelib_effects.obj : .AUTODEPEND ..\..\src\common\effects.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
|
||||||
$(OBJS)\corelib_evtloopcmn.obj : .AUTODEPEND ..\..\src\common\evtloopcmn.cpp
|
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
|
||||||
!endif
|
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\corelib_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
$(OBJS)\corelib_fddlgcmn.obj : .AUTODEPEND ..\..\src\common\fddlgcmn.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
@@ -526,6 +526,10 @@ SOURCE=..\..\src\common\event.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\common\evtloopcmn.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\common\extended.c
|
SOURCE=..\..\src\common\extended.c
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
# SUBTRACT CPP /YX /Yc /Yu
|
||||||
# End Source File
|
# End Source File
|
||||||
@@ -795,6 +799,10 @@ SOURCE=..\..\src\msw\dlmsw.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\msw\evtloopmsw.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\msw\main.cpp
|
SOURCE=..\..\src\msw\main.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@@ -594,10 +594,6 @@ SOURCE=..\..\src\common\event.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\common\evtloopcmn.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\common\fddlgcmn.cpp
|
SOURCE=..\..\src\common\fddlgcmn.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@@ -1820,7 +1816,7 @@ SOURCE=..\..\src\msw\enhmeta.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\msw\evtloop.cpp
|
SOURCE=..\..\src\msw\evtloopmsw.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
@@ -1871,6 +1871,9 @@ if test "$USE_UNIX" = 1 ; then
|
|||||||
AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
|
AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl defines HAVE_SYS_EPOLL_H - for epoll mainloop implementation in wxbase
|
||||||
|
AC_CHECK_HEADERS(sys/epoll.h)
|
||||||
|
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
dnl Checks for compiler characteristics
|
dnl Checks for compiler characteristics
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
|
@@ -89,6 +89,7 @@ All:
|
|||||||
- Added wxEXEC_BLOCK flag (Hank Schultz)
|
- Added wxEXEC_BLOCK flag (Hank Schultz)
|
||||||
- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev)
|
- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev)
|
||||||
- Added wxStreamBuffer::Truncate() (Stas Sergeev)
|
- Added wxStreamBuffer::Truncate() (Stas Sergeev)
|
||||||
|
- Allow using wxEventLoop in console applications (Lukasz Michalski)
|
||||||
|
|
||||||
All (GUI):
|
All (GUI):
|
||||||
|
|
||||||
|
106
include/wx/app.h
106
include/wx/app.h
@@ -25,6 +25,7 @@
|
|||||||
class WXDLLIMPEXP_BASE wxAppConsole;
|
class WXDLLIMPEXP_BASE wxAppConsole;
|
||||||
class WXDLLIMPEXP_BASE wxAppTraits;
|
class WXDLLIMPEXP_BASE wxAppTraits;
|
||||||
class WXDLLIMPEXP_BASE wxCmdLineParser;
|
class WXDLLIMPEXP_BASE wxCmdLineParser;
|
||||||
|
class WXDLLIMPEXP_BASE wxEventLoop;
|
||||||
class WXDLLIMPEXP_BASE wxLog;
|
class WXDLLIMPEXP_BASE wxLog;
|
||||||
class WXDLLIMPEXP_BASE wxMessageOutput;
|
class WXDLLIMPEXP_BASE wxMessageOutput;
|
||||||
|
|
||||||
@@ -86,7 +87,7 @@ public:
|
|||||||
|
|
||||||
// This is the replacement for the normal main(): all program work should
|
// This is the replacement for the normal main(): all program work should
|
||||||
// be done here. When OnRun() returns, the programs starts shutting down.
|
// be done here. When OnRun() returns, the programs starts shutting down.
|
||||||
virtual int OnRun() = 0;
|
virtual int OnRun();
|
||||||
|
|
||||||
// This is only called if OnInit() returned true so it's a good place to do
|
// This is only called if OnInit() returned true so it's a good place to do
|
||||||
// any cleanup matching the initializations done there.
|
// any cleanup matching the initializations done there.
|
||||||
@@ -170,7 +171,7 @@ public:
|
|||||||
// either should be configurable by the user (then he can change the
|
// either should be configurable by the user (then he can change the
|
||||||
// default behaviour simply by overriding CreateTraits() and returning his
|
// default behaviour simply by overriding CreateTraits() and returning his
|
||||||
// own traits object) or which is GUI/console dependent as then wxAppTraits
|
// own traits object) or which is GUI/console dependent as then wxAppTraits
|
||||||
// allows us to abstract the differences behind the common fa<66>ade
|
// allows us to abstract the differences behind the common fa<66>de
|
||||||
wxAppTraits *GetTraits();
|
wxAppTraits *GetTraits();
|
||||||
|
|
||||||
|
|
||||||
@@ -203,22 +204,62 @@ public:
|
|||||||
virtual void OnUnhandledException() { }
|
virtual void OnUnhandledException() { }
|
||||||
#endif // wxUSE_EXCEPTIONS
|
#endif // wxUSE_EXCEPTIONS
|
||||||
|
|
||||||
|
// event processing functions
|
||||||
|
// --------------------------
|
||||||
|
|
||||||
|
// return true if we're running event loop, i.e. if the events can
|
||||||
|
// (already) be dispatched
|
||||||
|
static bool IsMainLoopRunning()
|
||||||
|
{
|
||||||
|
const wxAppConsole * const app = GetInstance();
|
||||||
|
return app && app->m_mainLoop != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// process all events in the wxPendingEvents list -- it is necessary to
|
// process all events in the wxPendingEvents list -- it is necessary to
|
||||||
// call this function to process posted events. This happens during each
|
// call this function to process posted events. This happens during each
|
||||||
// event loop iteration in GUI mode but if there is no main loop, it may be
|
// event loop iteration in GUI mode but if there is no main loop, it may be
|
||||||
// also called directly.
|
// also called directly.
|
||||||
virtual void ProcessPendingEvents();
|
virtual void ProcessPendingEvents();
|
||||||
|
|
||||||
|
// check if there are pending events on global pending event list
|
||||||
|
bool HasPendingEvents() const;
|
||||||
|
|
||||||
// doesn't do anything in this class, just a hook for GUI wxApp
|
// doesn't do anything in this class, just a hook for GUI wxApp
|
||||||
virtual bool Yield(bool WXUNUSED(onlyIfNeeded) = false) { return true; }
|
virtual bool Yield(bool WXUNUSED(onlyIfNeeded) = false) { return true; }
|
||||||
|
|
||||||
// make sure that idle events are sent again
|
// make sure that idle events are sent again
|
||||||
virtual void WakeUpIdle() { }
|
virtual void WakeUpIdle();
|
||||||
|
|
||||||
// this is just a convenience: by providing its implementation here we
|
// execute the main GUI loop, the function returns when the loop ends
|
||||||
// avoid #ifdefs in the code using it
|
virtual int MainLoop();
|
||||||
static bool IsMainLoopRunning() { return false; }
|
|
||||||
|
|
||||||
|
// exit the main GUI loop during the next iteration (i.e. it does not
|
||||||
|
// stop the program immediately!)
|
||||||
|
virtual void ExitMainLoop();
|
||||||
|
|
||||||
|
// returns true if there are unprocessed events in the event queue
|
||||||
|
virtual bool Pending();
|
||||||
|
|
||||||
|
// process the first event in the event queue (blocks until an event
|
||||||
|
// appears if there are none currently, use Pending() if this is not
|
||||||
|
// wanted), returns false if the event loop should stop and true
|
||||||
|
// otherwise
|
||||||
|
virtual bool Dispatch();
|
||||||
|
|
||||||
|
// this virtual function is called when the application
|
||||||
|
// becomes idle and normally just sends wxIdleEvent to all interested
|
||||||
|
// parties
|
||||||
|
//
|
||||||
|
// it should return true if more idle events are needed, false if not
|
||||||
|
virtual bool ProcessIdle();
|
||||||
|
|
||||||
|
#if wxUSE_EXCEPTIONS
|
||||||
|
// Function called if an uncaught exception is caught inside the main
|
||||||
|
// event loop: it may return true to continue running the event loop or
|
||||||
|
// false to stop it (in the latter case it may rethrow the exception as
|
||||||
|
// well)
|
||||||
|
virtual bool OnExceptionInMainLoop();
|
||||||
|
#endif // wxUSE_EXCEPTIONS
|
||||||
|
|
||||||
// debugging support
|
// debugging support
|
||||||
// -----------------
|
// -----------------
|
||||||
@@ -284,6 +325,9 @@ protected:
|
|||||||
// the one and only global application object
|
// the one and only global application object
|
||||||
static wxAppConsole *ms_appInstance;
|
static wxAppConsole *ms_appInstance;
|
||||||
|
|
||||||
|
// create main loop from AppTraits or return NULL if
|
||||||
|
// there is no main loop implementation
|
||||||
|
wxEventLoop *CreateMainLoop();
|
||||||
|
|
||||||
// application info (must be set from the user code)
|
// application info (must be set from the user code)
|
||||||
wxString m_vendorName, // vendor name (ACME Inc)
|
wxString m_vendorName, // vendor name (ACME Inc)
|
||||||
@@ -294,6 +338,9 @@ protected:
|
|||||||
// by GetTraits() when first needed
|
// by GetTraits() when first needed
|
||||||
wxAppTraits *m_traits;
|
wxAppTraits *m_traits;
|
||||||
|
|
||||||
|
// the main event loop of the application (may be NULL if the loop hasn't
|
||||||
|
// been started yet or has already terminated)
|
||||||
|
wxEventLoop *m_mainLoop;
|
||||||
|
|
||||||
// the application object is a singleton anyhow, there is no sense in
|
// the application object is a singleton anyhow, there is no sense in
|
||||||
// copying it
|
// copying it
|
||||||
@@ -347,32 +394,7 @@ public:
|
|||||||
// the worker functions - usually not used directly by the user code
|
// the worker functions - usually not used directly by the user code
|
||||||
// -----------------------------------------------------------------
|
// -----------------------------------------------------------------
|
||||||
|
|
||||||
// return true if we're running main loop, i.e. if the events can
|
|
||||||
// (already) be dispatched
|
|
||||||
static bool IsMainLoopRunning()
|
|
||||||
{
|
|
||||||
wxAppBase *app = wx_static_cast(wxAppBase *, GetInstance());
|
|
||||||
return app && app->m_mainLoop != NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// execute the main GUI loop, the function returns when the loop ends
|
|
||||||
virtual int MainLoop();
|
|
||||||
|
|
||||||
// exit the main loop thus terminating the application
|
|
||||||
virtual void Exit();
|
|
||||||
|
|
||||||
// exit the main GUI loop during the next iteration (i.e. it does not
|
|
||||||
// stop the program immediately!)
|
|
||||||
virtual void ExitMainLoop();
|
|
||||||
|
|
||||||
// returns true if there are unprocessed events in the event queue
|
|
||||||
virtual bool Pending();
|
|
||||||
|
|
||||||
// process the first event in the event queue (blocks until an event
|
|
||||||
// appears if there are none currently, use Pending() if this is not
|
|
||||||
// wanted), returns false if the event loop should stop and true
|
|
||||||
// otherwise
|
|
||||||
virtual bool Dispatch();
|
|
||||||
|
|
||||||
// process all currently pending events right now
|
// process all currently pending events right now
|
||||||
//
|
//
|
||||||
@@ -397,15 +419,6 @@ public:
|
|||||||
virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event);
|
virtual bool SendIdleEvents(wxWindow* win, wxIdleEvent& event);
|
||||||
|
|
||||||
|
|
||||||
#if wxUSE_EXCEPTIONS
|
|
||||||
// Function called if an uncaught exception is caught inside the main
|
|
||||||
// event loop: it may return true to continue running the event loop or
|
|
||||||
// false to stop it (in the latter case it may rethrow the exception as
|
|
||||||
// well)
|
|
||||||
virtual bool OnExceptionInMainLoop();
|
|
||||||
#endif // wxUSE_EXCEPTIONS
|
|
||||||
|
|
||||||
|
|
||||||
// top level window functions
|
// top level window functions
|
||||||
// --------------------------
|
// --------------------------
|
||||||
|
|
||||||
@@ -494,10 +507,6 @@ protected:
|
|||||||
virtual wxAppTraits *CreateTraits();
|
virtual wxAppTraits *CreateTraits();
|
||||||
|
|
||||||
|
|
||||||
// the main event loop of the application (may be NULL if the loop hasn't
|
|
||||||
// been started yet or has already terminated)
|
|
||||||
wxEventLoop *m_mainLoop;
|
|
||||||
|
|
||||||
// the main top level window (may be NULL)
|
// the main top level window (may be NULL)
|
||||||
wxWindow *m_topWindow;
|
wxWindow *m_topWindow;
|
||||||
|
|
||||||
@@ -560,8 +569,15 @@ protected:
|
|||||||
#include "wx/os2/app.h"
|
#include "wx/os2/app.h"
|
||||||
#endif
|
#endif
|
||||||
#else // !GUI
|
#else // !GUI
|
||||||
|
// wxApp is defined in core and we cannot define another one in wxBase,
|
||||||
|
// so we create a different class and typedef it to wxApp instead
|
||||||
|
#if defined(__UNIX__)
|
||||||
|
#include "wx/unix/app.h"
|
||||||
|
class wxApp : public wxAppConsoleUnix { };
|
||||||
|
#else
|
||||||
// allow using just wxApp (instead of wxAppConsole) in console programs
|
// allow using just wxApp (instead of wxAppConsole) in console programs
|
||||||
typedef wxAppConsole wxApp;
|
class wxApp : public wxAppConsole { };
|
||||||
|
#endif
|
||||||
#endif // GUI/!GUI
|
#endif // GUI/!GUI
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
class WXDLLIMPEXP_BASE wxArrayString;
|
class WXDLLIMPEXP_BASE wxArrayString;
|
||||||
class WXDLLIMPEXP_BASE wxObject;
|
class WXDLLIMPEXP_BASE wxObject;
|
||||||
class WXDLLEXPORT wxAppTraits;
|
class WXDLLEXPORT wxAppTraits;
|
||||||
|
class WXDLLIMPEXP_BASE wxEventLoop;
|
||||||
#if wxUSE_FONTMAP
|
#if wxUSE_FONTMAP
|
||||||
class WXDLLEXPORT wxFontMapper;
|
class WXDLLEXPORT wxFontMapper;
|
||||||
#endif // wxUSE_FONTMAP
|
#endif // wxUSE_FONTMAP
|
||||||
@@ -120,6 +121,9 @@ public:
|
|||||||
virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
|
virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// create a new, port specific, instance of the event loop used by wxApp
|
||||||
|
virtual wxEventLoop *CreateEventLoop() = 0;
|
||||||
|
|
||||||
#if wxUSE_TIMER
|
#if wxUSE_TIMER
|
||||||
// return platform and toolkit dependent wxTimer implementation
|
// return platform and toolkit dependent wxTimer implementation
|
||||||
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) = 0;
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) = 0;
|
||||||
|
@@ -20,10 +20,10 @@ struct wxDFBEvent;
|
|||||||
// wxEventLoop
|
// wxEventLoop
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxEventLoop : public wxEventLoopManual
|
class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop();
|
wxGUIEventLoop();
|
||||||
|
|
||||||
virtual bool Pending() const;
|
virtual bool Pending() const;
|
||||||
virtual bool Dispatch();
|
virtual bool Dispatch();
|
||||||
@@ -50,7 +50,7 @@ private:
|
|||||||
private:
|
private:
|
||||||
static wxIDirectFBEventBufferPtr ms_buffer;
|
static wxIDirectFBEventBufferPtr ms_buffer;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxEventLoop)
|
DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _WX_DFB_EVTLOOP_H_
|
#endif // _WX_DFB_EVTLOOP_H_
|
||||||
|
@@ -111,7 +111,7 @@ private:
|
|||||||
// are we currently painting some area of this TLW?
|
// are we currently painting some area of this TLW?
|
||||||
bool m_isPainting;
|
bool m_isPainting;
|
||||||
|
|
||||||
friend class wxEventLoop; // for HandleDFBWindowEvent
|
friend class wxGUIEventLoop; // for HandleDFBWindowEvent
|
||||||
friend class wxWindowDFB; // for SetDfbFocus
|
friend class wxWindowDFB; // for SetDfbFocus
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -2068,6 +2068,8 @@ private:
|
|||||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxContextMenuEvent)
|
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxContextMenuEvent)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
// Idle event
|
// Idle event
|
||||||
/*
|
/*
|
||||||
wxEVT_IDLE
|
wxEVT_IDLE
|
||||||
@@ -2087,7 +2089,7 @@ enum wxIdleMode
|
|||||||
wxIDLE_PROCESS_SPECIFIED
|
wxIDLE_PROCESS_SPECIFIED
|
||||||
};
|
};
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxIdleEvent : public wxEvent
|
class WXDLLIMPEXP_BASE wxIdleEvent : public wxEvent
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxIdleEvent()
|
wxIdleEvent()
|
||||||
@@ -2112,9 +2114,6 @@ public:
|
|||||||
// Returns the idle event mode
|
// Returns the idle event mode
|
||||||
static wxIdleMode GetMode() { return sm_idleMode; }
|
static wxIdleMode GetMode() { return sm_idleMode; }
|
||||||
|
|
||||||
// Can we send an idle event?
|
|
||||||
static bool CanSend(wxWindow* win);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_requestMore;
|
bool m_requestMore;
|
||||||
static wxIdleMode sm_idleMode;
|
static wxIdleMode sm_idleMode;
|
||||||
@@ -2123,8 +2122,6 @@ private:
|
|||||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxIdleEvent)
|
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxIdleEvent)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // wxUSE_GUI
|
|
||||||
|
|
||||||
/* TODO
|
/* TODO
|
||||||
wxEVT_MOUSE_CAPTURE_CHANGED,
|
wxEVT_MOUSE_CAPTURE_CHANGED,
|
||||||
wxEVT_SETTING_CHANGED, // WM_WININICHANGE (NT) / WM_SETTINGCHANGE (Win95)
|
wxEVT_SETTING_CHANGED, // WM_WININICHANGE (NT) / WM_SETTINGCHANGE (Win95)
|
||||||
|
@@ -17,10 +17,10 @@
|
|||||||
class WXDLLEXPORT wxEventLoop;
|
class WXDLLEXPORT wxEventLoop;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop: a GUI event loop
|
// wxEventLoopBase: interface for wxEventLoop
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoopBase
|
class WXDLLIMPEXP_BASE wxEventLoopBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// trivial, but needed (because of wxEventLoopBase) ctor
|
// trivial, but needed (because of wxEventLoopBase) ctor
|
||||||
@@ -29,6 +29,10 @@ public:
|
|||||||
// dtor
|
// dtor
|
||||||
virtual ~wxEventLoopBase() { }
|
virtual ~wxEventLoopBase() { }
|
||||||
|
|
||||||
|
// use this to check whether the event loop was successfully created before
|
||||||
|
// using it
|
||||||
|
virtual bool IsOk() const { return true; }
|
||||||
|
|
||||||
// start the event loop, return the exit code when it is finished
|
// start the event loop, return the exit code when it is finished
|
||||||
virtual int Run() = 0;
|
virtual int Run() = 0;
|
||||||
|
|
||||||
@@ -53,6 +57,10 @@ public:
|
|||||||
// spawned a nested (e.g. modal) event loop, this would return false
|
// spawned a nested (e.g. modal) event loop, this would return false
|
||||||
bool IsRunning() const;
|
bool IsRunning() const;
|
||||||
|
|
||||||
|
// implement this to wake up the loop: usually done by posting a dummy event
|
||||||
|
// to it (can be called from non main thread)
|
||||||
|
virtual void WakeUp() = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// this function should be called before the event loop terminates, whether
|
// this function should be called before the event loop terminates, whether
|
||||||
// this happens normally (because of Exit() call) or abnormally (because of
|
// this happens normally (because of Exit() call) or abnormally (because of
|
||||||
@@ -66,13 +74,13 @@ protected:
|
|||||||
DECLARE_NO_COPY_CLASS(wxEventLoopBase)
|
DECLARE_NO_COPY_CLASS(wxEventLoopBase)
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__)
|
#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || defined(__UNIX__)
|
||||||
|
|
||||||
// this class can be used to implement a standard event loop logic using
|
// this class can be used to implement a standard event loop logic using
|
||||||
// Pending() and Dispatch()
|
// Pending() and Dispatch()
|
||||||
//
|
//
|
||||||
// it also handles idle processing automatically
|
// it also handles idle processing automatically
|
||||||
class WXDLLEXPORT wxEventLoopManual : public wxEventLoopBase
|
class WXDLLIMPEXP_BASE wxEventLoopManual : public wxEventLoopBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoopManual();
|
wxEventLoopManual();
|
||||||
@@ -86,10 +94,6 @@ public:
|
|||||||
virtual void Exit(int rc = 0);
|
virtual void Exit(int rc = 0);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// implement this to wake up the loop: usually done by posting a dummy event
|
|
||||||
// to it (called from Exit())
|
|
||||||
virtual void WakeUp() = 0;
|
|
||||||
|
|
||||||
// may be overridden to perform some action at the start of each new event
|
// may be overridden to perform some action at the start of each new event
|
||||||
// loop iteration
|
// loop iteration
|
||||||
virtual void OnNextIteration() { }
|
virtual void OnNextIteration() { }
|
||||||
@@ -121,28 +125,44 @@ protected:
|
|||||||
|
|
||||||
class WXDLLEXPORT wxEventLoopImpl;
|
class WXDLLEXPORT wxEventLoopImpl;
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
|
class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop() { m_impl = NULL; }
|
wxGUIEventLoop() { m_impl = NULL; }
|
||||||
virtual ~wxEventLoop();
|
virtual ~wxGUIEventLoop();
|
||||||
|
|
||||||
virtual int Run();
|
virtual int Run();
|
||||||
virtual void Exit(int rc = 0);
|
virtual void Exit(int rc = 0);
|
||||||
virtual bool Pending() const;
|
virtual bool Pending() const;
|
||||||
virtual bool Dispatch();
|
virtual bool Dispatch();
|
||||||
|
virtual void WakeUp() { }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// the pointer to the port specific implementation class
|
// the pointer to the port specific implementation class
|
||||||
wxEventLoopImpl *m_impl;
|
wxEventLoopImpl *m_impl;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxEventLoop)
|
DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // platforms
|
#endif // platforms
|
||||||
|
|
||||||
|
// also include the header defining wxConsoleEventLoop for Unix systems
|
||||||
|
#if defined(__UNIX__)
|
||||||
|
#include "wx/unix/evtloop.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// cannot use typedef because wxEventLoop is forward-declared in many places
|
||||||
|
#if wxUSE_GUI
|
||||||
|
class wxEventLoop : public wxGUIEventLoop { };
|
||||||
|
#elif defined(__WXMSW__) || defined(__UNIX__)
|
||||||
|
class wxEventLoop : public wxConsoleEventLoop { };
|
||||||
|
#else // we still must define it somehow for the code below...
|
||||||
|
class wxEventLoop : public wxEventLoopBase { };
|
||||||
|
#endif
|
||||||
|
|
||||||
inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; }
|
inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; }
|
||||||
|
|
||||||
|
#if wxUSE_GUI
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxModalEventLoop
|
// wxModalEventLoop
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -151,7 +171,7 @@ inline bool wxEventLoopBase::IsRunning() const { return GetActive() == this; }
|
|||||||
// implement modality, we will surely need platform-specific implementations
|
// implement modality, we will surely need platform-specific implementations
|
||||||
// too, this generic implementation is here only temporarily to see how it
|
// too, this generic implementation is here only temporarily to see how it
|
||||||
// works
|
// works
|
||||||
class WXDLLEXPORT wxModalEventLoop : public wxEventLoop
|
class WXDLLEXPORT wxModalEventLoop : public wxGUIEventLoop
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxModalEventLoop(wxWindow *winModal)
|
wxModalEventLoop(wxWindow *winModal)
|
||||||
@@ -165,13 +185,15 @@ protected:
|
|||||||
delete m_windowDisabler;
|
delete m_windowDisabler;
|
||||||
m_windowDisabler = NULL;
|
m_windowDisabler = NULL;
|
||||||
|
|
||||||
wxEventLoop::OnExit();
|
wxGUIEventLoop::OnExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxWindowDisabler *m_windowDisabler;
|
wxWindowDisabler *m_windowDisabler;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif //wxUSE_GUI
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoopActivator: helper class for wxEventLoop implementations
|
// wxEventLoopActivator: helper class for wxEventLoop implementations
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -182,16 +204,16 @@ private:
|
|||||||
class wxEventLoopActivator
|
class wxEventLoopActivator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoopActivator(wxEventLoop *evtLoop)
|
wxEventLoopActivator(wxEventLoopBase *evtLoop)
|
||||||
{
|
{
|
||||||
m_evtLoopOld = wxEventLoop::GetActive();
|
m_evtLoopOld = wxEventLoopBase::GetActive();
|
||||||
wxEventLoop::SetActive(evtLoop);
|
wxEventLoopBase::SetActive(wx_static_cast(wxEventLoop *, evtLoop));
|
||||||
}
|
}
|
||||||
|
|
||||||
~wxEventLoopActivator()
|
~wxEventLoopActivator()
|
||||||
{
|
{
|
||||||
// restore the previously active event loop
|
// restore the previously active event loop
|
||||||
wxEventLoop::SetActive(m_evtLoopOld);
|
wxEventLoopBase::SetActive(m_evtLoopOld);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -1020,7 +1020,8 @@ private:
|
|||||||
iterator insert(const iterator& it, const_reference v = value_type())\
|
iterator insert(const iterator& it, const_reference v = value_type())\
|
||||||
{ \
|
{ \
|
||||||
Insert(it.m_node, (const_base_reference)v); \
|
Insert(it.m_node, (const_base_reference)v); \
|
||||||
return iterator(it.m_node->GetPrevious(), GetLast()); \
|
iterator itprev(it); \
|
||||||
|
return itprev--; \
|
||||||
} \
|
} \
|
||||||
void insert(const iterator& it, size_type n, const_reference v = value_type())\
|
void insert(const iterator& it, size_type n, const_reference v = value_type())\
|
||||||
{ \
|
{ \
|
||||||
|
@@ -29,10 +29,10 @@
|
|||||||
|
|
||||||
#if wxMAC_USE_RUN_APP_EVENT_LOOP
|
#if wxMAC_USE_RUN_APP_EVENT_LOOP
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
|
class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop() { m_exitcode = 0; }
|
wxGUIEventLoop() { m_exitcode = 0; }
|
||||||
|
|
||||||
// implement base class pure virtuals
|
// implement base class pure virtuals
|
||||||
virtual int Run();
|
virtual int Run();
|
||||||
@@ -46,10 +46,10 @@ private:
|
|||||||
|
|
||||||
#else // manual event loop
|
#else // manual event loop
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopManual
|
class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopManual
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop() { }
|
wxGUIEventLoop() { }
|
||||||
|
|
||||||
virtual bool Pending() const;
|
virtual bool Pending() const;
|
||||||
virtual bool Dispatch();
|
virtual bool Dispatch();
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
#include "X11/Xlib.h"
|
#include "X11/Xlib.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
class WXDLLEXPORT wxFont;
|
class WXDLLEXPORT wxFont;
|
||||||
class WXDLLEXPORT wxWindow;
|
class WXDLLEXPORT wxWindow;
|
||||||
@@ -185,11 +186,9 @@ wxSize wxDoGetSingleTextCtrlBestSize( Widget textWidget,
|
|||||||
// event-related functions
|
// event-related functions
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class wxEventLoop;
|
|
||||||
|
|
||||||
// executes one main loop iteration (implemented in src/motif/evtloop.cpp)
|
// executes one main loop iteration (implemented in src/motif/evtloop.cpp)
|
||||||
// returns true if the loop should be exited
|
// returns true if the loop should be exited
|
||||||
bool wxDoEventLoopIteration( wxEventLoop& evtLoop );
|
bool wxDoEventLoopIteration( wxGUIEventLoop& evtLoop );
|
||||||
|
|
||||||
// Consume all events until no more left
|
// Consume all events until no more left
|
||||||
void wxFlushEvents(WXDisplay* display);
|
void wxFlushEvents(WXDisplay* display);
|
||||||
|
@@ -12,6 +12,10 @@
|
|||||||
class wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
class wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop() { return NULL; }
|
||||||
|
#if wxUSE_TIMER
|
||||||
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *) { return NULL; }
|
||||||
|
#endif // wxUSE_TIMER
|
||||||
};
|
};
|
||||||
|
|
||||||
#if wxUSE_GUI
|
#if wxUSE_GUI
|
||||||
@@ -19,7 +23,12 @@ public:
|
|||||||
class wxGUIAppTraits : public wxGUIAppTraitsBase
|
class wxGUIAppTraits : public wxGUIAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop();
|
||||||
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
|
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
|
||||||
|
|
||||||
|
#if wxUSE_TIMER
|
||||||
|
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
|
||||||
|
#endif // wxUSE_TIMER
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
class WXDLLIMPEXP_BASE wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop();
|
||||||
virtual void *BeforeChildWaitLoop();
|
virtual void *BeforeChildWaitLoop();
|
||||||
virtual void AlwaysYield();
|
virtual void AlwaysYield();
|
||||||
virtual void AfterChildWaitLoop(void *data);
|
virtual void AfterChildWaitLoop(void *data);
|
||||||
@@ -34,6 +35,7 @@ public:
|
|||||||
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
|
class WXDLLIMPEXP_CORE wxGUIAppTraits : public wxGUIAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop();
|
||||||
virtual void *BeforeChildWaitLoop();
|
virtual void *BeforeChildWaitLoop();
|
||||||
virtual void AlwaysYield();
|
virtual void AlwaysYield();
|
||||||
virtual void AfterChildWaitLoop(void *data);
|
virtual void AfterChildWaitLoop(void *data);
|
||||||
|
@@ -12,31 +12,43 @@
|
|||||||
#ifndef _WX_MSW_EVTLOOP_H_
|
#ifndef _WX_MSW_EVTLOOP_H_
|
||||||
#define _WX_MSW_EVTLOOP_H_
|
#define _WX_MSW_EVTLOOP_H_
|
||||||
|
|
||||||
|
#if wxUSE_GUI
|
||||||
#include "wx/window.h"
|
#include "wx/window.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop
|
// wxEventLoop
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopManual
|
class WXDLLIMPEXP_BASE wxMSWEventLoopBase : public wxEventLoopManual
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop();
|
wxMSWEventLoopBase();
|
||||||
|
|
||||||
// implement base class pure virtuals
|
// implement base class pure virtuals
|
||||||
virtual bool Pending() const;
|
virtual bool Pending() const;
|
||||||
virtual bool Dispatch();
|
|
||||||
|
|
||||||
// MSW-specific methods
|
protected:
|
||||||
// --------------------
|
// get the next message from queue and return true or return false if we
|
||||||
|
// got WM_QUIT or an error occurred
|
||||||
|
bool GetNextMessage(WXMSG *msg);
|
||||||
|
};
|
||||||
|
|
||||||
|
#if wxUSE_GUI
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxGUIEventLoop() { }
|
||||||
|
|
||||||
|
// process a single message: calls PreProcessMessage() before dispatching
|
||||||
|
// it
|
||||||
|
virtual void ProcessMessage(WXMSG *msg);
|
||||||
|
|
||||||
// preprocess a message, return true if processed (i.e. no further
|
// preprocess a message, return true if processed (i.e. no further
|
||||||
// dispatching required)
|
// dispatching required)
|
||||||
virtual bool PreProcessMessage(WXMSG *msg);
|
virtual bool PreProcessMessage(WXMSG *msg);
|
||||||
|
|
||||||
// process a single message
|
|
||||||
virtual void ProcessMessage(WXMSG *msg);
|
|
||||||
|
|
||||||
// set the critical window: this is the window such that all the events
|
// set the critical window: this is the window such that all the events
|
||||||
// except those to this window (and its children) stop to be processed
|
// except those to this window (and its children) stop to be processed
|
||||||
// (typical examples: assert or crash report dialog)
|
// (typical examples: assert or crash report dialog)
|
||||||
@@ -52,11 +64,14 @@ public:
|
|||||||
return !ms_winCritical || IsChildOfCriticalWindow(win);
|
return !ms_winCritical || IsChildOfCriticalWindow(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
|
||||||
// override/implement base class virtuals
|
// override/implement base class virtuals
|
||||||
|
virtual bool Dispatch();
|
||||||
virtual void WakeUp();
|
virtual void WakeUp();
|
||||||
|
|
||||||
|
protected:
|
||||||
virtual void OnNextIteration();
|
virtual void OnNextIteration();
|
||||||
|
|
||||||
|
private:
|
||||||
// check if the given window is a child of ms_winCritical (which must be
|
// check if the given window is a child of ms_winCritical (which must be
|
||||||
// non NULL)
|
// non NULL)
|
||||||
static bool IsChildOfCriticalWindow(wxWindowMSW *win);
|
static bool IsChildOfCriticalWindow(wxWindowMSW *win);
|
||||||
@@ -66,4 +81,21 @@ protected:
|
|||||||
static wxWindowMSW *ms_winCritical;
|
static wxWindowMSW *ms_winCritical;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#else // !wxUSE_GUI
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxMSWEventLoopBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxConsoleEventLoop() { }
|
||||||
|
|
||||||
|
// override/implement base class virtuals
|
||||||
|
virtual bool Dispatch();
|
||||||
|
virtual void WakeUp();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void OnNextIteration();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // wxUSE_GUI/!wxUSE_GUI
|
||||||
|
|
||||||
#endif // _WX_MSW_EVTLOOP_H_
|
#endif // _WX_MSW_EVTLOOP_H_
|
||||||
|
@@ -16,10 +16,10 @@
|
|||||||
// wxEventLoop
|
// wxEventLoop
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
|
class WXDLLEXPORT wxGUIEventLoop : public wxEventLoopBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxEventLoop();
|
wxGUIEventLoop();
|
||||||
|
|
||||||
// implement base class pure virtuals
|
// implement base class pure virtuals
|
||||||
virtual int Run();
|
virtual int Run();
|
||||||
|
101
include/wx/private/fdiodispatcher.h
Normal file
101
include/wx/private/fdiodispatcher.h
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/private/fdiodispatcher.h
|
||||||
|
// Purpose: classes for dispatching IO notifications for file descriptors
|
||||||
|
// Authors: Lukasz Michalski
|
||||||
|
// Created: December 2006
|
||||||
|
// Copyright: (c) Lukasz Michalski
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_PRIVATE_FDIODISPATCHER_H_
|
||||||
|
#define _WX_PRIVATE_FDIODISPATCHER_H_
|
||||||
|
|
||||||
|
#include "wx/hashmap.h"
|
||||||
|
|
||||||
|
// handler used to process events on descriptors
|
||||||
|
class wxFDIOHandler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// called when descriptor is available for non-blocking read
|
||||||
|
virtual void OnReadWaiting() = 0;
|
||||||
|
|
||||||
|
// called when descriptor is available for non-blocking write
|
||||||
|
virtual void OnWriteWaiting() = 0;
|
||||||
|
|
||||||
|
// called when there is exception on descriptor
|
||||||
|
virtual void OnExceptionWaiting() = 0;
|
||||||
|
|
||||||
|
// virtual dtor for the base class
|
||||||
|
virtual ~wxFDIOHandler() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
// those flags describes sets where descriptor should be added
|
||||||
|
enum wxFDIODispatcherEntryFlags
|
||||||
|
{
|
||||||
|
wxFDIO_INPUT = 1,
|
||||||
|
wxFDIO_OUTPUT = 2,
|
||||||
|
wxFDIO_EXCEPTION = 4,
|
||||||
|
wxFDIO_ALL = wxFDIO_INPUT | wxFDIO_OUTPUT | wxFDIO_EXCEPTION
|
||||||
|
};
|
||||||
|
|
||||||
|
struct wxFDIOHandlerEntry
|
||||||
|
{
|
||||||
|
wxFDIOHandlerEntry()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxFDIOHandlerEntry(wxFDIOHandler *handler_, int flags_)
|
||||||
|
: handler(handler_),
|
||||||
|
flags(flags_)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
wxFDIOHandler *handler;
|
||||||
|
int flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
// this hash is used to map file descriptors to their handlers
|
||||||
|
WX_DECLARE_HASH_MAP(
|
||||||
|
int,
|
||||||
|
wxFDIOHandlerEntry,
|
||||||
|
wxIntegerHash,
|
||||||
|
wxIntegerEqual,
|
||||||
|
wxFDIOHandlerMap
|
||||||
|
);
|
||||||
|
|
||||||
|
// base class for wxSelectDispatcher and wxEpollDispatcher
|
||||||
|
//
|
||||||
|
// notice that all pure virtual functions for FD management have implementation
|
||||||
|
// in the base class and should be called from the derived classes
|
||||||
|
class WXDLLIMPEXP_BASE wxFDIODispatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum { TIMEOUT_INFINITE = -1 };
|
||||||
|
|
||||||
|
// find the handler for the given fd, return NULL if none
|
||||||
|
wxFDIOHandler *FindHandler(int fd) const;
|
||||||
|
|
||||||
|
// register handler for the given descriptor with the dispatcher, return
|
||||||
|
// true on success or false on error
|
||||||
|
virtual bool RegisterFD(int fd, wxFDIOHandler *handler, int flags) = 0;
|
||||||
|
|
||||||
|
// modify descriptor flags or handler, return true on success
|
||||||
|
virtual bool ModifyFD(int fd, wxFDIOHandler *handler, int flags) = 0;
|
||||||
|
|
||||||
|
// unregister descriptor previously registered with RegisterFD(), the
|
||||||
|
// caller is responsible for deleting the returned handler pointer if
|
||||||
|
// necessary
|
||||||
|
virtual wxFDIOHandler *UnregisterFD(int fd, int flags) = 0;
|
||||||
|
|
||||||
|
// loops waiting for an event to happen on any of the descriptors
|
||||||
|
virtual void RunLoop(int timeout) = 0;
|
||||||
|
|
||||||
|
virtual ~wxFDIODispatcher() { }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// the fd -> handler map containing all the registered handlers
|
||||||
|
wxFDIOHandlerMap m_handlers;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _WX_PRIVATE_FDIODISPATCHER_H_
|
@@ -25,14 +25,14 @@ class WXDLLIMPEXP_CORE wxGSocketIOHandler : public wxFDIOHandler
|
|||||||
public:
|
public:
|
||||||
wxGSocketIOHandler(GSocket* socket);
|
wxGSocketIOHandler(GSocket* socket);
|
||||||
int GetFlags() const;
|
int GetFlags() const;
|
||||||
void RemoveFlag(wxSelectDispatcherEntryFlags flag);
|
void RemoveFlag(wxFDIODispatcherEntryFlags flag);
|
||||||
void AddFlag(wxSelectDispatcherEntryFlags flag);
|
void AddFlag(wxFDIODispatcherEntryFlags flag);
|
||||||
|
|
||||||
|
virtual void OnReadWaiting();
|
||||||
|
virtual void OnWriteWaiting();
|
||||||
|
virtual void OnExceptionWaiting();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void OnReadWaiting(int fd);
|
|
||||||
virtual void OnWriteWaiting(int fd);
|
|
||||||
virtual void OnExceptionWaiting(int fd);
|
|
||||||
|
|
||||||
GSocket* m_socket;
|
GSocket* m_socket;
|
||||||
int m_flags;
|
int m_flags;
|
||||||
};
|
};
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: wx/private/selectdispatcher.h
|
// Name: wx/private/selectdispatcher.h
|
||||||
// Purpose: wxSelectDispatcher class
|
// Purpose: wxSelectDispatcher class
|
||||||
// Authors: Lukasz Michalski
|
// Authors: Lukasz Michalski and Vadim Zeitlin
|
||||||
// Modified by:
|
|
||||||
// Created: December 2006
|
// Created: December 2006
|
||||||
// Copyright: (c) Lukasz Michalski
|
// Copyright: (c) Lukasz Michalski
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
@@ -14,82 +13,100 @@
|
|||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
#include "wx/hashmap.h"
|
#include "wx/private/fdiodispatcher.h"
|
||||||
|
|
||||||
static const int wxSELECT_TIMEOUT_INFINITE = -1;
|
// helper class storing all the select() fd sets
|
||||||
|
class WXDLLIMPEXP_BASE wxSelectSets
|
||||||
// handler used to process events on descriptors
|
|
||||||
class wxFDIOHandler
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// called when descriptor is available for non-blocking read
|
// ctor zeroes out all fd_sets
|
||||||
virtual void OnReadWaiting(int fd) = 0;
|
wxSelectSets();
|
||||||
|
|
||||||
// called when descriptor is available for non-blocking write
|
// default copy ctor, assignment operator and dtor are ok
|
||||||
virtual void OnWriteWaiting(int fd) = 0;
|
|
||||||
|
|
||||||
// called when there is exception on descriptor
|
|
||||||
virtual void OnExceptionWaiting(int fd) = 0;
|
|
||||||
|
|
||||||
// virtual dtor for the base class
|
// return true if fd appears in any of the sets
|
||||||
virtual ~wxFDIOHandler() { }
|
bool HasFD(int fd) const;
|
||||||
};
|
|
||||||
|
|
||||||
// those flags describes sets where descriptor should be added
|
// add or remove FD to our sets depending on whether flags contains
|
||||||
enum wxSelectDispatcherEntryFlags
|
// wxFDIO_INPUT/OUTPUT/EXCEPTION bits
|
||||||
{
|
bool SetFD(int fd, int flags);
|
||||||
wxSelectInput = 1,
|
|
||||||
wxSelectOutput = 2,
|
|
||||||
wxSelectException = 4,
|
|
||||||
wxSelectAll = wxSelectInput | wxSelectOutput | wxSelectException
|
|
||||||
};
|
|
||||||
|
|
||||||
WX_DECLARE_HASH_MAP(
|
// same as SetFD() except it unsets the bits set in the flags for the given
|
||||||
int,
|
// fd
|
||||||
wxFDIOHandler*,
|
bool ClearFD(int fd, int flags)
|
||||||
wxIntegerHash,
|
|
||||||
wxIntegerEqual,
|
|
||||||
wxFDIOHandlerMap
|
|
||||||
);
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxSelectDispatcher
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// returns instance of the table
|
|
||||||
static wxSelectDispatcher& Get();
|
|
||||||
|
|
||||||
virtual ~wxSelectDispatcher()
|
|
||||||
{
|
{
|
||||||
|
return SetFD(fd, wxFDIO_ALL & ~flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
// register descriptor in sets.
|
|
||||||
void RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxSelectAll);
|
|
||||||
|
|
||||||
// unregister descriptor from sets and return handler for cleanup
|
// call select() with our sets: the other parameters are the same as for
|
||||||
wxFDIOHandler* UnregisterFD(int fd, int flags = wxSelectAll);
|
// select() itself
|
||||||
|
int Select(int nfds, struct timeval *tv);
|
||||||
|
|
||||||
// return handler for descriptor or null if fd is not registered
|
// call the handler methods corresponding to the sets having this fd
|
||||||
wxFDIOHandler* FindHandler(int fd);
|
void Handle(int fd, wxFDIOHandler& handler) const;
|
||||||
|
|
||||||
// calls select on registered descriptors and
|
|
||||||
void RunLoop(int timeout = wxSELECT_TIMEOUT_INFINITE);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
wxSelectDispatcher() { m_maxFD = -1; }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void ProcessSets(fd_set* readset, fd_set* writeset, fd_set* exeptset, int max_fd);
|
typedef void (wxFDIOHandler::*Callback)();
|
||||||
|
|
||||||
fd_set m_readset;
|
// the FD sets indices
|
||||||
fd_set m_writeset;
|
enum
|
||||||
fd_set m_exeptset;
|
{
|
||||||
|
Read,
|
||||||
|
Write,
|
||||||
|
Except,
|
||||||
|
Max
|
||||||
|
};
|
||||||
|
|
||||||
|
// the sets used with select()
|
||||||
|
fd_set m_fds[Max];
|
||||||
|
|
||||||
|
// the wxFDIO_XXX flags, functions and names (used for debug messages only)
|
||||||
|
// corresponding to the FD sets above
|
||||||
|
static int ms_flags[Max];
|
||||||
|
static const char *ms_names[Max];
|
||||||
|
static Callback ms_handlers[Max];
|
||||||
|
};
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_BASE wxSelectDispatcher : public wxFDIODispatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// returns the unique instance of this class, the pointer shouldn't be
|
||||||
|
// deleted and is normally never NULL
|
||||||
|
static wxSelectDispatcher *Get();
|
||||||
|
|
||||||
|
// if we have any registered handlers, check for any pending events to them
|
||||||
|
// and dispatch them -- this is used from wxX11 and wxDFB event loops
|
||||||
|
// implementation
|
||||||
|
static void DispatchPending();
|
||||||
|
|
||||||
|
// implement pure virtual methods of the base class
|
||||||
|
virtual bool RegisterFD(int fd, wxFDIOHandler *handler, int flags = wxFDIO_ALL);
|
||||||
|
virtual bool ModifyFD(int fd, wxFDIOHandler *handler, int flags = wxFDIO_ALL);
|
||||||
|
virtual wxFDIOHandler *UnregisterFD(int fd, int flags = wxFDIO_ALL);
|
||||||
|
virtual void RunLoop(int timeout = TIMEOUT_INFINITE);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxSelectDispatcher();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// common part of RegisterFD() and ModifyFD()
|
||||||
|
bool DoUpdateFDAndHandler(int fd, wxFDIOHandler *handler, int flags);
|
||||||
|
|
||||||
|
// call the handlers for the fds present in the given sets
|
||||||
|
void ProcessSets(const wxSelectSets& sets);
|
||||||
|
|
||||||
|
// helper of ProcessSets(): call the handler if its fd is in the set
|
||||||
|
void DoProcessFD(int fd, const fd_set& fds, wxFDIOHandler *handler,
|
||||||
|
const char *name);
|
||||||
|
|
||||||
|
|
||||||
|
// the select sets containing all the registered fds
|
||||||
|
wxSelectSets m_sets;
|
||||||
|
|
||||||
|
// the highest registered fd value or -1 if none
|
||||||
int m_maxFD;
|
int m_maxFD;
|
||||||
wxFDIOHandlerMap m_handlers;
|
|
||||||
|
|
||||||
static wxSelectDispatcher *ms_instance;
|
|
||||||
|
|
||||||
friend class wxSelectDispatcherModule;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
54
include/wx/unix/app.h
Normal file
54
include/wx/unix/app.h
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/unix/app.h
|
||||||
|
// Purpose: wxAppConsole implementation for Unix
|
||||||
|
// Author: Lukasz Michalski
|
||||||
|
// Created: 28/01/2005
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Lukasz Michalski
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// wxApp subclass implementing event processing for console applications
|
||||||
|
class WXDLLIMPEXP_BASE wxAppConsoleUnix : public wxAppConsole
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// override base class initialization
|
||||||
|
virtual bool Initialize(int& argc, wxChar** argv);
|
||||||
|
|
||||||
|
|
||||||
|
// Unix-specific: Unix signal handling
|
||||||
|
// -----------------------------------
|
||||||
|
|
||||||
|
// type of the function which can be registered as signal handler: notice
|
||||||
|
// that it isn't really a signal handler, i.e. it's not subject to the
|
||||||
|
// usual signal handlers constraints, because it is called later from
|
||||||
|
// CheckSignal() and not when the signal really occurs
|
||||||
|
typedef void (*SignalHandler)(int);
|
||||||
|
|
||||||
|
// Set signal handler for the given signal, SIG_DFL or SIG_IGN can be used
|
||||||
|
// instead of a function pointer
|
||||||
|
//
|
||||||
|
// Return true if handler was installed, false on error
|
||||||
|
bool SetSignalHandler(int signal, SignalHandler handler);
|
||||||
|
|
||||||
|
// Check if any Unix signals arrived since the last call and execute
|
||||||
|
// handlers for them
|
||||||
|
void CheckSignal();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// signal handler set up by SetSignalHandler() for all signals we handle,
|
||||||
|
// it just adds the signal to m_signalsCaught -- the real processing is
|
||||||
|
// done later, when CheckSignal() is called
|
||||||
|
static void HandleSignal(int signal);
|
||||||
|
|
||||||
|
|
||||||
|
// signals for which HandleSignal() had been called (reset from
|
||||||
|
// CheckSignal())
|
||||||
|
sigset_t m_signalsCaught;
|
||||||
|
|
||||||
|
// the signal handlers
|
||||||
|
WX_DECLARE_HASH_MAP(int, SignalHandler, wxIntegerHash, wxIntegerEqual, SignalHandlerHash);
|
||||||
|
SignalHandlerHash m_signalHandlerHash;
|
||||||
|
|
||||||
|
friend class GSocketGUIFunctionsTableBase;
|
||||||
|
};
|
@@ -19,6 +19,7 @@
|
|||||||
class WXDLLEXPORT wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
class WXDLLEXPORT wxConsoleAppTraits : public wxConsoleAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop();
|
||||||
virtual bool CreateEndProcessPipe(wxExecuteData& execData);
|
virtual bool CreateEndProcessPipe(wxExecuteData& execData);
|
||||||
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
|
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
|
||||||
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
|
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
|
||||||
@@ -33,6 +34,7 @@ public:
|
|||||||
class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase
|
class WXDLLEXPORT wxGUIAppTraits : public wxGUIAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual wxEventLoop *CreateEventLoop();
|
||||||
virtual bool CreateEndProcessPipe(wxExecuteData& execData);
|
virtual bool CreateEndProcessPipe(wxExecuteData& execData);
|
||||||
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
|
virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
|
||||||
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
|
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
|
||||||
@@ -46,15 +48,15 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
|
virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const;
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
#if defined(__WXGTK__) && wxUSE_INTL
|
||||||
|
|
||||||
#if wxUSE_INTL
|
|
||||||
virtual void SetLocale();
|
virtual void SetLocale();
|
||||||
#endif
|
#endif // __WXGTK__
|
||||||
|
|
||||||
|
#ifdef __WXGTK20__
|
||||||
virtual wxString GetDesktopEnvironment() const;
|
virtual wxString GetDesktopEnvironment() const;
|
||||||
virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
|
virtual wxString GetStandardCmdLineOptions(wxArrayString& names,
|
||||||
wxArrayString& desc) const;
|
wxArrayString& desc) const;
|
||||||
#endif // __WXGTK__
|
#endif // __WXGTK20____
|
||||||
|
|
||||||
#if defined(__WXDEBUG__) && defined(__WXGTK20__)
|
#if defined(__WXDEBUG__) && defined(__WXGTK20__)
|
||||||
virtual bool ShowAssertDialog(const wxString& msg);
|
virtual bool ShowAssertDialog(const wxString& msg);
|
||||||
|
71
include/wx/unix/evtloop.h
Normal file
71
include/wx/unix/evtloop.h
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/unix/evtloop.h
|
||||||
|
// Purpose: declares wxEventLoop class
|
||||||
|
// Author: Lukasz Michalski (lm@zork.pl)
|
||||||
|
// Created: 2007-05-07
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2007 Lukasz Michalski
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_UNIX_EVTLOOP_H_
|
||||||
|
#define _WX_UNIX_EVTLOOP_H_
|
||||||
|
|
||||||
|
#include "wx/private/fdiodispatcher.h"
|
||||||
|
#include "wx/unix/private/timer.h"
|
||||||
|
#include "wx/unix/pipe.h"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxEventLoop
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxEventLoopManual
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// initialize the event loop, use IsOk() to check if we were successful
|
||||||
|
wxConsoleEventLoop();
|
||||||
|
|
||||||
|
// implement base class pure virtuals
|
||||||
|
virtual bool Pending() const;
|
||||||
|
virtual bool Dispatch();
|
||||||
|
virtual void WakeUp();
|
||||||
|
virtual bool IsOk() const { return m_dispatcher != NULL; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void OnNextIteration();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// pipe used for wake up messages: when a child thread wants to wake up
|
||||||
|
// the event loop in the main thread it writes to this pipe
|
||||||
|
class PipeIOHandler : public wxFDIOHandler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// default ctor does nothing, call Create() to really initialize the
|
||||||
|
// object
|
||||||
|
PipeIOHandler() { }
|
||||||
|
|
||||||
|
bool Create();
|
||||||
|
|
||||||
|
// this method can be, and normally is, called from another thread
|
||||||
|
void WakeUp();
|
||||||
|
|
||||||
|
int GetReadFd() { return m_pipe[wxPipe::Read]; }
|
||||||
|
|
||||||
|
// implement wxFDIOHandler pure virtual methods
|
||||||
|
virtual void OnReadWaiting();
|
||||||
|
virtual void OnWriteWaiting() { }
|
||||||
|
virtual void OnExceptionWaiting() { }
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxPipe m_pipe;
|
||||||
|
};
|
||||||
|
|
||||||
|
PipeIOHandler m_wakeupPipe;
|
||||||
|
|
||||||
|
// either wxSelectDispatcher or wxEpollDispatcher
|
||||||
|
wxFDIODispatcher *m_dispatcher;
|
||||||
|
|
||||||
|
DECLARE_NO_COPY_CLASS(wxConsoleEventLoop)
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _WX_UNIX_EVTLOOP_H_
|
47
include/wx/unix/private/epolldispatcher.h
Normal file
47
include/wx/unix/private/epolldispatcher.h
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/private/epolldispatcher.h
|
||||||
|
// Purpose: wxEpollDispatcher class
|
||||||
|
// Authors: Lukasz Michalski
|
||||||
|
// Created: April 2007
|
||||||
|
// Copyright: (c) Lukasz Michalski
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_PRIVATE_EPOLLDISPATCHER_H_
|
||||||
|
#define _WX_PRIVATE_EPOLLDISPATCHER_H_
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_EPOLL_H
|
||||||
|
|
||||||
|
#include "wx/private/fdiodispatcher.h"
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_CORE wxEpollDispatcher : public wxFDIODispatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// get pointer to the unique instance of this class, can return NULL if
|
||||||
|
// epoll() is not supported on this system
|
||||||
|
//
|
||||||
|
// do not delete the returned pointer
|
||||||
|
static wxEpollDispatcher *Get();
|
||||||
|
|
||||||
|
// implement base class pure virtual methods
|
||||||
|
virtual bool RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
|
||||||
|
virtual bool ModifyFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
|
||||||
|
virtual wxFDIOHandler *UnregisterFD(int fd, int flags = wxFDIO_ALL);
|
||||||
|
virtual void RunLoop(int timeout = TIMEOUT_INFINITE);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// ctor is private, use Get()
|
||||||
|
wxEpollDispatcher();
|
||||||
|
|
||||||
|
// return true if the object was successfully initialized
|
||||||
|
bool IsOk() const { return m_epollDescriptor != -1; }
|
||||||
|
|
||||||
|
int m_epollDescriptor;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // HAVE_SYS_EPOLL_H
|
||||||
|
|
||||||
|
#endif // _WX_PRIVATE_SOCKETEVTDISPATCH_H_
|
@@ -1143,6 +1143,9 @@
|
|||||||
/* Define if you have the <sys/select.h> header file. */
|
/* Define if you have the <sys/select.h> header file. */
|
||||||
#undef HAVE_SYS_SELECT_H
|
#undef HAVE_SYS_SELECT_H
|
||||||
|
|
||||||
|
/* Define if you have the <sys/epoll.h> header file. */
|
||||||
|
#undef HAVE_SYS_EPOLL_H
|
||||||
|
|
||||||
/* Define if fdopen is available. */
|
/* Define if fdopen is available. */
|
||||||
#undef HAVE_FDOPEN
|
#undef HAVE_FDOPEN
|
||||||
|
|
||||||
|
@@ -41,19 +41,19 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
// wxEventLoop
|
// wxGUIEventLoop
|
||||||
// ========================================================================
|
// ========================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop running and exiting
|
// wxGUIEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -73,7 +73,7 @@ int wxEventLoop::Run()
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
// a pointer to the event is returned if there is one, or nil if not
|
// a pointer to the event is returned if there is one, or nil if not
|
||||||
return [[NSApplication sharedApplication]
|
return [[NSApplication sharedApplication]
|
||||||
@@ -111,7 +111,7 @@ bool wxEventLoop::Pending() const
|
|||||||
dequeue: NO];
|
dequeue: NO];
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
// This check is required by wxGTK but probably not really for wxCocoa
|
// This check is required by wxGTK but probably not really for wxCocoa
|
||||||
// Keep it here to encourage developers to write cross-platform code
|
// Keep it here to encourage developers to write cross-platform code
|
||||||
|
@@ -39,8 +39,10 @@
|
|||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/cmdline.h"
|
#include "wx/cmdline.h"
|
||||||
#include "wx/confbase.h"
|
#include "wx/confbase.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/filename.h"
|
#include "wx/filename.h"
|
||||||
#include "wx/msgout.h"
|
#include "wx/msgout.h"
|
||||||
|
#include "wx/ptr_scpd.h"
|
||||||
#include "wx/tokenzr.h"
|
#include "wx/tokenzr.h"
|
||||||
|
|
||||||
#if !defined(__WXMSW__) || defined(__WXMICROWIN__)
|
#if !defined(__WXMSW__) || defined(__WXMICROWIN__)
|
||||||
@@ -112,6 +114,13 @@ wxAppConsole *wxAppConsole::ms_appInstance = NULL;
|
|||||||
|
|
||||||
wxAppInitializerFunction wxAppConsole::ms_appInitFn = NULL;
|
wxAppInitializerFunction wxAppConsole::ms_appInitFn = NULL;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxEventLoopPtr
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// this defines wxEventLoopPtr
|
||||||
|
wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoop)
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxAppConsole implementation
|
// wxAppConsole implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -123,6 +132,7 @@ wxAppInitializerFunction wxAppConsole::ms_appInitFn = NULL;
|
|||||||
wxAppConsole::wxAppConsole()
|
wxAppConsole::wxAppConsole()
|
||||||
{
|
{
|
||||||
m_traits = NULL;
|
m_traits = NULL;
|
||||||
|
m_mainLoop = NULL;
|
||||||
|
|
||||||
ms_appInstance = this;
|
ms_appInstance = this;
|
||||||
|
|
||||||
@@ -157,6 +167,13 @@ bool wxAppConsole::Initialize(int& argcOrig, wxChar **argvOrig)
|
|||||||
argc = argcOrig;
|
argc = argcOrig;
|
||||||
argv = argvOrig;
|
argv = argvOrig;
|
||||||
|
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
wxPendingEventsLocker = new wxCriticalSection;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//create port specific main loop
|
||||||
|
m_mainLoop = CreateMainLoop();
|
||||||
|
|
||||||
#ifndef __WXPALMOS__
|
#ifndef __WXPALMOS__
|
||||||
if ( m_appName.empty() && argv )
|
if ( m_appName.empty() && argv )
|
||||||
{
|
{
|
||||||
@@ -168,8 +185,20 @@ bool wxAppConsole::Initialize(int& argcOrig, wxChar **argvOrig)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop *wxAppConsole::CreateMainLoop()
|
||||||
|
{
|
||||||
|
return GetTraits()->CreateEventLoop();
|
||||||
|
}
|
||||||
|
|
||||||
void wxAppConsole::CleanUp()
|
void wxAppConsole::CleanUp()
|
||||||
{
|
{
|
||||||
|
delete wxPendingEvents;
|
||||||
|
wxPendingEvents = NULL;
|
||||||
|
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
delete wxPendingEventsLocker;
|
||||||
|
wxPendingEventsLocker = NULL;
|
||||||
|
#endif // wxUSE_THREADS
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -206,6 +235,11 @@ bool wxAppConsole::OnInit()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int wxAppConsole::OnRun()
|
||||||
|
{
|
||||||
|
return MainLoop();
|
||||||
|
};
|
||||||
|
|
||||||
int wxAppConsole::OnExit()
|
int wxAppConsole::OnExit()
|
||||||
{
|
{
|
||||||
#if wxUSE_CONFIG
|
#if wxUSE_CONFIG
|
||||||
@@ -219,6 +253,9 @@ int wxAppConsole::OnExit()
|
|||||||
|
|
||||||
void wxAppConsole::Exit()
|
void wxAppConsole::Exit()
|
||||||
{
|
{
|
||||||
|
if (m_mainLoop != NULL)
|
||||||
|
ExitMainLoop();
|
||||||
|
else
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,6 +285,55 @@ wxAppTraits *wxAppConsole::GetTraits()
|
|||||||
// event processing
|
// event processing
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
int wxAppConsole::MainLoop()
|
||||||
|
{
|
||||||
|
wxEventLoopTiedPtr mainLoop(&m_mainLoop, CreateMainLoop());
|
||||||
|
|
||||||
|
return m_mainLoop ? m_mainLoop->Run() : -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxAppConsole::ExitMainLoop()
|
||||||
|
{
|
||||||
|
// we should exit from the main event loop, not just any currently active
|
||||||
|
// (e.g. modal dialog) event loop
|
||||||
|
if ( m_mainLoop && m_mainLoop->IsRunning() )
|
||||||
|
{
|
||||||
|
m_mainLoop->Exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAppConsole::Pending()
|
||||||
|
{
|
||||||
|
// use the currently active message loop here, not m_mainLoop, because if
|
||||||
|
// we're showing a modal dialog (with its own event loop) currently the
|
||||||
|
// main event loop is not running anyhow
|
||||||
|
wxEventLoop * const loop = wxEventLoopBase::GetActive();
|
||||||
|
|
||||||
|
return loop && loop->Pending();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAppConsole::Dispatch()
|
||||||
|
{
|
||||||
|
// see comment in Pending()
|
||||||
|
wxEventLoop * const loop = wxEventLoopBase::GetActive();
|
||||||
|
|
||||||
|
return loop && loop->Dispatch();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAppConsole::HasPendingEvents() const
|
||||||
|
{
|
||||||
|
// ensure that we're the only thread to modify the pending events list
|
||||||
|
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
|
||||||
|
|
||||||
|
if ( !wxPendingEvents )
|
||||||
|
{
|
||||||
|
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
void wxAppConsole::ProcessPendingEvents()
|
void wxAppConsole::ProcessPendingEvents()
|
||||||
{
|
{
|
||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
@@ -255,14 +341,8 @@ void wxAppConsole::ProcessPendingEvents()
|
|||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ensure that we're the only thread to modify the pending events list
|
if ( !HasPendingEvents() )
|
||||||
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
|
|
||||||
|
|
||||||
if ( !wxPendingEvents )
|
|
||||||
{
|
|
||||||
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
// iterate until the list becomes empty
|
// iterate until the list becomes empty
|
||||||
wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
|
wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
|
||||||
@@ -285,6 +365,21 @@ void wxAppConsole::ProcessPendingEvents()
|
|||||||
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxAppConsole::WakeUpIdle()
|
||||||
|
{
|
||||||
|
if ( m_mainLoop )
|
||||||
|
m_mainLoop->WakeUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAppConsole::ProcessIdle()
|
||||||
|
{
|
||||||
|
wxIdleEvent event;
|
||||||
|
|
||||||
|
event.SetEventObject(this);
|
||||||
|
ProcessEvent(event);
|
||||||
|
return event.MoreRequested();
|
||||||
|
}
|
||||||
|
|
||||||
int wxAppConsole::FilterEvent(wxEvent& WXUNUSED(event))
|
int wxAppConsole::FilterEvent(wxEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
// process the events normally by default
|
// process the events normally by default
|
||||||
@@ -306,6 +401,25 @@ wxAppConsole::HandleEvent(wxEvtHandler *handler,
|
|||||||
(handler->*func)(event);
|
(handler->*func)(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// exceptions support
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#if wxUSE_EXCEPTIONS
|
||||||
|
|
||||||
|
bool wxAppConsole::OnExceptionInMainLoop()
|
||||||
|
{
|
||||||
|
throw;
|
||||||
|
|
||||||
|
// some compilers are too stupid to know that we never return after throw
|
||||||
|
#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_EXCEPTIONS
|
||||||
|
|
||||||
|
|
||||||
#endif // wxUSE_EXCEPTIONS
|
#endif // wxUSE_EXCEPTIONS
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -37,11 +37,9 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/cmdline.h"
|
#include "wx/cmdline.h"
|
||||||
#include "wx/evtloop.h"
|
|
||||||
#include "wx/msgout.h"
|
#include "wx/msgout.h"
|
||||||
#include "wx/thread.h"
|
#include "wx/thread.h"
|
||||||
#include "wx/vidmode.h"
|
#include "wx/vidmode.h"
|
||||||
#include "wx/ptr_scpd.h"
|
|
||||||
|
|
||||||
#ifdef __WXDEBUG__
|
#ifdef __WXDEBUG__
|
||||||
#if wxUSE_STACKWALKER
|
#if wxUSE_STACKWALKER
|
||||||
@@ -63,13 +61,6 @@ WX_CHECK_BUILD_OPTIONS("wxCore")
|
|||||||
|
|
||||||
WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
|
WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxEventLoopPtr
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// this defines wxEventLoopPtr
|
|
||||||
wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoop)
|
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxAppBase implementation
|
// wxAppBase implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -87,8 +78,6 @@ wxAppBase::wxAppBase()
|
|||||||
|
|
||||||
m_isActive = true;
|
m_isActive = true;
|
||||||
|
|
||||||
m_mainLoop = NULL;
|
|
||||||
|
|
||||||
// We don't want to exit the app if the user code shows a dialog from its
|
// We don't want to exit the app if the user code shows a dialog from its
|
||||||
// OnInit() -- but this is what would happen if we set m_exitOnFrameDelete
|
// OnInit() -- but this is what would happen if we set m_exitOnFrameDelete
|
||||||
// to Yes initially as this dialog would be the last top level window.
|
// to Yes initially as this dialog would be the last top level window.
|
||||||
@@ -109,10 +98,6 @@ bool wxAppBase::Initialize(int& argcOrig, wxChar **argvOrig)
|
|||||||
if ( !wxAppConsole::Initialize(argcOrig, argvOrig) )
|
if ( !wxAppConsole::Initialize(argcOrig, argvOrig) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#if wxUSE_THREADS
|
|
||||||
wxPendingEventsLocker = new wxCriticalSection;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxInitializeStockLists();
|
wxInitializeStockLists();
|
||||||
|
|
||||||
wxBitmap::InitStandardHandlers();
|
wxBitmap::InitStandardHandlers();
|
||||||
@@ -157,9 +142,6 @@ void wxAppBase::CleanUp()
|
|||||||
wxPendingEvents = NULL;
|
wxPendingEvents = NULL;
|
||||||
|
|
||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
delete wxPendingEventsLocker;
|
|
||||||
wxPendingEventsLocker = NULL;
|
|
||||||
|
|
||||||
#if wxUSE_VALIDATORS
|
#if wxUSE_VALIDATORS
|
||||||
// If we don't do the following, we get an apparent memory leak.
|
// If we don't do the following, we get an apparent memory leak.
|
||||||
((wxEvtHandler&) wxDefaultValidator).ClearEventLocker();
|
((wxEvtHandler&) wxDefaultValidator).ClearEventLocker();
|
||||||
@@ -298,45 +280,6 @@ bool wxAppBase::OnCmdLineParsed(wxCmdLineParser& parser)
|
|||||||
|
|
||||||
#endif // wxUSE_CMDLINE_PARSER
|
#endif // wxUSE_CMDLINE_PARSER
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// main event loop implementation
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
int wxAppBase::MainLoop()
|
|
||||||
{
|
|
||||||
wxEventLoopTiedPtr mainLoop(&m_mainLoop, new wxEventLoop);
|
|
||||||
|
|
||||||
return m_mainLoop->Run();
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxAppBase::ExitMainLoop()
|
|
||||||
{
|
|
||||||
// we should exit from the main event loop, not just any currently active
|
|
||||||
// (e.g. modal dialog) event loop
|
|
||||||
if ( m_mainLoop && m_mainLoop->IsRunning() )
|
|
||||||
{
|
|
||||||
m_mainLoop->Exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxAppBase::Pending()
|
|
||||||
{
|
|
||||||
// use the currently active message loop here, not m_mainLoop, because if
|
|
||||||
// we're showing a modal dialog (with its own event loop) currently the
|
|
||||||
// main event loop is not running anyhow
|
|
||||||
wxEventLoop * const loop = wxEventLoop::GetActive();
|
|
||||||
|
|
||||||
return loop && loop->Pending();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxAppBase::Dispatch()
|
|
||||||
{
|
|
||||||
// see comment in Pending()
|
|
||||||
wxEventLoop * const loop = wxEventLoop::GetActive();
|
|
||||||
|
|
||||||
return loop && loop->Dispatch();
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// OnXXX() hooks
|
// OnXXX() hooks
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -361,7 +304,7 @@ int wxAppBase::OnRun()
|
|||||||
}
|
}
|
||||||
//else: it has been changed, assume the user knows what he is doing
|
//else: it has been changed, assume the user knows what he is doing
|
||||||
|
|
||||||
return MainLoop();
|
return wxAppConsole::OnRun();
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxAppBase::OnExit()
|
int wxAppBase::OnExit()
|
||||||
@@ -373,11 +316,6 @@ int wxAppBase::OnExit()
|
|||||||
return wxAppConsole::OnExit();
|
return wxAppConsole::OnExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxAppBase::Exit()
|
|
||||||
{
|
|
||||||
ExitMainLoop();
|
|
||||||
}
|
|
||||||
|
|
||||||
wxAppTraits *wxAppBase::CreateTraits()
|
wxAppTraits *wxAppBase::CreateTraits()
|
||||||
{
|
{
|
||||||
return new wxGUIAppTraits;
|
return new wxGUIAppTraits;
|
||||||
@@ -439,10 +377,7 @@ bool wxAppBase::ProcessIdle()
|
|||||||
node = node->GetNext();
|
node = node->GetNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
event.SetEventObject(this);
|
needMore = wxAppConsole::ProcessIdle();
|
||||||
(void) ProcessEvent(event);
|
|
||||||
if (event.MoreRequested())
|
|
||||||
needMore = true;
|
|
||||||
|
|
||||||
wxUpdateUIEvent::ResetUpdateTime();
|
wxUpdateUIEvent::ResetUpdateTime();
|
||||||
|
|
||||||
@@ -456,7 +391,9 @@ bool wxAppBase::SendIdleEvents(wxWindow* win, wxIdleEvent& event)
|
|||||||
|
|
||||||
win->OnInternalIdle();
|
win->OnInternalIdle();
|
||||||
|
|
||||||
if (wxIdleEvent::CanSend(win))
|
// should we send idle event to this window?
|
||||||
|
if ( wxIdleEvent::GetMode() == wxIDLE_PROCESS_ALL ||
|
||||||
|
win->HasExtraStyle(wxWS_EX_PROCESS_IDLE) )
|
||||||
{
|
{
|
||||||
event.SetEventObject(win);
|
event.SetEventObject(win);
|
||||||
win->GetEventHandler()->ProcessEvent(event);
|
win->GetEventHandler()->ProcessEvent(event);
|
||||||
@@ -498,24 +435,6 @@ void wxAppBase::OnIdle(wxIdleEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// exceptions support
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_EXCEPTIONS
|
|
||||||
|
|
||||||
bool wxAppBase::OnExceptionInMainLoop()
|
|
||||||
{
|
|
||||||
throw;
|
|
||||||
|
|
||||||
// some compilers are too stupid to know that we never return after throw
|
|
||||||
#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // wxUSE_EXCEPTIONS
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxGUIAppTraitsBase
|
// wxGUIAppTraitsBase
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -48,10 +48,10 @@
|
|||||||
#if wxUSE_BASE
|
#if wxUSE_BASE
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
|
IMPLEMENT_DYNAMIC_CLASS(wxEvtHandler, wxObject)
|
||||||
IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
|
IMPLEMENT_ABSTRACT_CLASS(wxEvent, wxObject)
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
|
||||||
#endif // wxUSE_BASE
|
#endif // wxUSE_BASE
|
||||||
|
|
||||||
#if wxUSE_GUI
|
#if wxUSE_GUI
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
|
IMPLEMENT_DYNAMIC_CLASS(wxCommandEvent, wxEvent)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxNotifyEvent, wxCommandEvent)
|
IMPLEMENT_DYNAMIC_CLASS(wxNotifyEvent, wxCommandEvent)
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
|
IMPLEMENT_DYNAMIC_CLASS(wxScrollEvent, wxCommandEvent)
|
||||||
@@ -309,6 +309,8 @@ DEFINE_EVENT_TYPE(wxEVT_DETAILED_HELP)
|
|||||||
|
|
||||||
#if wxUSE_BASE
|
#if wxUSE_BASE
|
||||||
|
|
||||||
|
wxIdleMode wxIdleEvent::sm_idleMode = wxIDLE_PROCESS_ALL;
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// implementation
|
// implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -469,25 +471,6 @@ void wxUpdateUIEvent::ResetUpdateTime()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Idle events
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxIdleMode wxIdleEvent::sm_idleMode = wxIDLE_PROCESS_ALL;
|
|
||||||
|
|
||||||
// Can we send an idle event?
|
|
||||||
bool wxIdleEvent::CanSend(wxWindow* win)
|
|
||||||
{
|
|
||||||
// Don't update if we've switched global updating off
|
|
||||||
// and this window doesn't support updates.
|
|
||||||
if (win &&
|
|
||||||
(GetMode() == wxIDLE_PROCESS_SPECIFIED &&
|
|
||||||
((win->GetExtraStyle() & wxWS_EX_PROCESS_IDLE) == 0)))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scroll events
|
* Scroll events
|
||||||
*/
|
*/
|
||||||
|
@@ -37,7 +37,7 @@
|
|||||||
wxEventLoop *wxEventLoopBase::ms_activeLoop = NULL;
|
wxEventLoop *wxEventLoopBase::ms_activeLoop = NULL;
|
||||||
|
|
||||||
// wxEventLoopManual is unused in the other ports
|
// wxEventLoopManual is unused in the other ports
|
||||||
#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__)
|
#if defined(__WXMSW__) || defined(__WXMAC__) || defined(__WXDFB__) || (defined(__UNIX__) && !wxUSE_GUI)
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxEventLoopManual implementation
|
// wxEventLoopManual implementation
|
||||||
@@ -57,7 +57,7 @@ int wxEventLoopManual::Run()
|
|||||||
// ProcessIdle() and Dispatch() below may throw so the code here should
|
// ProcessIdle() and Dispatch() below may throw so the code here should
|
||||||
// be exception-safe, hence we must use local objects for all actions we
|
// be exception-safe, hence we must use local objects for all actions we
|
||||||
// should undo
|
// should undo
|
||||||
wxEventLoopActivator activate(wx_static_cast(wxEventLoop *, this));
|
wxEventLoopActivator activate(this);
|
||||||
|
|
||||||
// we must ensure that OnExit() is called even if an exception is thrown
|
// we must ensure that OnExit() is called even if an exception is thrown
|
||||||
// from inside Dispatch() but we must call it from Exit() in normal
|
// from inside Dispatch() but we must call it from Exit() in normal
|
||||||
|
97
src/common/fdiodispatcher.cpp
Normal file
97
src/common/fdiodispatcher.cpp
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: src/common/fdiodispatcher.cpp
|
||||||
|
// Purpose: Implementation of common wxFDIODispatcher methods
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Created: 2007-05-13
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// declarations
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// for compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
|
#include "wx/private/fdiodispatcher.h"
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
wxFDIOHandler *wxFDIODispatcher::FindHandler(int fd) const
|
||||||
|
{
|
||||||
|
const wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
|
||||||
|
|
||||||
|
return it == m_handlers.end() ? NULL : it->second.handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool wxFDIODispatcher::RegisterFD(int fd, wxFDIOHandler *handler, int flags)
|
||||||
|
{
|
||||||
|
wxUnusedVar(flags);
|
||||||
|
|
||||||
|
wxCHECK_MSG( handler, false, _T("handler can't be NULL") );
|
||||||
|
|
||||||
|
// notice that it's not an error to register a handler for the same fd
|
||||||
|
// twice as it can be done with different flags -- but it is an error to
|
||||||
|
// register different handlers
|
||||||
|
wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
|
||||||
|
if ( i != m_handlers.end() )
|
||||||
|
{
|
||||||
|
wxASSERT_MSG( i->second.handler == handler,
|
||||||
|
_T("registering different handler for the same fd?") );
|
||||||
|
wxASSERT_MSG( i->second.flags != flags,
|
||||||
|
_T("reregistering with the same flags?") );
|
||||||
|
}
|
||||||
|
|
||||||
|
m_handlers[fd] = wxFDIOHandlerEntry(handler, flags);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxFDIODispatcher::ModifyFD(int fd, wxFDIOHandler *handler, int flags)
|
||||||
|
{
|
||||||
|
wxUnusedVar(flags);
|
||||||
|
|
||||||
|
wxCHECK_MSG( handler, false, _T("handler can't be NULL") );
|
||||||
|
|
||||||
|
wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
|
||||||
|
wxCHECK_MSG( i != m_handlers.end(), false,
|
||||||
|
_T("modifying unregistered handler?") );
|
||||||
|
|
||||||
|
i->second = wxFDIOHandlerEntry(handler, flags);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxFDIOHandler *wxFDIODispatcher::UnregisterFD(int fd, int flags)
|
||||||
|
{
|
||||||
|
wxFDIOHandlerMap::iterator i = m_handlers.find(fd);
|
||||||
|
wxCHECK_MSG( i != m_handlers.end(), NULL,
|
||||||
|
_T("unregistering unregistered handler?") );
|
||||||
|
|
||||||
|
wxFDIOHandler * const handler = i->second.handler;
|
||||||
|
i->second.flags &= ~flags;
|
||||||
|
if ( !i->second.flags )
|
||||||
|
{
|
||||||
|
// this handler is not registered for anything any more, get rid of it
|
||||||
|
m_handlers.erase(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
return handler;
|
||||||
|
}
|
||||||
|
|
@@ -2,7 +2,6 @@
|
|||||||
// Name: src/common/gsocketiohandler.cpp
|
// Name: src/common/gsocketiohandler.cpp
|
||||||
// Purpose: implementation of wxFDIOHandler for GSocket
|
// Purpose: implementation of wxFDIOHandler for GSocket
|
||||||
// Author: Angel Vidal, Lukasz Michalski
|
// Author: Angel Vidal, Lukasz Michalski
|
||||||
// Modified by:
|
|
||||||
// Created: 08.24.06
|
// Created: 08.24.06
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) 2006 Angel vidal
|
// Copyright: (c) 2006 Angel vidal
|
||||||
@@ -40,38 +39,38 @@ wxGSocketIOHandler::wxGSocketIOHandler(GSocket* socket)
|
|||||||
m_flags(0)
|
m_flags(0)
|
||||||
{
|
{
|
||||||
|
|
||||||
};
|
}
|
||||||
|
|
||||||
void wxGSocketIOHandler::OnReadWaiting(int fd)
|
void wxGSocketIOHandler::OnReadWaiting()
|
||||||
{
|
{
|
||||||
m_socket->Detected_Read();
|
m_socket->Detected_Read();
|
||||||
};
|
}
|
||||||
|
|
||||||
void wxGSocketIOHandler::OnWriteWaiting(int fd)
|
void wxGSocketIOHandler::OnWriteWaiting()
|
||||||
{
|
{
|
||||||
m_socket->Detected_Write();
|
m_socket->Detected_Write();
|
||||||
};
|
}
|
||||||
|
|
||||||
void wxGSocketIOHandler::OnExceptionWaiting(int fd)
|
void wxGSocketIOHandler::OnExceptionWaiting()
|
||||||
{
|
{
|
||||||
m_socket->Detected_Read();
|
m_socket->Detected_Read();
|
||||||
};
|
}
|
||||||
|
|
||||||
int wxGSocketIOHandler::GetFlags() const
|
int wxGSocketIOHandler::GetFlags() const
|
||||||
{
|
{
|
||||||
return m_flags;
|
return m_flags;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxGSocketIOHandler::RemoveFlag(wxSelectDispatcherEntryFlags flag)
|
void wxGSocketIOHandler::RemoveFlag(wxFDIODispatcherEntryFlags flag)
|
||||||
{
|
{
|
||||||
m_flags &= ~flag;
|
m_flags &= ~flag;
|
||||||
};
|
}
|
||||||
|
|
||||||
void wxGSocketIOHandler::AddFlag(wxSelectDispatcherEntryFlags flag)
|
void wxGSocketIOHandler::AddFlag(wxFDIODispatcherEntryFlags flag)
|
||||||
{
|
{
|
||||||
m_flags |= flag;
|
m_flags |= flag;
|
||||||
};
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// GSocket interface
|
// GSocket interface
|
||||||
@@ -113,11 +112,12 @@ void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket,
|
|||||||
GSocketEvent event)
|
GSocketEvent event)
|
||||||
{
|
{
|
||||||
int *m_id = (int *)(socket->m_gui_dependent);
|
int *m_id = (int *)(socket->m_gui_dependent);
|
||||||
int c;
|
const int fd = socket->m_fd;
|
||||||
|
|
||||||
if (socket->m_fd == -1)
|
if ( fd == -1 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
int c;
|
||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case GSOCK_LOST: /* fall-through */
|
case GSOCK_LOST: /* fall-through */
|
||||||
@@ -127,24 +127,29 @@ void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket,
|
|||||||
default: return;
|
default: return;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGSocketIOHandler* handler = (wxGSocketIOHandler*)(wxSelectDispatcher::Get().FindHandler(socket->m_fd));
|
wxSelectDispatcher * const dispatcher = wxSelectDispatcher::Get();
|
||||||
if (handler == NULL)
|
if ( !dispatcher )
|
||||||
|
return;
|
||||||
|
|
||||||
|
wxGSocketIOHandler *
|
||||||
|
handler = (wxGSocketIOHandler*)dispatcher->FindHandler(fd);
|
||||||
|
if ( !handler )
|
||||||
{
|
{
|
||||||
handler = new wxGSocketIOHandler(socket);
|
handler = new wxGSocketIOHandler(socket);
|
||||||
};
|
}
|
||||||
|
|
||||||
if (c == 0)
|
if (c == 0)
|
||||||
{
|
{
|
||||||
m_id[0] = socket->m_fd;
|
m_id[0] = fd;
|
||||||
handler->AddFlag(wxSelectInput);
|
handler->AddFlag(wxFDIO_INPUT);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_id[1] = socket->m_fd;
|
m_id[1] = fd;
|
||||||
handler->AddFlag(wxSelectOutput);
|
handler->AddFlag(wxFDIO_OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxSelectDispatcher::Get().RegisterFD(socket->m_fd,handler,handler->GetFlags());
|
dispatcher->RegisterFD(fd, handler, handler->GetFlags());
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
|
void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
|
||||||
@@ -162,26 +167,27 @@ void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
|
|||||||
default: return;
|
default: return;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGSocketIOHandler* handler = NULL;
|
if ( m_id[c] == -1 )
|
||||||
if ( m_id[c] != -1 )
|
return;
|
||||||
|
|
||||||
|
int fd = m_id[c];
|
||||||
|
m_id[c] = -1;
|
||||||
|
|
||||||
|
const wxFDIODispatcherEntryFlags flag = c == 0 ? wxFDIO_INPUT : wxFDIO_OUTPUT;
|
||||||
|
|
||||||
|
wxSelectDispatcher * const dispatcher = wxSelectDispatcher::Get();
|
||||||
|
if ( !dispatcher )
|
||||||
|
return;
|
||||||
|
|
||||||
|
wxGSocketIOHandler * const
|
||||||
|
handler = (wxGSocketIOHandler*)dispatcher->UnregisterFD(fd, flag);
|
||||||
|
if ( handler )
|
||||||
{
|
{
|
||||||
if ( c == 0 )
|
handler->RemoveFlag(flag);
|
||||||
{
|
|
||||||
handler = (wxGSocketIOHandler*)wxSelectDispatcher::Get().UnregisterFD(m_id[c], wxSelectInput);
|
if ( !handler->GetFlags() )
|
||||||
if (handler != NULL)
|
|
||||||
handler->RemoveFlag(wxSelectInput);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
handler = (wxGSocketIOHandler*)wxSelectDispatcher::Get().UnregisterFD(m_id[c], wxSelectOutput);
|
|
||||||
if (handler != NULL)
|
|
||||||
handler->RemoveFlag(wxSelectOutput);
|
|
||||||
}
|
|
||||||
if (handler && handler->GetFlags() == 0)
|
|
||||||
delete handler;
|
delete handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_id[c] = -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
|
void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: src/common/socketevtdispatch.cpp
|
// Name: src/common/selectdispatcher.cpp
|
||||||
// Purpose: implements dispatcher for select() call
|
// Purpose: implements dispatcher for select() call
|
||||||
// Author: Lukasz Michalski
|
// Author: Lukasz Michalski and Vadim Zeitlin
|
||||||
// Created: December 2006
|
// Created: December 2006
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) 2006 Lukasz Michalski
|
// Copyright: (c) 2006 Lukasz Michalski
|
||||||
@@ -29,214 +29,261 @@
|
|||||||
#include "wx/hash.h"
|
#include "wx/hash.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_SELECT_H
|
#ifdef HAVE_SYS_SELECT_H
|
||||||
# include <sys/select.h>
|
#include <sys/select.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#define wxSelectDispatcher_Trace wxT("selectdispatcher")
|
#define wxSelectDispatcher_Trace wxT("selectdispatcher")
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// implementation
|
// implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxSelectSets
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
int wxSelectSets::ms_flags[wxSelectSets::Max] =
|
||||||
|
{
|
||||||
|
wxFDIO_INPUT,
|
||||||
|
wxFDIO_OUTPUT,
|
||||||
|
wxFDIO_EXCEPTION,
|
||||||
|
};
|
||||||
|
|
||||||
|
const char *wxSelectSets::ms_names[wxSelectSets::Max] =
|
||||||
|
{
|
||||||
|
"input",
|
||||||
|
"output",
|
||||||
|
"exceptional",
|
||||||
|
};
|
||||||
|
|
||||||
|
wxSelectSets::Callback wxSelectSets::ms_handlers[wxSelectSets::Max] =
|
||||||
|
{
|
||||||
|
&wxFDIOHandler::OnReadWaiting,
|
||||||
|
&wxFDIOHandler::OnWriteWaiting,
|
||||||
|
&wxFDIOHandler::OnExceptionWaiting,
|
||||||
|
};
|
||||||
|
|
||||||
|
wxSelectSets::wxSelectSets()
|
||||||
|
{
|
||||||
|
for ( int n = 0; n < Max; n++ )
|
||||||
|
{
|
||||||
|
wxFD_ZERO(&m_fds[n]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSelectSets::HasFD(int fd) const
|
||||||
|
{
|
||||||
|
for ( int n = 0; n < Max; n++ )
|
||||||
|
{
|
||||||
|
if ( wxFD_ISSET(fd, &m_fds[n]) )
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSelectSets::SetFD(int fd, int flags)
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( fd >= 0, false, _T("invalid descriptor") );
|
||||||
|
|
||||||
|
for ( int n = 0; n < Max; n++ )
|
||||||
|
{
|
||||||
|
if ( flags & ms_flags[n] )
|
||||||
|
{
|
||||||
|
wxFD_SET(fd, &m_fds[n]);
|
||||||
|
wxLogTrace(wxSelectDispatcher_Trace,
|
||||||
|
_T("Registered fd %d for %s events"), fd, ms_names[n]);
|
||||||
|
}
|
||||||
|
else if ( wxFD_ISSET(fd, &m_fds[n]) )
|
||||||
|
{
|
||||||
|
wxFD_CLR(fd, &m_fds[n]);
|
||||||
|
wxLogTrace(wxSelectDispatcher_Trace,
|
||||||
|
_T("Unregistered fd %d from %s events"), fd, ms_names[n]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxSelectSets::Select(int nfds, struct timeval *tv)
|
||||||
|
{
|
||||||
|
return select(nfds, &m_fds[Read], &m_fds[Write], &m_fds[Except], tv);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSelectSets::Handle(int fd, wxFDIOHandler& handler) const
|
||||||
|
{
|
||||||
|
for ( int n = 0; n < Max; n++ )
|
||||||
|
{
|
||||||
|
if ( wxFD_ISSET(fd, &m_fds[n]) )
|
||||||
|
{
|
||||||
|
wxLogTrace(wxSelectDispatcher_Trace,
|
||||||
|
_T("Got %s event on fd %d"), ms_names[n], fd);
|
||||||
|
(handler.*ms_handlers[n])();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxSelectDispatcher
|
// wxSelectDispatcher
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxSelectDispatcher* wxSelectDispatcher::ms_instance = NULL;
|
static wxSelectDispatcher *gs_selectDispatcher = NULL;
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
wxSelectDispatcher& wxSelectDispatcher::Get()
|
wxSelectDispatcher *wxSelectDispatcher::Get()
|
||||||
{
|
{
|
||||||
if ( !ms_instance )
|
if ( !gs_selectDispatcher )
|
||||||
ms_instance = new wxSelectDispatcher;
|
|
||||||
return *ms_instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
wxSelectDispatcher::RegisterFD(int fd, wxFDIOHandler* handler, int flags)
|
|
||||||
{
|
|
||||||
if ((flags & wxSelectInput) == wxSelectInput)
|
|
||||||
{
|
{
|
||||||
wxFD_SET(fd, &m_readset);
|
// the dispatcher should be only created from one thread so it should
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for input events"),fd);
|
// be ok to use a global without any protection here
|
||||||
};
|
gs_selectDispatcher = new wxSelectDispatcher;
|
||||||
|
|
||||||
if ((flags & wxSelectOutput) == wxSelectOutput)
|
|
||||||
{
|
|
||||||
wxFD_SET(fd, &m_writeset);
|
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for output events"),fd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & wxSelectException) == wxSelectException)
|
return gs_selectDispatcher;
|
||||||
{
|
}
|
||||||
wxFD_SET(fd, &m_exeptset);
|
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Registered fd %d for exception events"),fd);
|
|
||||||
};
|
|
||||||
|
|
||||||
m_handlers[fd] = handler;
|
/* static */
|
||||||
if (fd > m_maxFD)
|
void wxSelectDispatcher::DispatchPending()
|
||||||
|
{
|
||||||
|
if ( gs_selectDispatcher )
|
||||||
|
gs_selectDispatcher->RunLoop(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSelectDispatcher::wxSelectDispatcher()
|
||||||
|
{
|
||||||
|
m_maxFD = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSelectDispatcher::RegisterFD(int fd, wxFDIOHandler *handler, int flags)
|
||||||
|
{
|
||||||
|
if ( !wxFDIODispatcher::RegisterFD(fd, handler, flags) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if ( !m_sets.SetFD(fd, flags) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if ( fd > m_maxFD )
|
||||||
m_maxFD = fd;
|
m_maxFD = fd;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxFDIOHandler*
|
bool wxSelectDispatcher::ModifyFD(int fd, wxFDIOHandler *handler, int flags)
|
||||||
wxSelectDispatcher::UnregisterFD(int fd, int flags)
|
|
||||||
{
|
{
|
||||||
// GSocket likes to unregister -1 descriptor
|
if ( !wxFDIODispatcher::ModifyFD(fd, handler, flags) )
|
||||||
if (fd == -1)
|
return false;
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if ((flags & wxSelectInput) == wxSelectInput)
|
wxASSERT_MSG( fd <= m_maxFD, _T("logic error: registered fd > m_maxFD?") );
|
||||||
|
|
||||||
|
return m_sets.SetFD(fd, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxFDIOHandler *wxSelectDispatcher::UnregisterFD(int fd, int flags)
|
||||||
|
{
|
||||||
|
wxFDIOHandler * const handler = wxFDIODispatcher::UnregisterFD(fd, flags);
|
||||||
|
|
||||||
|
m_sets.ClearFD(fd, flags);
|
||||||
|
|
||||||
|
// remove the handler if we don't need it any more
|
||||||
|
if ( !m_sets.HasFD(fd) )
|
||||||
{
|
{
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from input events"),fd);
|
if ( fd == m_maxFD )
|
||||||
wxFD_CLR(fd, &m_readset);
|
{
|
||||||
|
// need to find new max fd
|
||||||
|
m_maxFD = -1;
|
||||||
|
for ( wxFDIOHandlerMap::const_iterator it = m_handlers.begin();
|
||||||
|
it != m_handlers.end();
|
||||||
|
++it )
|
||||||
|
{
|
||||||
|
if ( it->first > m_maxFD )
|
||||||
|
m_maxFD = it->first;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & wxSelectOutput) == wxSelectOutput)
|
return handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSelectDispatcher::ProcessSets(const wxSelectSets& sets)
|
||||||
|
{
|
||||||
|
for ( int fd = 0; fd <= m_maxFD; fd++ )
|
||||||
{
|
{
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from output events"),fd);
|
if ( !sets.HasFD(fd) )
|
||||||
wxFD_CLR(fd, &m_writeset);
|
continue;
|
||||||
|
|
||||||
|
wxFDIOHandler * const handler = FindHandler(fd);
|
||||||
|
if ( !handler )
|
||||||
|
{
|
||||||
|
wxFAIL_MSG( _T("NULL handler in wxSelectDispatcher?") );
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & wxSelectException) == wxSelectException)
|
sets.Handle(fd, *handler);
|
||||||
{
|
}
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Unregistered fd %d from exeption events"),fd);
|
|
||||||
wxFD_CLR(fd, &m_exeptset);
|
|
||||||
};
|
|
||||||
|
|
||||||
wxFDIOHandler* ret = NULL;
|
|
||||||
wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
|
|
||||||
if (it != m_handlers.end())
|
|
||||||
{
|
|
||||||
ret = it->second;
|
|
||||||
if (!wxFD_ISSET(fd,&m_readset) && !wxFD_ISSET(fd,&m_writeset) && !wxFD_ISSET(fd,&m_exeptset))
|
|
||||||
{
|
|
||||||
m_handlers.erase(it);
|
|
||||||
if ( m_handlers.empty() )
|
|
||||||
m_maxFD = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSelectDispatcher::ProcessSets(fd_set* readset, fd_set* writeset, fd_set* exeptset, int max_fd)
|
|
||||||
{
|
|
||||||
// it is safe to remove handler from onXXX methods,
|
|
||||||
// if you unregister descriptor first.
|
|
||||||
wxFDIOHandlerMap::const_iterator it = m_handlers.begin();
|
|
||||||
for ( int i = 0; i < max_fd; i++ )
|
|
||||||
{
|
|
||||||
wxFDIOHandler* handler = NULL;
|
|
||||||
if (wxFD_ISSET(i, readset))
|
|
||||||
{
|
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Got read event on fd %d"),i);
|
|
||||||
handler = FindHandler(i);
|
|
||||||
if (handler != NULL && wxFD_ISSET(i,&m_readset))
|
|
||||||
handler->OnReadWaiting(i);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxLogError(wxT("Lost fd in read fdset: %d, removing"),i);
|
|
||||||
wxFD_CLR(i,&m_readset);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if (wxFD_ISSET(i, writeset))
|
|
||||||
{
|
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Got write event on fd %d"),i);
|
|
||||||
if (handler == NULL)
|
|
||||||
handler = FindHandler(i);
|
|
||||||
if (handler != NULL && wxFD_ISSET(i,&m_writeset))
|
|
||||||
handler->OnWriteWaiting(i);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxLogError(wxT("Lost fd in write fdset: %d, removing"),i);
|
|
||||||
wxFD_CLR(i,&m_writeset);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
if (wxFD_ISSET(i, exeptset))
|
|
||||||
{
|
|
||||||
wxLogTrace(wxSelectDispatcher_Trace,wxT("Got exception event on fd %d"),i);
|
|
||||||
if (handler == NULL)
|
|
||||||
handler = FindHandler(i);
|
|
||||||
if (handler != NULL && wxFD_ISSET(i,&m_writeset))
|
|
||||||
handler->OnExceptionWaiting(i);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxLogError(wxT("Lost fd in exept fdset: %d, removing"),i);
|
|
||||||
wxFD_CLR(i,&m_exeptset);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
wxFDIOHandler* wxSelectDispatcher::FindHandler(int fd)
|
|
||||||
{
|
|
||||||
wxFDIOHandlerMap::const_iterator it = m_handlers.find(fd);
|
|
||||||
if (it != m_handlers.end())
|
|
||||||
return it->second;
|
|
||||||
return NULL;
|
|
||||||
};
|
|
||||||
|
|
||||||
void wxSelectDispatcher::RunLoop(int timeout)
|
void wxSelectDispatcher::RunLoop(int timeout)
|
||||||
{
|
{
|
||||||
struct timeval tv, *ptv = NULL;
|
struct timeval tv,
|
||||||
if ( timeout != wxSELECT_TIMEOUT_INFINITE )
|
*ptv = NULL;
|
||||||
|
if ( timeout != TIMEOUT_INFINITE )
|
||||||
{
|
{
|
||||||
ptv = &tv;
|
ptv = &tv;
|
||||||
tv.tv_sec = 0;
|
tv.tv_sec = 0;
|
||||||
tv.tv_usec = timeout*10;
|
tv.tv_usec = timeout*1000;
|
||||||
};
|
}
|
||||||
|
|
||||||
int ret;
|
for ( ;; )
|
||||||
do
|
|
||||||
{
|
{
|
||||||
fd_set readset = m_readset;
|
wxSelectSets sets = m_sets;
|
||||||
fd_set writeset = m_writeset;
|
|
||||||
fd_set exeptset = m_exeptset;
|
|
||||||
wxStopWatch sw;
|
wxStopWatch sw;
|
||||||
if ( ptv && timeout )
|
if ( ptv && timeout )
|
||||||
sw.Start(ptv->tv_usec/10);
|
sw.Start(ptv->tv_usec/10);
|
||||||
ret = select(m_maxFD+1, &readset, &writeset, &exeptset, ptv);
|
|
||||||
|
const int ret = sets.Select(m_maxFD + 1, ptv);
|
||||||
switch ( ret )
|
switch ( ret )
|
||||||
{
|
{
|
||||||
// TODO: handle unix signals here
|
|
||||||
case -1:
|
case -1:
|
||||||
if ( !timeout )
|
// continue if we were interrupted by a signal, else bail out
|
||||||
|
if ( errno != EINTR )
|
||||||
{
|
{
|
||||||
// it doesn't make sense to remain here
|
wxLogSysError(_("Failed to monitor IO channels"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
// timeout expired without anything happening
|
||||||
|
return;
|
||||||
|
|
||||||
|
default:
|
||||||
|
ProcessSets(sets);
|
||||||
|
}
|
||||||
|
|
||||||
if ( ptv )
|
if ( ptv )
|
||||||
{
|
{
|
||||||
ptv->tv_sec = 0;
|
timeout -= sw.Time();
|
||||||
ptv->tv_usec = timeout - sw.Time()*10;
|
if ( timeout <= 0 )
|
||||||
|
break;
|
||||||
|
|
||||||
|
ptv->tv_usec = timeout*1000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
|
|
||||||
// timeout
|
|
||||||
case 0:
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
ProcessSets(&readset, &writeset, &exeptset, m_maxFD+1);
|
|
||||||
};
|
|
||||||
} while (ret != 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxSelectDispatcherModule
|
// wxSelectDispatcherModule
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class wxSelectDispatcherModule: public wxModule
|
class wxSelectDispatcherModule : public wxModule
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool OnInit() { wxLog::AddTraceMask(wxSelectDispatcher_Trace); return true; }
|
virtual bool OnInit() { return true; }
|
||||||
void OnExit() { wxDELETE(wxSelectDispatcher::ms_instance); }
|
virtual void OnExit() { wxDELETE(gs_selectDispatcher); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxSelectDispatcherModule)
|
DECLARE_DYNAMIC_CLASS(wxSelectDispatcherModule)
|
||||||
|
@@ -41,28 +41,28 @@
|
|||||||
// wxEventLoop initialization
|
// wxEventLoop initialization
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxIDirectFBEventBufferPtr wxEventLoop::ms_buffer;
|
wxIDirectFBEventBufferPtr wxGUIEventLoop::ms_buffer;
|
||||||
|
|
||||||
wxEventLoop::wxEventLoop()
|
wxGUIEventLoop::wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
if ( !ms_buffer )
|
if ( !ms_buffer )
|
||||||
InitBuffer();
|
InitBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
void wxEventLoop::InitBuffer()
|
void wxGUIEventLoop::InitBuffer()
|
||||||
{
|
{
|
||||||
ms_buffer = wxIDirectFB::Get()->CreateEventBuffer();
|
ms_buffer = wxIDirectFB::Get()->CreateEventBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
void wxEventLoop::CleanUp()
|
void wxGUIEventLoop::CleanUp()
|
||||||
{
|
{
|
||||||
ms_buffer.Reset();
|
ms_buffer.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
wxIDirectFBEventBufferPtr wxEventLoop::GetDirectFBEventBuffer()
|
wxIDirectFBEventBufferPtr wxGUIEventLoop::GetDirectFBEventBuffer()
|
||||||
{
|
{
|
||||||
if ( !ms_buffer )
|
if ( !ms_buffer )
|
||||||
InitBuffer();
|
InitBuffer();
|
||||||
@@ -74,14 +74,14 @@ wxIDirectFBEventBufferPtr wxEventLoop::GetDirectFBEventBuffer()
|
|||||||
// events dispatch and loop handling
|
// events dispatch and loop handling
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
|
wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
|
||||||
|
|
||||||
return ms_buffer->HasEvent();
|
return ms_buffer->HasEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
|
wxCHECK_MSG( ms_buffer, false, _T("invalid event buffer") );
|
||||||
|
|
||||||
@@ -126,14 +126,14 @@ bool wxEventLoop::Dispatch()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::WakeUp()
|
void wxGUIEventLoop::WakeUp()
|
||||||
{
|
{
|
||||||
wxCHECK_RET( ms_buffer, _T("invalid event buffer") );
|
wxCHECK_RET( ms_buffer, _T("invalid event buffer") );
|
||||||
|
|
||||||
ms_buffer->WakeUp();
|
ms_buffer->WakeUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::OnNextIteration()
|
void wxGUIEventLoop::OnNextIteration()
|
||||||
{
|
{
|
||||||
#if wxUSE_TIMER
|
#if wxUSE_TIMER
|
||||||
wxGenericTimerImpl::NotifyTimers();
|
wxGenericTimerImpl::NotifyTimers();
|
||||||
@@ -141,11 +141,11 @@ void wxEventLoop::OnNextIteration()
|
|||||||
|
|
||||||
#if wxUSE_SOCKETS
|
#if wxUSE_SOCKETS
|
||||||
// handle any pending socket events:
|
// handle any pending socket events:
|
||||||
wxSelectDispatcher::Get().RunLoop(0);
|
wxSelectDispatcher::DispatchPending();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Yield()
|
void wxGUIEventLoop::Yield()
|
||||||
{
|
{
|
||||||
// process all pending events:
|
// process all pending events:
|
||||||
while ( Pending() )
|
while ( Pending() )
|
||||||
@@ -160,7 +160,7 @@ void wxEventLoop::Yield()
|
|||||||
// DirectFB -> wxWidgets events translation
|
// DirectFB -> wxWidgets events translation
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxEventLoop::HandleDFBEvent(const wxDFBEvent& event)
|
void wxGUIEventLoop::HandleDFBEvent(const wxDFBEvent& event)
|
||||||
{
|
{
|
||||||
switch ( event.GetClass() )
|
switch ( event.GetClass() )
|
||||||
{
|
{
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/utils.h"
|
#include "wx/utils.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/unix/execute.h"
|
#include "wx/unix/execute.h"
|
||||||
|
|
||||||
@@ -38,6 +39,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_DFB;
|
return wxPORT_DFB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
};
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// display characteristics
|
// display characteristics
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -135,7 +135,7 @@ int wxDialog::ShowModal()
|
|||||||
// NOTE: gtk_window_set_modal internally calls gtk_grab_add() !
|
// NOTE: gtk_window_set_modal internally calls gtk_grab_add() !
|
||||||
gtk_window_set_modal(GTK_WINDOW(m_widget), TRUE);
|
gtk_window_set_modal(GTK_WINDOW(m_widget), TRUE);
|
||||||
|
|
||||||
wxEventLoop().Run();
|
wxGUIEventLoop().Run();
|
||||||
|
|
||||||
gtk_window_set_modal(GTK_WINDOW(m_widget), FALSE);
|
gtk_window_set_modal(GTK_WINDOW(m_widget), FALSE);
|
||||||
|
|
||||||
|
@@ -62,12 +62,12 @@ wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoopImpl)
|
|||||||
// wxEventLoop running and exiting
|
// wxEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -83,7 +83,7 @@ int wxEventLoop::Run()
|
|||||||
return m_impl->GetExitCode();
|
return m_impl->GetExitCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
bool pending;
|
bool pending;
|
||||||
wxApp* app = wxTheApp;
|
wxApp* app = wxTheApp;
|
||||||
@@ -108,7 +108,7 @@ bool wxEventLoop::Pending() const
|
|||||||
return pending;
|
return pending;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
||||||
|
|
||||||
|
@@ -1173,7 +1173,7 @@ void wxTopLevelWindowGTK::AddGrab()
|
|||||||
{
|
{
|
||||||
m_grabbed = true;
|
m_grabbed = true;
|
||||||
gtk_grab_add( m_widget );
|
gtk_grab_add( m_widget );
|
||||||
wxEventLoop().Run();
|
wxGUIEventLoop().Run();
|
||||||
gtk_grab_remove( m_widget );
|
gtk_grab_remove( m_widget );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -26,6 +26,7 @@
|
|||||||
#include "wx/unix/execute.h"
|
#include "wx/unix/execute.h"
|
||||||
|
|
||||||
#include "wx/gtk/private/timer.h"
|
#include "wx/gtk/private/timer.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
#ifdef __WXDEBUG__
|
#ifdef __WXDEBUG__
|
||||||
#include "wx/gtk/assertdlg_gtk.h"
|
#include "wx/gtk/assertdlg_gtk.h"
|
||||||
@@ -363,6 +364,12 @@ static wxString GetSM()
|
|||||||
// wxGUIAppTraits
|
// wxGUIAppTraits
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxEventLoop *wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#if wxUSE_INTL
|
#if wxUSE_INTL
|
||||||
void wxGUIAppTraits::SetLocale()
|
void wxGUIAppTraits::SetLocale()
|
||||||
{
|
{
|
||||||
|
@@ -52,19 +52,19 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxEventLoop implementation
|
// wxGUIEventLoop implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop running and exiting
|
// wxGUIEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -84,7 +84,7 @@ int wxEventLoop::Run()
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -97,7 +97,7 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
if (wxTheApp)
|
if (wxTheApp)
|
||||||
{
|
{
|
||||||
@@ -109,7 +109,7 @@ bool wxEventLoop::Pending() const
|
|||||||
return gtk_events_pending();
|
return gtk_events_pending();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
||||||
|
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/gtk1/private/timer.h"
|
#include "wx/gtk1/private/timer.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/process.h"
|
#include "wx/process.h"
|
||||||
|
|
||||||
#include "wx/unix/execute.h"
|
#include "wx/unix/execute.h"
|
||||||
@@ -202,9 +203,9 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_GTK;
|
return wxPORT_GTK;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString wxGUIAppTraits::GetDesktopEnvironment() const
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
{
|
{
|
||||||
return wxEmptyString;
|
return new wxEventLoop;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_INTL
|
#if wxUSE_INTL
|
||||||
|
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
#if wxMAC_USE_RUN_APP_EVENT_LOOP
|
#if wxMAC_USE_RUN_APP_EVENT_LOOP
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
wxEventLoopActivator activate(this);
|
wxEventLoopActivator activate(this);
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ int wxEventLoop::Run()
|
|||||||
return m_exitcode;
|
return m_exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
m_exitcode = rc;
|
m_exitcode = rc;
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// functions only used by wxEventLoopManual-based implementation
|
// functions only used by wxEventLoopManual-based implementation
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxEventLoop::WakeUp()
|
void wxGUIEventLoop::WakeUp()
|
||||||
{
|
{
|
||||||
extern void wxMacWakeUp();
|
extern void wxMacWakeUp();
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ void wxEventLoop::WakeUp()
|
|||||||
// low level functions used in both cases
|
// low level functions used in both cases
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
EventRef theEvent;
|
EventRef theEvent;
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ bool wxEventLoop::Pending() const
|
|||||||
) == noErr;
|
) == noErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
// TODO: we probably should do the dispatching directly from here but for
|
// TODO: we probably should do the dispatching directly from here but for
|
||||||
// now it's easier to forward to wxApp which has all the code to do
|
// now it's easier to forward to wxApp which has all the code to do
|
||||||
|
@@ -61,6 +61,7 @@
|
|||||||
#include "wx/mac/private/timer.h"
|
#include "wx/mac/private/timer.h"
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/mac/private.h"
|
#include "wx/mac/private.h"
|
||||||
|
|
||||||
#if defined(__MWERKS__) && wxUSE_UNICODE
|
#if defined(__MWERKS__) && wxUSE_UNICODE
|
||||||
@@ -380,6 +381,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_MAC;
|
return wxPORT_MAC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||||
{
|
{
|
||||||
return new wxCarbonTimerImpl(timer);
|
return new wxCarbonTimerImpl(timer);
|
||||||
|
@@ -1237,7 +1237,7 @@ void wxDC::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
|
|||||||
if ( x )
|
if ( x )
|
||||||
// VS: YDEV is corrent, it should *not* be XDEV, because font's are
|
// VS: YDEV is corrent, it should *not* be XDEV, because font's are
|
||||||
// only scaled according to m_scaleY
|
// only scaled according to m_scaleY
|
||||||
*x = YDEV2LOGREL(m_MGLDC->textWidth(string.c_str()));
|
*x = YDEV2LOGREL(m_MGLDC->textWidth(string.wc_str()));
|
||||||
if ( y )
|
if ( y )
|
||||||
*y = YDEV2LOGREL(m_MGLDC->textHeight());
|
*y = YDEV2LOGREL(m_MGLDC->textHeight());
|
||||||
if ( descent )
|
if ( descent )
|
||||||
|
@@ -26,6 +26,8 @@
|
|||||||
#endif //WX_PRECOMP
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
#include "wx/evtloop.h"
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
|
#include "wx/generic/private/timer.h"
|
||||||
#include "wx/mgl/private.h"
|
#include "wx/mgl/private.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -79,9 +81,10 @@ void wxEventLoopImpl::Dispatch()
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if wxUSE_TIMER
|
#if wxUSE_TIMER
|
||||||
wxTimer::NotifyTimers();
|
wxGenericTimerImpl::NotifyTimers();
|
||||||
MGL_wmUpdateDC(g_winMng);
|
|
||||||
#endif
|
#endif
|
||||||
|
MGL_wmUpdateDC(g_winMng);
|
||||||
|
|
||||||
EVT_pollJoystick();
|
EVT_pollJoystick();
|
||||||
if ( EVT_getNext(&evt, EVT_EVERYEVT) ) break;
|
if ( EVT_getNext(&evt, EVT_EVERYEVT) ) break;
|
||||||
PM_sleep(10);
|
PM_sleep(10);
|
||||||
@@ -97,19 +100,19 @@ bool wxEventLoopImpl::SendIdleEvent()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxEventLoop implementation
|
// wxGUIEventLoop implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop running and exiting
|
// wxGUIEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -146,7 +149,7 @@ int wxEventLoop::Run()
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -162,7 +165,7 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
// update the display here, so that wxYield refreshes display and
|
// update the display here, so that wxYield refreshes display and
|
||||||
// changes take effect immediately, not after emptying events queue:
|
// changes take effect immediately, not after emptying events queue:
|
||||||
@@ -173,10 +176,11 @@ bool wxEventLoop::Pending() const
|
|||||||
return (bool)(EVT_peekNext(&evt, EVT_EVERYEVT));
|
return (bool)(EVT_peekNext(&evt, EVT_EVERYEVT));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
||||||
|
|
||||||
m_impl->Dispatch();
|
m_impl->Dispatch();
|
||||||
return m_impl->GetKeepLooping();
|
return m_impl->GetKeepLooping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/process.h"
|
#include "wx/process.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -122,6 +123,12 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_MGL;
|
return wxPORT_MGL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxGetMousePosition(int* x, int* y)
|
void wxGetMousePosition(int* x, int* y)
|
||||||
{
|
{
|
||||||
MS_getPos(x, y);
|
MS_getPos(x, y);
|
||||||
|
@@ -101,12 +101,12 @@ bool wxEventLoopImpl::SendIdleMessage()
|
|||||||
// wxEventLoop running and exiting
|
// wxEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -131,7 +131,7 @@ int wxEventLoop::Run()
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -145,12 +145,12 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
return XtAppPending( (XtAppContext)wxTheApp->GetAppContext() ) != 0;
|
return XtAppPending( (XtAppContext)wxTheApp->GetAppContext() ) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
XEvent event;
|
XEvent event;
|
||||||
XtAppContext context = (XtAppContext)wxTheApp->GetAppContext();
|
XtAppContext context = (XtAppContext)wxTheApp->GetAppContext();
|
||||||
@@ -338,7 +338,7 @@ bool CheckForKeyUp(XEvent* event)
|
|||||||
// executes one main loop iteration (declared in include/wx/motif/private.h)
|
// executes one main loop iteration (declared in include/wx/motif/private.h)
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxDoEventLoopIteration( wxEventLoop& evtLoop )
|
bool wxDoEventLoopIteration( wxGUIEventLoop& evtLoop )
|
||||||
{
|
{
|
||||||
bool moreRequested, pendingEvents;
|
bool moreRequested, pendingEvents;
|
||||||
|
|
||||||
|
@@ -136,6 +136,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_MOTIF;
|
return wxPORT_MOTIF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
|
wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
|
||||||
{
|
{
|
||||||
return new wxMotifTimerImpl(timer);
|
return new wxMotifTimerImpl(timer);
|
||||||
|
@@ -266,12 +266,16 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
wxTimerImpl *
|
wxTimerImpl *wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||||
wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
|
||||||
{
|
{
|
||||||
return new wxMSWTimerImpl(timer);
|
return new wxMSWTimerImpl(timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
// wxApp implementation
|
// wxApp implementation
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
@@ -28,6 +28,7 @@
|
|||||||
#endif //WX_PRECOMP
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/msw/private/timer.h"
|
#include "wx/msw/private/timer.h"
|
||||||
// MBN: this is a workaround for MSVC 5: if it is not #included in
|
// MBN: this is a workaround for MSVC 5: if it is not #included in
|
||||||
// some wxBase file, wxRecursionGuard methods won't be exported from
|
// some wxBase file, wxRecursionGuard methods won't be exported from
|
||||||
@@ -81,12 +82,15 @@ bool wxConsoleAppTraits::DoMessageFromThreadWait()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxTimerImpl *
|
wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||||
wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
|
|
||||||
{
|
{
|
||||||
return new wxMSWTimerImpl(timer);
|
return new wxMSWTimerImpl(timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop *wxConsoleAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop();
|
||||||
|
}
|
||||||
|
|
||||||
WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
|
WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread)
|
||||||
{
|
{
|
||||||
|
341
src/msw/evtloopmsw.cpp
Normal file
341
src/msw/evtloopmsw.cpp
Normal file
@@ -0,0 +1,341 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: msw/evtloop.cpp
|
||||||
|
// Purpose: implements wxEventLoop for MSW
|
||||||
|
// Author: Vadim Zeitlin
|
||||||
|
// Modified by:
|
||||||
|
// Created: 01.06.01
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
|
// License: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// declarations
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#if wxUSE_GUI
|
||||||
|
#include "wx/window.h"
|
||||||
|
#endif
|
||||||
|
#include "wx/app.h"
|
||||||
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include "wx/except.h"
|
||||||
|
#include "wx/ptr_scpd.h"
|
||||||
|
|
||||||
|
#include "wx/msw/private.h"
|
||||||
|
|
||||||
|
#if wxUSE_GUI
|
||||||
|
#include "wx/tooltip.h"
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
#include "wx/thread.h"
|
||||||
|
|
||||||
|
// define the list of MSG strutures
|
||||||
|
WX_DECLARE_LIST(MSG, wxMsgList);
|
||||||
|
|
||||||
|
#include "wx/listimpl.cpp"
|
||||||
|
|
||||||
|
WX_DEFINE_LIST(wxMsgList)
|
||||||
|
#endif // wxUSE_THREADS
|
||||||
|
#endif //wxUSE_GUI
|
||||||
|
|
||||||
|
#if wxUSE_BASE
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// wxMSWEventLoopBase implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// ctor/dtor
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxMSWEventLoopBase::wxMSWEventLoopBase()
|
||||||
|
{
|
||||||
|
m_shouldExit = false;
|
||||||
|
m_exitcode = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxEventLoop message processing dispatching
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool wxMSWEventLoopBase::Pending() const
|
||||||
|
{
|
||||||
|
MSG msg;
|
||||||
|
return ::PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxMSWEventLoopBase::GetNextMessage(WXMSG* msg)
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( IsRunning(), false, _T("can't get messages if not running") );
|
||||||
|
|
||||||
|
const BOOL rc = ::GetMessage(msg, NULL, 0, 0);
|
||||||
|
|
||||||
|
if ( rc == 0 )
|
||||||
|
{
|
||||||
|
// got WM_QUIT
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( rc == -1 )
|
||||||
|
{
|
||||||
|
// should never happen, but let's test for it nevertheless
|
||||||
|
wxLogLastError(wxT("GetMessage"));
|
||||||
|
|
||||||
|
// still break from the loop
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_BASE
|
||||||
|
|
||||||
|
#if wxUSE_GUI
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// GUI wxEventLoop implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
wxWindowMSW *wxGUIEventLoop::ms_winCritical = NULL;
|
||||||
|
|
||||||
|
bool wxGUIEventLoop::IsChildOfCriticalWindow(wxWindowMSW *win)
|
||||||
|
{
|
||||||
|
while ( win )
|
||||||
|
{
|
||||||
|
if ( win == ms_winCritical )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
win = win->GetParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg)
|
||||||
|
{
|
||||||
|
HWND hwnd = msg->hwnd;
|
||||||
|
wxWindow *wndThis = wxGetWindowFromHWND((WXHWND)hwnd);
|
||||||
|
wxWindow *wnd;
|
||||||
|
|
||||||
|
// this might happen if we're in a modeless dialog, or if a wx control has
|
||||||
|
// children which themselves were not created by wx (i.e. wxActiveX control children)
|
||||||
|
if ( !wndThis )
|
||||||
|
{
|
||||||
|
while ( hwnd && (::GetWindowLong(hwnd, GWL_STYLE) & WS_CHILD ))
|
||||||
|
{
|
||||||
|
hwnd = ::GetParent(hwnd);
|
||||||
|
|
||||||
|
// If the control has a wx parent, break and give the parent a chance
|
||||||
|
// to process the window message
|
||||||
|
wndThis = wxGetWindowFromHWND((WXHWND)hwnd);
|
||||||
|
if (wndThis != NULL)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !wndThis )
|
||||||
|
{
|
||||||
|
// this may happen if the event occurred in a standard modeless dialog (the
|
||||||
|
// only example of which I know of is the find/replace dialog) - then call
|
||||||
|
// IsDialogMessage() to make TAB navigation in it work
|
||||||
|
|
||||||
|
// NOTE: IsDialogMessage() just eats all the messages (i.e. returns true for
|
||||||
|
// them) if we call it for the control itself
|
||||||
|
return hwnd && ::IsDialogMessage(hwnd, msg) != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !AllowProcessing(wndThis) )
|
||||||
|
{
|
||||||
|
// not a child of critical window, so we eat the event but take care to
|
||||||
|
// stop an endless stream of WM_PAINTs which would have resulted if we
|
||||||
|
// didn't validate the invalidated part of the window
|
||||||
|
if ( msg->message == WM_PAINT )
|
||||||
|
::ValidateRect(hwnd, NULL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if wxUSE_TOOLTIPS
|
||||||
|
// we must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to
|
||||||
|
// popup the tooltip bubbles
|
||||||
|
if ( msg->message == WM_MOUSEMOVE )
|
||||||
|
{
|
||||||
|
// we should do it if one of window children has an associated tooltip
|
||||||
|
// (and not just if the window has a tooltip itself)
|
||||||
|
if ( wndThis->HasToolTips() )
|
||||||
|
wxToolTip::RelayEvent((WXMSG *)msg);
|
||||||
|
}
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
|
|
||||||
|
// allow the window to prevent certain messages from being
|
||||||
|
// translated/processed (this is currently used by wxTextCtrl to always
|
||||||
|
// grab Ctrl-C/V/X, even if they are also accelerators in some parent)
|
||||||
|
if ( !wndThis->MSWShouldPreProcessMessage((WXMSG *)msg) )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// try translations first: the accelerators override everything
|
||||||
|
for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
|
||||||
|
{
|
||||||
|
if ( wnd->MSWTranslateMessage((WXMSG *)msg))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// stop at first top level window, i.e. don't try to process the key
|
||||||
|
// strokes originating in a dialog using the accelerators of the parent
|
||||||
|
// frame - this doesn't make much sense
|
||||||
|
if ( wnd->IsTopLevel() )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// now try the other hooks (kbd navigation is handled here)
|
||||||
|
for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
|
||||||
|
{
|
||||||
|
if ( wnd->MSWProcessMessage((WXMSG *)msg) )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
// also stop at first top level window here, just as above because
|
||||||
|
// if we don't do this, pressing ESC on a modal dialog shown as child
|
||||||
|
// of a modal dialog with wxID_CANCEL will cause the parent dialog to
|
||||||
|
// be closed, for example
|
||||||
|
if ( wnd->IsTopLevel() )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// no special preprocessing for this message, dispatch it normally
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGUIEventLoop::ProcessMessage(WXMSG *msg)
|
||||||
|
{
|
||||||
|
// give us the chance to preprocess the message first
|
||||||
|
if ( !PreProcessMessage(msg) )
|
||||||
|
{
|
||||||
|
// if it wasn't done, dispatch it to the corresponding window
|
||||||
|
::TranslateMessage(msg);
|
||||||
|
::DispatchMessage(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxGUIEventLoop::Dispatch()
|
||||||
|
{
|
||||||
|
MSG msg;
|
||||||
|
if ( !GetNextMessage(&msg) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
wxASSERT_MSG( wxThread::IsMain(),
|
||||||
|
wxT("only the main thread can process Windows messages") );
|
||||||
|
|
||||||
|
static bool s_hadGuiLock = true;
|
||||||
|
static wxMsgList s_aSavedMessages;
|
||||||
|
|
||||||
|
// if a secondary thread owning the mutex is doing GUI calls, save all
|
||||||
|
// messages for later processing - we can't process them right now because
|
||||||
|
// it will lead to recursive library calls (and we're not reentrant)
|
||||||
|
if ( !wxGuiOwnedByMainThread() )
|
||||||
|
{
|
||||||
|
s_hadGuiLock = false;
|
||||||
|
|
||||||
|
// leave out WM_COMMAND messages: too dangerous, sometimes
|
||||||
|
// the message will be processed twice
|
||||||
|
if ( !wxIsWaitingForThread() || msg.message != WM_COMMAND )
|
||||||
|
{
|
||||||
|
MSG* pMsg = new MSG(msg);
|
||||||
|
s_aSavedMessages.Append(pMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// have we just regained the GUI lock? if so, post all of the saved
|
||||||
|
// messages
|
||||||
|
//
|
||||||
|
// FIXME of course, it's not _exactly_ the same as processing the
|
||||||
|
// messages normally - expect some things to break...
|
||||||
|
if ( !s_hadGuiLock )
|
||||||
|
{
|
||||||
|
s_hadGuiLock = true;
|
||||||
|
|
||||||
|
wxMsgList::compatibility_iterator node = s_aSavedMessages.GetFirst();
|
||||||
|
while (node)
|
||||||
|
{
|
||||||
|
MSG* pMsg = node->GetData();
|
||||||
|
s_aSavedMessages.Erase(node);
|
||||||
|
|
||||||
|
ProcessMessage(pMsg);
|
||||||
|
delete pMsg;
|
||||||
|
|
||||||
|
node = s_aSavedMessages.GetFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // wxUSE_THREADS
|
||||||
|
|
||||||
|
ProcessMessage(&msg);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGUIEventLoop::OnNextIteration()
|
||||||
|
{
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
wxMutexGuiLeaveOrEnter();
|
||||||
|
#endif // wxUSE_THREADS
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGUIEventLoop::WakeUp()
|
||||||
|
{
|
||||||
|
::PostMessage(NULL, WM_NULL, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else // !wxUSE_GUI
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::OnNextIteration()
|
||||||
|
{
|
||||||
|
if ( wxTheApp )
|
||||||
|
wxTheApp->ProcessPendingEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::WakeUp()
|
||||||
|
{
|
||||||
|
wxWakeUpMainThread();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxConsoleEventLoop::Dispatch()
|
||||||
|
{
|
||||||
|
MSG msg;
|
||||||
|
if ( !GetNextMessage(&msg) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if ( msg.message == WM_TIMER )
|
||||||
|
{
|
||||||
|
TIMERPROC proc = (TIMERPROC)msg.lParam;
|
||||||
|
if ( proc )
|
||||||
|
(*proc)(NULL, 0, msg.wParam, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxLogDebug(_T("Ignoring unexpected message %d"), msg.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
return !m_shouldExit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //wxUSE_GUI
|
@@ -2464,7 +2464,7 @@ LRESULT WXDLLEXPORT APIENTRY _EXPORT wxWndProc(HWND hWnd, UINT message, WPARAM w
|
|||||||
|
|
||||||
LRESULT rc;
|
LRESULT rc;
|
||||||
|
|
||||||
if ( wnd && wxEventLoop::AllowProcessing(wnd) )
|
if ( wnd && wxGUIEventLoop::AllowProcessing(wnd) )
|
||||||
rc = wnd->MSWWindowProc(message, wParam, lParam);
|
rc = wnd->MSWWindowProc(message, wParam, lParam);
|
||||||
else
|
else
|
||||||
rc = ::DefWindowProc(hWnd, message, wParam, lParam);
|
rc = ::DefWindowProc(hWnd, message, wParam, lParam);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: src/os2/evtloop.cpp
|
// Name: src/os2/evtloop.cpp
|
||||||
// Purpose: implements wxEventLoop for PM
|
// Purpose: implements wxGUIEventLoop for PM
|
||||||
// Author: Vadim Zeitlin
|
// Author: Vadim Zeitlin
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 01.06.01
|
// Created: 01.06.01
|
||||||
@@ -197,14 +197,14 @@ bool wxEventLoopImpl::SendIdleMessage()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxEventLoop implementation
|
// wxGUIEventLoop implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop running and exiting
|
// wxGUIEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
@@ -227,18 +227,18 @@ wxEventLoop::~wxEventLoop()
|
|||||||
class CallEventLoopMethod
|
class CallEventLoopMethod
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef void (wxEventLoop::*FuncType)();
|
typedef void (wxGUIEventLoop::*FuncType)();
|
||||||
|
|
||||||
CallEventLoopMethod(wxEventLoop *evtLoop, FuncType fn)
|
CallEventLoopMethod(wxGUIEventLoop *evtLoop, FuncType fn)
|
||||||
: m_evtLoop(evtLoop), m_fn(fn) { }
|
: m_evtLoop(evtLoop), m_fn(fn) { }
|
||||||
~CallEventLoopMethod() { (m_evtLoop->*m_fn)(); }
|
~CallEventLoopMethod() { (m_evtLoop->*m_fn)(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxEventLoop *m_evtLoop;
|
wxGUIEventLoop *m_evtLoop;
|
||||||
FuncType m_fn;
|
FuncType m_fn;
|
||||||
};
|
};
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -249,7 +249,7 @@ int wxEventLoop::Run()
|
|||||||
wxEventLoopActivator activate(this);
|
wxEventLoopActivator activate(this);
|
||||||
wxEventLoopImplTiedPtr impl(&m_impl, new wxEventLoopImpl);
|
wxEventLoopImplTiedPtr impl(&m_impl, new wxEventLoopImpl);
|
||||||
|
|
||||||
CallEventLoopMethod callOnExit(this, &wxEventLoop::OnExit);
|
CallEventLoopMethod callOnExit(this, &wxGUIEventLoop::OnExit);
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
@@ -283,7 +283,7 @@ int wxEventLoop::Run()
|
|||||||
return m_impl->GetExitCode();
|
return m_impl->GetExitCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -293,16 +293,16 @@ void wxEventLoop::Exit(int rc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop message processing dispatching
|
// wxGUIEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
QMSG msg;
|
QMSG msg;
|
||||||
return ::WinPeekMsg(vHabmain, &msg, 0, 0, 0, PM_NOREMOVE) != 0;
|
return ::WinPeekMsg(vHabmain, &msg, 0, 0, 0, PM_NOREMOVE) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
wxCHECK_MSG( IsRunning(), false, _T("can't call Dispatch() if not running") );
|
||||||
|
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/os2/private/timer.h"
|
#include "wx/os2/private/timer.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
#include "wx/os2/private.h" // includes <windows.h>
|
#include "wx/os2/private.h" // includes <windows.h>
|
||||||
|
|
||||||
@@ -267,6 +268,10 @@ wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
|||||||
return new wxOS2TimerImpl(timer);
|
return new wxOS2TimerImpl(timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// window information functions
|
// window information functions
|
||||||
|
@@ -47,6 +47,7 @@
|
|||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/filename.h"
|
#include "wx/filename.h"
|
||||||
#include "wx/dynlib.h"
|
#include "wx/dynlib.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
#if wxUSE_TOOLTIPS
|
#if wxUSE_TOOLTIPS
|
||||||
#include "wx/tooltip.h"
|
#include "wx/tooltip.h"
|
||||||
@@ -123,6 +124,11 @@ wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
|
|||||||
{
|
{
|
||||||
return new wxPalmOSTimerImpl(timer);
|
return new wxPalmOSTimerImpl(timer);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
// wxApp implementation
|
// wxApp implementation
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: src/palmos/evtloop.cpp
|
// Name: src/palmos/evtloop.cpp
|
||||||
// Purpose: implements wxEventLoop for Palm OS
|
// Purpose: implements wxGUIEventLoop for Palm OS
|
||||||
// Author: William Osborne - minimal working wxPalmOS port
|
// Author: William Osborne - minimal working wxPalmOS port
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 10.14.04
|
// Created: 10.14.04
|
||||||
@@ -52,42 +52,42 @@
|
|||||||
#include <Form.h>
|
#include <Form.h>
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// wxEventLoop implementation
|
// wxGUIEventLoop implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// ctor/dtor
|
// ctor/dtor
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::wxEventLoop()
|
wxGUIEventLoop::wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
m_shouldExit = false;
|
m_shouldExit = false;
|
||||||
m_exitcode = 0;
|
m_exitcode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop message processing
|
// wxGUIEventLoop message processing
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxEventLoop::ProcessMessage(WXMSG *msg)
|
void wxGUIEventLoop::ProcessMessage(WXMSG *msg)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::PreProcessMessage(WXMSG *msg)
|
bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop running and exiting
|
// wxGUIEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::IsRunning() const
|
bool wxGUIEventLoop::IsRunning() const
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
status_t error;
|
status_t error;
|
||||||
EventType event;
|
EventType event;
|
||||||
@@ -112,7 +112,7 @@ int wxEventLoop::Run()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
FrmCloseAllForms();
|
FrmCloseAllForms();
|
||||||
|
|
||||||
@@ -122,15 +122,15 @@ void wxEventLoop::Exit(int rc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxEventLoop message processing dispatching
|
// wxGUIEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
77
src/unix/appunix.cpp
Normal file
77
src/unix/appunix.cpp
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/unix/appunix.cpp
|
||||||
|
// Purpose: wxAppConsole with wxMainLoop implementation
|
||||||
|
// Author: Lukasz Michalski
|
||||||
|
// Created: 28/01/2005
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Lukasz Michalski
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "wx/app.h"
|
||||||
|
#include "wx/log.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
bool wxAppConsoleUnix::Initialize(int& argc, wxChar** argv)
|
||||||
|
{
|
||||||
|
if ( !wxAppConsole::Initialize(argc,argv) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if ( !m_mainLoop->IsOk() )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
sigemptyset(&m_signalsCaught);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxAppConsoleUnix::HandleSignal(int signal)
|
||||||
|
{
|
||||||
|
wxAppConsoleUnix * const app = wxTheApp;
|
||||||
|
if ( !app )
|
||||||
|
return;
|
||||||
|
|
||||||
|
sigaddset(&(app->m_signalsCaught), signal);
|
||||||
|
app->WakeUpIdle();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxAppConsoleUnix::CheckSignal()
|
||||||
|
{
|
||||||
|
for ( SignalHandlerHash::iterator it = m_signalHandlerHash.begin();
|
||||||
|
it != m_signalHandlerHash.end();
|
||||||
|
++it )
|
||||||
|
{
|
||||||
|
int sig = it->first;
|
||||||
|
if ( sigismember(&m_signalsCaught, sig) )
|
||||||
|
{
|
||||||
|
sigdelset(&m_signalsCaught, sig);
|
||||||
|
(it->second)(sig);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxAppConsoleUnix::SetSignalHandler(int signal, SignalHandler handler)
|
||||||
|
{
|
||||||
|
const bool install = handler != SIG_DFL && handler != SIG_IGN;
|
||||||
|
|
||||||
|
struct sigaction sa;
|
||||||
|
memset(&sa, 0, sizeof(sa));
|
||||||
|
sa.sa_handler = &wxAppConsoleUnix::HandleSignal;
|
||||||
|
sa.sa_flags = SA_RESTART;
|
||||||
|
int res = sigaction(signal, &sa, 0);
|
||||||
|
if ( res != 0 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to install signal handler"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( install )
|
||||||
|
m_signalHandlerHash[signal] = handler;
|
||||||
|
else
|
||||||
|
m_signalHandlerHash.erase(signal);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
@@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/unix/execute.h"
|
#include "wx/unix/execute.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
#include "wx/unix/private/timer.h"
|
#include "wx/unix/private/timer.h"
|
||||||
|
|
||||||
// for waitpid()
|
// for waitpid()
|
||||||
@@ -82,10 +83,15 @@ wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxTimerImpl*
|
wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||||
wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
|
|
||||||
{
|
{
|
||||||
// this doesn't work yet as there is no main loop in console applications
|
// this doesn't work yet as there is no main loop in console applications
|
||||||
// (but it will be added later)
|
// (but it will be added later)
|
||||||
return new wxUnixTimerImpl(timer);
|
return new wxUnixTimerImpl(timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop *wxConsoleAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop();
|
||||||
|
}
|
||||||
|
|
||||||
|
219
src/unix/epolldispatcher.cpp
Normal file
219
src/unix/epolldispatcher.cpp
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: src/common/epolldispatcher.cpp
|
||||||
|
// Purpose: implements dispatcher for epoll_wait() call
|
||||||
|
// Author: Lukasz Michalski
|
||||||
|
// Created: April 2007
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2007 Lukasz Michalski
|
||||||
|
// License: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// declarations
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// for compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_EPOLL_H
|
||||||
|
|
||||||
|
#include "wx/unix/private/epolldispatcher.h"
|
||||||
|
#include "wx/unix/private.h"
|
||||||
|
#include "wx/log.h"
|
||||||
|
#include "wx/module.h"
|
||||||
|
|
||||||
|
#include <sys/epoll.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#define wxEpollDispatcher_Trace wxT("epolldispatcher")
|
||||||
|
|
||||||
|
static wxEpollDispatcher *gs_epollDispatcher = NULL;
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// implementation
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
// helper: return EPOLLxxx mask corresponding to the given flags (and also log
|
||||||
|
// debugging messages about it)
|
||||||
|
static uint32_t GetEpollMask(int flags, int fd)
|
||||||
|
{
|
||||||
|
uint32_t ep = 0;
|
||||||
|
|
||||||
|
if ( flags & wxFDIO_INPUT )
|
||||||
|
{
|
||||||
|
ep |= EPOLLIN;
|
||||||
|
wxLogTrace(wxEpollDispatcher_Trace,
|
||||||
|
_T("Registered fd %d for input events"), fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( flags & wxFDIO_OUTPUT )
|
||||||
|
{
|
||||||
|
ep |= EPOLLOUT;
|
||||||
|
wxLogTrace(wxEpollDispatcher_Trace,
|
||||||
|
_T("Registered fd %d for output events"), fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( flags & wxFDIO_EXCEPTION )
|
||||||
|
{
|
||||||
|
ep |= EPOLLERR | EPOLLHUP;
|
||||||
|
wxLogTrace(wxEpollDispatcher_Trace,
|
||||||
|
_T("Registered fd %d for exceptional events"), fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ep;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxEpollDispatcher
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxEpollDispatcher::wxEpollDispatcher()
|
||||||
|
{
|
||||||
|
m_epollDescriptor = epoll_create(1024);
|
||||||
|
if ( m_epollDescriptor == -1 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to create epoll descriptor"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxEpollDispatcher::RegisterFD(int fd, wxFDIOHandler* handler, int flags)
|
||||||
|
{
|
||||||
|
if ( !wxFDIODispatcher::RegisterFD(fd, handler, flags) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
epoll_event ev;
|
||||||
|
ev.events = GetEpollMask(flags, fd);
|
||||||
|
ev.data.ptr = handler;
|
||||||
|
|
||||||
|
const int ret = epoll_ctl(m_epollDescriptor, EPOLL_CTL_ADD, fd, &ev);
|
||||||
|
if ( ret != 0 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to add descriptor %d to epoll descriptor %d"),
|
||||||
|
fd, m_epollDescriptor);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxEpollDispatcher::ModifyFD(int fd, wxFDIOHandler* handler, int flags)
|
||||||
|
{
|
||||||
|
if ( !wxFDIODispatcher::ModifyFD(fd, handler, flags) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
epoll_event ev;
|
||||||
|
ev.events = GetEpollMask(flags, fd);
|
||||||
|
ev.data.ptr = handler;
|
||||||
|
|
||||||
|
const int ret = epoll_ctl(m_epollDescriptor, EPOLL_CTL_MOD, fd, &ev);
|
||||||
|
if ( ret != 0 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to modify descriptor %d in epoll descriptor %d"),
|
||||||
|
fd, m_epollDescriptor);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxFDIOHandler *wxEpollDispatcher::UnregisterFD(int fd, int flags)
|
||||||
|
{
|
||||||
|
wxFDIOHandler * const handler = wxFDIODispatcher::UnregisterFD(fd, flags);
|
||||||
|
if ( !handler )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
epoll_event ev;
|
||||||
|
ev.events = 0;
|
||||||
|
ev.data.ptr = NULL;
|
||||||
|
|
||||||
|
if ( epoll_ctl(m_epollDescriptor, EPOLL_CTL_DEL, fd, &ev) != 0 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to unregister descriptor %d from epoll descriptor %d"),
|
||||||
|
fd, m_epollDescriptor);
|
||||||
|
}
|
||||||
|
|
||||||
|
return handler;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxEpollDispatcher::RunLoop(int timeout)
|
||||||
|
{
|
||||||
|
epoll_event events[16];
|
||||||
|
|
||||||
|
const int e_num = epoll_wait
|
||||||
|
(
|
||||||
|
m_epollDescriptor,
|
||||||
|
events,
|
||||||
|
WXSIZEOF(events),
|
||||||
|
timeout == TIMEOUT_INFINITE ? -1 : timeout
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( e_num == -1 )
|
||||||
|
{
|
||||||
|
if ( errno != EINTR )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Waiting for IO on epoll descriptor %d failed"),
|
||||||
|
m_epollDescriptor);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( epoll_event *p = events; p < events + e_num; p++ )
|
||||||
|
{
|
||||||
|
wxFDIOHandler * const handler = (wxFDIOHandler *)(p->data.ptr);
|
||||||
|
if ( !handler )
|
||||||
|
{
|
||||||
|
wxFAIL_MSG( _T("NULL handler in epoll_event?") );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( p->events & EPOLLIN )
|
||||||
|
handler->OnReadWaiting();
|
||||||
|
|
||||||
|
if ( p->events & EPOLLOUT )
|
||||||
|
handler->OnWriteWaiting();
|
||||||
|
|
||||||
|
if ( p->events & (EPOLLERR | EPOLLHUP) )
|
||||||
|
handler->OnExceptionWaiting();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxEpollDispatcher *wxEpollDispatcher::Get()
|
||||||
|
{
|
||||||
|
if ( !gs_epollDispatcher )
|
||||||
|
{
|
||||||
|
gs_epollDispatcher = new wxEpollDispatcher;
|
||||||
|
if ( !gs_epollDispatcher->IsOk() )
|
||||||
|
{
|
||||||
|
delete gs_epollDispatcher;
|
||||||
|
gs_epollDispatcher = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return gs_epollDispatcher;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxEpollDispatcherModule
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxEpollDispatcherModule : public wxModule
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxEpollDispatcherModule() { }
|
||||||
|
|
||||||
|
virtual bool OnInit() { return true; }
|
||||||
|
virtual void OnExit() { wxDELETE(gs_epollDispatcher); }
|
||||||
|
|
||||||
|
DECLARE_DYNAMIC_CLASS(wxEpollDispatcherModule)
|
||||||
|
};
|
||||||
|
|
||||||
|
IMPLEMENT_DYNAMIC_CLASS(wxEpollDispatcherModule, wxModule)
|
||||||
|
|
||||||
|
#endif // HAVE_SYS_EPOLL_H
|
192
src/unix/evtloopunix.cpp
Normal file
192
src/unix/evtloopunix.cpp
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: src/unix/evtloopunix.cpp
|
||||||
|
// Purpose: wxEventLoop implementation
|
||||||
|
// Author: Lukasz Michalski (lm@zork.pl)
|
||||||
|
// Created: 2007-05-07
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2006 Zork Lukasz Michalski
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
// declarations
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
// headers
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/app.h"
|
||||||
|
#include "wx/log.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include "wx/thread.h"
|
||||||
|
#include "wx/module.h"
|
||||||
|
#include "wx/generic/private/timer.h"
|
||||||
|
#include "wx/unix/private/epolldispatcher.h"
|
||||||
|
#include "wx/private/selectdispatcher.h"
|
||||||
|
|
||||||
|
#define TRACE_EVENTS _T("events")
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
// wxEventLoop::PipeIOHandler implementation
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// initialization
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool wxConsoleEventLoop::PipeIOHandler::Create()
|
||||||
|
{
|
||||||
|
if ( !m_pipe.Create() )
|
||||||
|
{
|
||||||
|
wxLogError(_("Failed to create wake up pipe used by event loop."));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int fdRead = GetReadFd();
|
||||||
|
|
||||||
|
int flags = fcntl(fdRead, F_GETFL, 0);
|
||||||
|
if ( flags == -1 || fcntl(fdRead, F_SETFL, flags | O_NONBLOCK) == -1 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to switch wake up pipe to non-blocking mode"));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxLogTrace(TRACE_EVENTS, wxT("Wake up pipe (%d, %d) created"),
|
||||||
|
fdRead, m_pipe[wxPipe::Write]);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wakeup handling
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::PipeIOHandler::WakeUp()
|
||||||
|
{
|
||||||
|
if ( write(m_pipe[wxPipe::Write], "s", 1) != 1 )
|
||||||
|
{
|
||||||
|
// don't use wxLog here, we can be in another thread and this could
|
||||||
|
// result in dead locks
|
||||||
|
perror("write(wake up pipe)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::PipeIOHandler::OnReadWaiting()
|
||||||
|
{
|
||||||
|
// got wakeup from child thread: read all data available in pipe just to
|
||||||
|
// make it empty (evevn though we write one byte at a time from WakeUp(),
|
||||||
|
// it could have been called several times)
|
||||||
|
char buf[4];
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
const int size = read(GetReadFd(), buf, WXSIZEOF(buf));
|
||||||
|
|
||||||
|
if ( size == 0 || (size == -1 && errno == EAGAIN) )
|
||||||
|
{
|
||||||
|
// nothing left in the pipe (EAGAIN is expected for an FD with
|
||||||
|
// O_NONBLOCK)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( size == -1 )
|
||||||
|
{
|
||||||
|
wxLogSysError(_("Failed to read from wake-up pipe"));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
wxTheApp->ProcessPendingEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
// wxEventLoop implementation
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// initialization
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxConsoleEventLoop::wxConsoleEventLoop()
|
||||||
|
{
|
||||||
|
if ( !m_wakeupPipe.Create() )
|
||||||
|
{
|
||||||
|
m_dispatcher = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_EPOLL_H
|
||||||
|
m_dispatcher = wxEpollDispatcher::Get();
|
||||||
|
if ( !m_dispatcher )
|
||||||
|
#endif // HAVE_SYS_EPOLL_H
|
||||||
|
{
|
||||||
|
m_dispatcher = wxSelectDispatcher::Get();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxCHECK_RET( m_dispatcher, _T("failed to create IO dispatcher") );
|
||||||
|
|
||||||
|
m_dispatcher->RegisterFD
|
||||||
|
(
|
||||||
|
m_wakeupPipe.GetReadFd(),
|
||||||
|
&m_wakeupPipe,
|
||||||
|
wxFDIO_INPUT
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// events dispatch and loop handling
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool wxConsoleEventLoop::Pending() const
|
||||||
|
{
|
||||||
|
return wxTheApp->HasPendingEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxConsoleEventLoop::Dispatch()
|
||||||
|
{
|
||||||
|
wxTheApp->ProcessPendingEvents();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::WakeUp()
|
||||||
|
{
|
||||||
|
m_wakeupPipe.WakeUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxConsoleEventLoop::OnNextIteration()
|
||||||
|
{
|
||||||
|
// calculate the timeout until the next timer expiration
|
||||||
|
int timeout;
|
||||||
|
|
||||||
|
#if wxUSE_TIMER
|
||||||
|
wxUsecClock_t nextTimer;
|
||||||
|
if ( wxTimerScheduler::Get().GetNext(&nextTimer) )
|
||||||
|
{
|
||||||
|
// timeout is in ms
|
||||||
|
timeout = (nextTimer / 1000).ToLong();
|
||||||
|
}
|
||||||
|
else // no timers, we can block forever
|
||||||
|
#endif // wxUSE_TIMER
|
||||||
|
{
|
||||||
|
timeout = wxFDIODispatcher::TIMEOUT_INFINITE;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_dispatcher->RunLoop(timeout);
|
||||||
|
|
||||||
|
#if wxUSE_TIMER
|
||||||
|
wxTimerScheduler::Get().NotifyExpired();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// call the signal handlers for any signals we caught recently
|
||||||
|
wxTheApp->CheckSignal();
|
||||||
|
}
|
||||||
|
|
@@ -143,12 +143,12 @@ bool wxEventLoopImpl::SendIdleEvent()
|
|||||||
// wxEventLoop running and exiting
|
// wxEventLoop running and exiting
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
wxEventLoop::~wxEventLoop()
|
wxGUIEventLoop::~wxGUIEventLoop()
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxEventLoop::Run()
|
int wxGUIEventLoop::Run()
|
||||||
{
|
{
|
||||||
// event loops are not recursive, you need to create another loop!
|
// event loops are not recursive, you need to create another loop!
|
||||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||||
@@ -191,7 +191,7 @@ int wxEventLoop::Run()
|
|||||||
return exitcode;
|
return exitcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxEventLoop::Exit(int rc)
|
void wxGUIEventLoop::Exit(int rc)
|
||||||
{
|
{
|
||||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||||
|
|
||||||
@@ -203,13 +203,13 @@ void wxEventLoop::Exit(int rc)
|
|||||||
// wxEventLoop message processing dispatching
|
// wxEventLoop message processing dispatching
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
bool wxEventLoop::Pending() const
|
bool wxGUIEventLoop::Pending() const
|
||||||
{
|
{
|
||||||
XFlush( wxGlobalDisplay() );
|
XFlush( wxGlobalDisplay() );
|
||||||
return (XPending( wxGlobalDisplay() ) > 0);
|
return (XPending( wxGlobalDisplay() ) > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxEventLoop::Dispatch()
|
bool wxGUIEventLoop::Dispatch()
|
||||||
{
|
{
|
||||||
XEvent event;
|
XEvent event;
|
||||||
|
|
||||||
@@ -263,7 +263,7 @@ bool wxEventLoop::Dispatch()
|
|||||||
|
|
||||||
#if wxUSE_SOCKETS
|
#if wxUSE_SOCKETS
|
||||||
// handle any pending socket events:
|
// handle any pending socket events:
|
||||||
wxSelectDispatcher::Get().RunLoop(0);
|
wxSelectDispatcher::DispatchPending();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
(void) m_impl->ProcessEvent( &event );
|
(void) m_impl->ProcessEvent( &event );
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/generic/private/timer.h"
|
#include "wx/generic/private/timer.h"
|
||||||
|
#include "wx/evtloop.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -170,6 +171,11 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
|
|||||||
return wxPORT_X11;
|
return wxPORT_X11;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxEventLoop* wxGUIAppTraits::CreateEventLoop()
|
||||||
|
{
|
||||||
|
return new wxEventLoop;
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// display info
|
// display info
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -327,9 +327,11 @@ wx/xti.h
|
|||||||
wx/xtistrm.h
|
wx/xtistrm.h
|
||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/execute.h
|
wx/unix/execute.h
|
||||||
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
wx/unix/mimetype.h
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
wx/unix/private.h
|
||||||
|
@@ -230,9 +230,11 @@ wx/xti.h
|
|||||||
wx/xtistrm.h
|
wx/xtistrm.h
|
||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/execute.h
|
wx/unix/execute.h
|
||||||
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
wx/unix/mimetype.h
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
wx/unix/private.h
|
||||||
|
@@ -255,9 +255,11 @@ wx/xti.h
|
|||||||
wx/xtistrm.h
|
wx/xtistrm.h
|
||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/execute.h
|
wx/unix/execute.h
|
||||||
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
wx/unix/mimetype.h
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
wx/unix/private.h
|
||||||
|
Reference in New Issue
Block a user