From 0cbff1201aa47e2b73ec90a97886f18e88270ea6 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 11 Jul 2001 10:07:06 +0000 Subject: [PATCH] Added wxUSE_DC_CACHEING and associated code to wxMSW Added EnableCache, CacheEnabled to wxDCBase Added mask source args to DoBlit, Blit Added cache testing code to dragimag sample Added wxSystemOptions, regenerated makefiles git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- configure.in | 7 + contrib/samples/plot/PlotVC.dsp | 2 +- distrib/msw/tmake/filelist.txt | 2 + docs/latex/wx/category.tex | 3 +- docs/latex/wx/classes.tex | 1 + docs/latex/wx/dc.tex | 70 +++- docs/latex/wx/sysopt.tex | 89 +++++ include/wx/dc.h | 23 +- include/wx/dynarray.h | 2 +- include/wx/gtk/dcclient.h | 2 +- include/wx/gtk1/dcclient.h | 2 +- include/wx/mac/dc.h | 2 +- include/wx/mac/setup.h | 6 + include/wx/mgl/dc.h | 2 +- include/wx/motif/dcclient.h | 2 +- include/wx/msw/dc.h | 38 +- include/wx/msw/dcprint.h | 2 +- include/wx/msw/settings.h | 9 - include/wx/msw/setup0.h | 6 + include/wx/os2/dc.h | 2 + include/wx/os2/dcprint.h | 2 + include/wx/{msw/settings.h => sysopt.h} | 42 +-- include/wx/univ/setup.h | 4 + samples/dragimag/dragimag.cpp | 23 +- samples/dragimag/dragimag.h | 1 + src/common/dcbase.cpp | 2 + src/common/sysopt.cpp | 133 +++++++ src/gtk/dcclient.cpp | 9 +- src/gtk/files.lst | 21 +- src/gtk1/dcclient.cpp | 9 +- src/gtk1/files.lst | 21 +- src/jpeg/JpegVC.dsp | 8 +- src/mac/carbon/dc.cpp | 9 +- src/mac/dc.cpp | 9 +- src/mgl/dc.cpp | 14 +- src/motif/dcclient.cpp | 9 +- src/motif/files.lst | 17 +- src/msw/dc.cpp | 194 ++++++++++- src/msw/dcprint.cpp | 3 +- src/msw/files.lst | 17 +- src/msw/makebase.vc | 5 +- src/msw/makefile.b32 | 11 +- src/msw/makefile.bcc | 11 +- src/msw/makefile.dos | 20 +- src/msw/makefile.g95 | 5 +- src/msw/makefile.sc | 5 +- src/msw/makefile.vc | 590 ++++++++++++++++---------------- src/msw/makefile.wat | 15 +- src/msw/settings.cpp | 51 +-- src/os2/dcprint.cpp | 2 + src/os2/files.lst | 49 ++- src/png/PngVC.dsp | 4 +- src/tiff/TiffVC.dsp | 8 +- src/univ/files.lst | 8 +- src/wxvc.dsp | 8 +- src/wxvc_dll.dsp | 4 + src/wxvc_universal.dsp | 4 + src/zlib/ZlibVC.dsp | 8 +- 58 files changed, 1124 insertions(+), 503 deletions(-) create mode 100644 docs/latex/wx/sysopt.tex copy include/wx/{msw/settings.h => sysopt.h} (55%) create mode 100644 src/common/sysopt.cpp diff --git a/configure.in b/configure.in index b211a74..9794833 100644 --- a/configure.in +++ b/configure.in @@ -690,6 +690,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_WXTREE=no DEFAULT_wxUSE_METAFILE=no DEFAULT_wxUSE_MIMETYPE=no + DEFAULT_wxUSE_SYSTEM_OPTIONS=yes DEFAULT_wxUSE_COMMONDLGS=no DEFAULT_wxUSE_CHOICEDLG=no @@ -843,6 +844,7 @@ else DEFAULT_wxUSE_WXTREE=yes DEFAULT_wxUSE_METAFILE=yes DEFAULT_wxUSE_MIMETYPE=yes + DEFAULT_wxUSE_SYSTEM_OPTIONS=yes DEFAULT_wxUSE_COMMONDLGS=yes DEFAULT_wxUSE_CHOICEDLG=yes @@ -1048,6 +1050,7 @@ WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass t WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE) +WX_ARG_ENABLE(system_options, [ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) dnl --------------------------------------------------------------------------- dnl "big" options (i.e. those which change a lot of things throughout the library) @@ -4251,6 +4254,10 @@ if test "$wxUSE_MIMETYPE" = "yes"; then AC_DEFINE(wxUSE_MIMETYPE) fi +if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then + AC_DEFINE(wxUSE_SYSTEM_OPTIONS) +fi + if test "$wxUSE_MINIFRAME" = "yes"; then AC_DEFINE(wxUSE_MINIFRAME) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram" diff --git a/contrib/samples/plot/PlotVC.dsp b/contrib/samples/plot/PlotVC.dsp index 6b598fc..7df87a6 100644 --- a/contrib/samples/plot/PlotVC.dsp +++ b/contrib/samples/plot/PlotVC.dsp @@ -169,7 +169,7 @@ SOURCE=.\plot.cpp SOURCE=.\plot.rc # ADD BASE RSC /l 0x809 -# ADD RSC /l 0x809 /i "..\..\include" +# ADD RSC /l 0x809 /i "..\..\..\include" # End Source File # End Target # End Project diff --git a/distrib/msw/tmake/filelist.txt b/distrib/msw/tmake/filelist.txt index 7679fa0..645fede 100644 --- a/distrib/msw/tmake/filelist.txt +++ b/distrib/msw/tmake/filelist.txt @@ -197,6 +197,7 @@ socket.cpp Common Socket,Base stream.cpp Common Base strconv.cpp Common Base string.cpp Common Base +sysopt.cpp Common Base tbarbase.cpp Common textcmn.cpp Common textfile.cpp Common Base @@ -765,6 +766,7 @@ statusbr.h WXH strconv.h WXH Base stream.h WXH Base string.h WXH Base +sysopt.h WXH Base tab.h WXH tabctrl.h WXH taskbar.h WXH diff --git a/docs/latex/wx/category.tex b/docs/latex/wx/category.tex index 7e04c61..afe0914 100644 --- a/docs/latex/wx/category.tex +++ b/docs/latex/wx/category.tex @@ -543,7 +543,8 @@ using any of them in the new programs: \twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class} \twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class} \twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager class} -\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class} +\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class for obtaining various global parameters} +\twocolitem{\helpref{wxSystemOptions}{wxsystemoptions}}{System options class for run-time configuration} \twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table} \twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class} \twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding} diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex index 719ae78..4afa7b7 100644 --- a/docs/latex/wx/classes.tex +++ b/docs/latex/wx/classes.tex @@ -283,6 +283,7 @@ \input propslv.tex \input tokenizr.tex \input sysclevt.tex +\input sysopt.tex \input settings.tex \input tab.tex \input tabctrl.tex diff --git a/docs/latex/wx/dc.tex b/docs/latex/wx/dc.tex index d77950b..d8e91ef 100644 --- a/docs/latex/wx/dc.tex +++ b/docs/latex/wx/dc.tex @@ -61,11 +61,11 @@ released for each drawing operation. \func{bool}{Blit}{\param{wxCoord}{ xdest}, \param{wxCoord}{ ydest}, \param{wxCoord}{ width}, \param{wxCoord}{ height}, \param{wxDC* }{source}, \param{wxCoord}{ xsrc}, \param{wxCoord}{ ysrc}, \param{int}{ logicalFunc = wxCOPY}, - \param{bool }{useMask = FALSE}} + \param{bool }{useMask = FALSE}, \param{wxCoord}{ xsrcMask = -1}, \param{wxCoord}{ ysrcMask = -1}} Copy from a source DC to this DC, specifying the destination -coordinates, size of area to copy, source DC, source coordinates, and -logical function. +coordinates, size of area to copy, source DC, source coordinates, +logical function, whether to use a bitmap mask, and mask source position. \wxheading{Parameters} @@ -86,7 +86,7 @@ logical function. \docparam{logicalFunc}{Logical function to use: see \helpref{wxDC::SetLogicalFunction}{wxdcsetlogicalfunction}.} \docparam{useMask}{If TRUE, Blit does a transparent blit using the mask that is associated with the bitmap -selected into the source device context. The Windows implementation does the following: +selected into the source device context. The Windows implementation does the following if MaskBlt cannot be used: \begin{enumerate} \item Creates a temporary bitmap and copies the destination area into it. @@ -103,8 +103,21 @@ and the background colour set to WHITE. This sequence of operations ensures that the source's transparent area need not be black, and logical functions are supported. + +{\bf Note:} on Windows, blitting with masks can be speeded up considerably by using +\helpref{DC cacheing}{wxdcenablecache}. You can also influence whether MaskBlt +or the explicit mask blitting code above is used, by using \helpref{wxSystemOptions}{wxsystemoptions} and +setting the {\bf no-maskblt} option to 1. + } +\docparam{xsrcMask}{Source x position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc +will be assumed for the mask source position. Currently only implemented on Windows.} + +\docparam{ysrcMask}{Source y position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc +will be assumed for the mask source position. Currently only implemented on Windows.} + + \wxheading{Remarks} There is partial support for Blit in wxPostScriptDC, under X. @@ -115,6 +128,22 @@ See \helpref{wxMemoryDC}{wxmemorydc} for typical usage. \helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxBitmap}{wxbitmap}, \helpref{wxMask}{wxmask} +\membersection{wxDC::CacheEnabled}\label{wxdccacheenabled} + +\func{static bool}{CacheEnabled}{\void} + +On supported platforms (currently only Windows), returns TRUE +if the DC cache is enabled. The DC cache +can speed up the \helpref{Blit}{wxdcblit} operation when +drawing a large number of masked bitmaps. + +If using the cache functions in your code, please test for the +wxUSE\_DC\_CACHEING preprocessor symbol for portability. + +\wxheading{See also} + +\helpref{wxDC::EnableCache}{wxdcenablecache}, \helpref{wxDC::ClearCache} + \membersection{wxDC::CalcBoundingBox}\label{wxdccalcboundingbox} \func{void}{CalcBoundingBox}{\param{wxCoord }{x}, \param{wxCoord }{y}} @@ -133,6 +162,24 @@ Adds the specified point to the bounding box which can be retrieved with Clears the device context using the current background brush. +\membersection{wxDC::ClearCache}\label{wxdcclearcache} + +\func{static void}{ClearCache}{\void} + +On supported platforms (currently only Windows), clears +the contents of the DC cache (one bitmap and two Windows device contexts). The DC cache +can speed up the \helpref{Blit}{wxdcblit} operation when +drawing a large number of masked bitmaps. You should +call ClearCache at the end of length DC operations if you wish to only use +the cache transiently; you should also call it as your application exits. + +If using the cache functions in your code, please test for the +wxUSE\_DC\_CACHEING preprocessor symbol for portability. + +\wxheading{See also} + +\helpref{wxDC::EnableCache}{wxdcenablecache}, \helpref{wxDC::CacheEnabled} + \membersection{wxDC::CrossHair}\label{wxdccrosshair} \func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}} @@ -370,6 +417,21 @@ text more precisely. but it is ignored by wxMSW. Thus, you should avoid using logical functions with this function in portable programs. +\membersection{wxDC::EnableCache}\label{wxdcenablecache} + +\func{static void}{EnableCache}{\param{bool}{ enableCache}} + +On supported platforms (currently only Windows), enables the DC cache +which can speed up the \helpref{Blit}{wxdcblit} operation when +drawing a large number of masked bitmaps. + +If using the cache functions in your code, please test for the +wxUSE\_DC\_CACHEING preprocessor symbol for portability. + +\wxheading{See also} + +\helpref{wxDC::CacheEnabled}{wxdccacheenabled}, \helpref{wxDC::ClearCache} + \membersection{wxDC::EndDoc}\label{wxdcenddoc} \func{void}{EndDoc}{\void} diff --git a/docs/latex/wx/sysopt.tex b/docs/latex/wx/sysopt.tex new file mode 100644 index 0000000..b04265f --- /dev/null +++ b/docs/latex/wx/sysopt.tex @@ -0,0 +1,89 @@ +\section{\class{wxSystemOptions}}\label{wxsystemoptions} + +wxSystemOptions stores option/value pairs that wxWindows itself or +applications can use to alter behaviour at run-time. It can be +used to optimize behaviour that doesn't deserve a distinct API, +but is still important to be able to configure. + +These options are currently recognised by wxWindows: + +\twocolwidtha{7cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{{\bf Option}}{{\bf Value}} +\twocolitem{no-maskblt}{1 to never use WIN32's MaskBlt function, 0 to allow it to be used where possible. Default: 0. + +In some circumstances the MaskBlt function can be slower than using the fallback code, especially if using +DC cacheing. By default, MaskBlt will be used where it is implemented by the operating system and driver. +} +\end{twocollist} + +The compile-time option to include or exclude this functionality +is wxUSE\_SYSTEM\_OPTIONS. + +\wxheading{Derived from} + +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxSystemOptions::wxSystemOptions} + +\func{}{wxSystemOptions}{\void} + +Default constructor. You don't need to create an instance of wxSystemOptions +since all of its functions are static. + +\membersection{wxSystemOptions::GetOption}\label{wxsystemoptionsgetoption} + +\constfunc{wxString}{GetOption}{\param{const wxString\&}{ name}} + +Gets an option. The function is case-insensitive to {\it name}. + +\wxheading{See also} + +\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp +\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint},\rtfsp +\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption} + +\membersection{wxSystemOptions::GetOptionInt}\label{wxsystemoptionsgetoptionint} + +\constfunc{int}{GetOptionInt}{\param{const wxString\&}{ name}} + +Gets an option as an integer. The function is case-insensitive to {\it name}. + +\wxheading{See also} + +\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp +\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp +\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption} + +\membersection{wxSystemOptions::HasOption}\label{wxsystemoptionshasoption} + +\constfunc{bool}{HasOption}{\param{const wxString\&}{ name}} + +Returns TRUE if the given option is present. The function is case-insensitive to {\it name}. + +\wxheading{See also} + +\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp +\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp +\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint} + +\membersection{wxSystemOptions::SetOption}\label{wxsystemoptionssetoption} + +\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}} + +\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{int}{ value}} + +Sets an option. The function is case-insensitive to {\it name}. + +\wxheading{See also} + +\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp +\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint},\rtfsp +\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption} + diff --git a/include/wx/dc.h b/include/wx/dc.h index b856ef7..8dc21ff 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -274,17 +274,17 @@ public: bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE) + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1) { return DoBlit(xdest, ydest, width, height, - source, xsrc, ysrc, rop, useMask); + source, xsrc, ysrc, rop, useMask, xsrcMask, ysrcMask); } bool Blit(const wxPoint& destPt, const wxSize& sz, wxDC *source, const wxPoint& srcPt, - int rop = wxCOPY, bool useMask = FALSE) + int rop = wxCOPY, bool useMask = FALSE, const wxPoint& srcPtMask = wxPoint(-1, -1)) { return DoBlit(destPt.x, destPt.y, sz.x, sz.y, - source, srcPt.x, srcPt.y, rop, useMask); + source, srcPt.x, srcPt.y, rop, useMask, srcPtMask.x, srcPtMask.y); } #if wxUSE_SPLINES @@ -486,6 +486,16 @@ public: virtual void SetOptimization(bool WXUNUSED(opt)) { } virtual bool GetOptimization() { return FALSE; } + // Some platforms have a DC cache, which should be cleared + // at appropriate points such as after a series of DC operations. + // Put ClearCache in the wxDC implementation class, since it has to be + // static. + // static void ClearCache() ; +#if wxUSE_DC_CACHEING + static void EnableCache(bool cacheing) { sm_cacheing = cacheing; } + static bool CacheEnabled() { return sm_cacheing ; } +#endif + // bounding box // ------------ @@ -624,7 +634,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE) = 0; + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1) = 0; virtual void DoGetSize(int *width, int *height) const = 0; virtual void DoGetSizeMM(int* width, int* height) const = 0; @@ -688,6 +698,9 @@ protected: bool m_clipping:1; bool m_isInteractive:1; bool m_isBBoxValid:1; +#if wxUSE_DC_CACHEING + static bool sm_cacheing; +#endif // coordinate system variables diff --git a/include/wx/dynarray.h b/include/wx/dynarray.h index f778281..7e064df 100644 --- a/include/wx/dynarray.h +++ b/include/wx/dynarray.h @@ -458,7 +458,7 @@ WX_DEFINE_EXPORTED_ARRAY(void *, wxArrayPtrVoid); //@} // ----------------------------------------------------------------------------- -// convinience macros +// convenience macros // ----------------------------------------------------------------------------- // append all element of one array to another one diff --git a/include/wx/gtk/dcclient.h b/include/wx/gtk/dcclient.h index e23af8e..7733153 100644 --- a/include/wx/gtk/dcclient.h +++ b/include/wx/gtk/dcclient.h @@ -69,7 +69,7 @@ protected: virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int logical_func = wxCOPY, bool useMask = FALSE ); + int logical_func = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1 ); virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y ); virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, diff --git a/include/wx/gtk1/dcclient.h b/include/wx/gtk1/dcclient.h index e23af8e..7733153 100644 --- a/include/wx/gtk1/dcclient.h +++ b/include/wx/gtk1/dcclient.h @@ -69,7 +69,7 @@ protected: virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int logical_func = wxCOPY, bool useMask = FALSE ); + int logical_func = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1 ); virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y ); virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, diff --git a/include/wx/mac/dc.h b/include/wx/mac/dc.h index b98087e..fe4ebd4 100644 --- a/include/wx/mac/dc.h +++ b/include/wx/mac/dc.h @@ -213,7 +213,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE); + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); // this is gnarly - we can't even call this function DoSetClippingRegion() // because of virtual function hiding diff --git a/include/wx/mac/setup.h b/include/wx/mac/setup.h index 3cc43b9..a9ca4ee 100644 --- a/include/wx/mac/setup.h +++ b/include/wx/mac/setup.h @@ -365,6 +365,9 @@ // wxMimeTypesManager class #define wxUSE_MIMETYPE 1 +// wxSystemOptions class +#define wxUSE_SYSTEM_OPTIONS 1 + // ---------------------------------------------------------------------------- // Individual GUI controls // ---------------------------------------------------------------------------- @@ -542,6 +545,9 @@ // wxValidator class and related methods #define wxUSE_VALIDATORS 1 +// wxDC cacheing implementation +#define wxUSE_DC_CACHEING 0 + // ---------------------------------------------------------------------------- // common dialogs // ---------------------------------------------------------------------------- diff --git a/include/wx/mgl/dc.h b/include/wx/mgl/dc.h index 578d466..5d4b1c1 100644 --- a/include/wx/mgl/dc.h +++ b/include/wx/mgl/dc.h @@ -198,7 +198,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE); + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); // this is gnarly - we can't even call this function DoSetClippingRegion() // because of virtual function hiding diff --git a/include/wx/motif/dcclient.h b/include/wx/motif/dcclient.h index 40fdbbf..4ead5fd 100644 --- a/include/wx/motif/dcclient.h +++ b/include/wx/motif/dcclient.h @@ -117,7 +117,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE); + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); virtual void DoSetClippingRegionAsRegion(const wxRegion& region); virtual void DoSetClippingRegion(wxCoord x, wxCoord y, diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h index 9acfd0c..50e310c 100644 --- a/include/wx/msw/dc.h +++ b/include/wx/msw/dc.h @@ -71,6 +71,28 @@ #define wx_round(a) (int)((a)+.5) +#if wxUSE_DC_CACHEING +/* + * Cached blitting, maintaining a cache + * of bitmaps required for transparent blitting + * instead of constant creation/deletion + */ + +class wxDCCacheEntry: public wxObject +{ +public: + wxDCCacheEntry(WXHBITMAP hBitmap, int w, int h, int depth); + wxDCCacheEntry(WXHDC hDC, int depth); + ~wxDCCacheEntry(); + + WXHBITMAP m_bitmap; + WXHDC m_dc; + int m_width; + int m_height; + int m_depth; +}; +#endif + class WXDLLEXPORT wxDC : public wxDCBase { public: @@ -141,6 +163,15 @@ public: // update the internal clip box variables void UpdateClipBox(); +#if wxUSE_DC_CACHEING + static wxDCCacheEntry* FindBitmapInCache(WXHDC hDC, int w, int h); + static wxDCCacheEntry* FindDCInCache(wxDCCacheEntry* notThis, WXHDC hDC); + + static void AddToBitmapCache(wxDCCacheEntry* entry); + static void AddToDCCache(wxDCCacheEntry* entry); + static void ClearCache(); +#endif + protected: virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, int style = wxFLOOD_SURFACE); @@ -176,7 +207,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE); + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); // this is gnarly - we can't even call this function DoSetClippingRegion() // because of virtual function hiding @@ -226,6 +257,11 @@ protected: WXHFONT m_oldFont; WXHPALETTE m_oldPalette; +#if wxUSE_DC_CACHEING + static wxList sm_bitmapCache; + static wxList sm_dcCache; +#endif + DECLARE_DYNAMIC_CLASS(wxDC) }; diff --git a/include/wx/msw/dcprint.h b/include/wx/msw/dcprint.h index d9531b3..245a6a4 100644 --- a/include/wx/msw/dcprint.h +++ b/include/wx/msw/dcprint.h @@ -44,7 +44,7 @@ protected: virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop = wxCOPY, bool useMask = FALSE); + int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1); // init the dc void Init(); diff --git a/include/wx/msw/settings.h b/include/wx/msw/settings.h index a940901..6402bc2 100644 --- a/include/wx/msw/settings.h +++ b/include/wx/msw/settings.h @@ -33,15 +33,6 @@ public: // Get a system metric, e.g. scrollbar size static int GetSystemMetric(int index); - // User-customizable hints to wxWindows or associated libraries - // These could also be used to influence GetSystem... calls, indeed - // to implement SetSystemColour/Font/Metric - - static void SetOption(const wxString& name, const wxString& value); - static void SetOption(const wxString& name, int value); - static wxString GetOption(const wxString& name) ; - static int GetOptionInt(const wxString& name) ; - static bool HasOption(const wxString& name) ; }; #endif diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index 3515b96..d398e60 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -383,6 +383,9 @@ // wxMimeTypesManager class #define wxUSE_MIMETYPE 1 +// wxSystemOptions class +#define wxUSE_SYSTEM_OPTIONS 1 + // ---------------------------------------------------------------------------- // Individual GUI controls // ---------------------------------------------------------------------------- @@ -560,6 +563,9 @@ // wxValidator class and related methods #define wxUSE_VALIDATORS 1 +// wxDC cacheing implementation +#define wxUSE_DC_CACHEING 1 + // ---------------------------------------------------------------------------- // common dialogs // ---------------------------------------------------------------------------- diff --git a/include/wx/os2/dc.h b/include/wx/os2/dc.h index 85d37c6..26c2059 100644 --- a/include/wx/os2/dc.h +++ b/include/wx/os2/dc.h @@ -250,6 +250,8 @@ protected: ,wxCoord vYsrc ,int nRop = wxCOPY ,bool bUseMask = FALSE + ,wxCoord xsrcMask = -1 + ,wxCoord ysrcMask = -1 ); virtual void DoSetClippingRegionAsRegion(const wxRegion& rRegion); diff --git a/include/wx/os2/dcprint.h b/include/wx/os2/dcprint.h index d924f05..fef20ef 100644 --- a/include/wx/os2/dcprint.h +++ b/include/wx/os2/dcprint.h @@ -52,6 +52,8 @@ protected: ,wxCoord vYsrc ,int nRop = wxCOPY ,bool bUseMask = FALSE + ,wxCoord xsrcMask = -1 + ,wxCoord ysrcMask = -1 ); // init the dc diff --git a/include/wx/msw/settings.h b/include/wx/sysopt.h similarity index 55% copy from include/wx/msw/settings.h copy to include/wx/sysopt.h index a940901..efc394e 100644 --- a/include/wx/msw/settings.h +++ b/include/wx/sysopt.h @@ -1,37 +1,29 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wx/msw/settings.h -// Purpose: wxSystemSettings class +// Name: sysopt.h +// Purpose: wxSystemOptions // Author: Julian Smart // Modified by: -// Created: 01/02/97 +// Created: 2001-07-10 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_SETTINGS_H_ -#define _WX_SETTINGS_H_ +#ifndef _WX_SYSOPT_H_ +#define _WX_SYSOPT_H_ -#ifdef __GNUG__ -#pragma interface "settings.h" -#endif +#include "wx/object.h" + +#if wxUSE_SYSTEM_OPTIONS -#include "wx/colour.h" -#include "wx/font.h" +// ---------------------------------------------------------------------------- +// Enables an application to influence the wxWindows implementation +// ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSystemSettings : public wxObject +class WXDLLEXPORT wxSystemOptions : public wxObject { public: - wxSystemSettings() { } - - // Get a system colour - static wxColour GetSystemColour(int index); - - // Get a system font - static wxFont GetSystemFont(int index); - - // Get a system metric, e.g. scrollbar size - static int GetSystemMetric(int index); + wxSystemOptions() { } // User-customizable hints to wxWindows or associated libraries // These could also be used to influence GetSystem... calls, indeed @@ -45,4 +37,8 @@ public: }; #endif - // _WX_SETTINGS_H_ + + +#endif + // _WX_SYSOPT_H_ + diff --git a/include/wx/univ/setup.h b/include/wx/univ/setup.h index 462c013..85a6470 100644 --- a/include/wx/univ/setup.h +++ b/include/wx/univ/setup.h @@ -71,6 +71,7 @@ #define wxUSE_FONTMAP 0 #define wxUSE_MIMETYPE 0 #define wxUSE_IMAGE 1 +#define wxUSE_SYSTEM_OPTIONS 1 #define wxUSE_CONTROLS 1 #define wxUSE_POPUPWIN 1 @@ -107,6 +108,7 @@ #define wxUSE_GRID 0 #define wxUSE_NEW_GRID 0 #define wxUSE_VALIDATORS 0 +#define wxUSE_DC_CACHEING 0 #define wxUSE_ACCEL 1 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0 #define wxUSE_COMMON_DIALOGS 0 @@ -221,6 +223,7 @@ #define wxUSE_FONTMAP 0 #define wxUSE_MIMETYPE 0 #define wxUSE_IMAGE 1 +#define wxUSE_SYSTEM_OPTIONS 1 #define wxUSE_CONTROLS 1 #define wxUSE_POPUPWIN 1 @@ -257,6 +260,7 @@ #define wxUSE_GRID 0 #define wxUSE_NEW_GRID 0 #define wxUSE_VALIDATORS 0 +#define wxUSE_DC_CACHEING 1 #define wxUSE_ACCEL 1 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0 #define wxUSE_COMMON_DIALOGS 0 diff --git a/samples/dragimag/dragimag.cpp b/samples/dragimag/dragimag.cpp index 7be138f..43a1156 100644 --- a/samples/dragimag/dragimag.cpp +++ b/samples/dragimag/dragimag.cpp @@ -83,7 +83,6 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) PrepareDC( dc ); DrawShapes(dc); - } void MyCanvas::OnEraseBackground(wxEraseEvent& event) @@ -102,6 +101,9 @@ void MyCanvas::OnEraseBackground(wxEraseEvent& event) wxClientDC dc(this); wxGetApp().TileBitmap(rect, dc, wxGetApp().GetBackgroundBitmap()); } +#if wxUSE_DC_CACHEING + wxDC::ClearCache(); +#endif } else event.Skip(); // The official way of doing it @@ -279,6 +281,9 @@ void MyCanvas::DrawShapes(wxDC& dc) shape->Draw(dc); node = node->Next(); } +#if wxUSE_DC_CACHEING + wxDC::ClearCache(); +#endif } void MyCanvas::EraseShape(DragShape* shape, wxDC& dc) @@ -320,7 +325,6 @@ DragShape* MyCanvas::FindShape(const wxPoint& pt) const } // MyFrame - IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame ) BEGIN_EVENT_TABLE(MyFrame,wxFrame) @@ -381,13 +385,18 @@ bool MyApp::OnInit() wxImage::AddHandler( new wxPNGHandler ); #endif + // The DC cache is an efficiency measure to be used + // when a lot of masked blitting is done +#if wxUSE_DC_CACHEING + wxDC::EnableCache(TRUE); +#endif + wxImage image; if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG)) { m_background = image.ConvertToBitmap(); } - MyFrame *frame = new MyFrame(); wxString rootName("shape0"); @@ -434,6 +443,14 @@ bool MyApp::OnInit() return TRUE; } +int MyApp::OnExit() +{ +#if wxUSE_DC_CACHEING + wxDC::ClearCache(); +#endif + return 0; +} + bool MyApp::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap) { int w = bitmap.GetWidth(); diff --git a/samples/dragimag/dragimag.h b/samples/dragimag/dragimag.h index bba4361..6195834 100644 --- a/samples/dragimag/dragimag.h +++ b/samples/dragimag/dragimag.h @@ -46,6 +46,7 @@ class MyApp: public wxApp public: MyApp(); virtual bool OnInit(); + virtual int OnExit(); //// Operations diff --git a/src/common/dcbase.cpp b/src/common/dcbase.cpp index a0214a5..ae54f14 100644 --- a/src/common/dcbase.cpp +++ b/src/common/dcbase.cpp @@ -32,6 +32,8 @@ #include +bool wxDCBase::sm_cacheing = FALSE; + // ============================================================================ // implementation // ============================================================================ diff --git a/src/common/sysopt.cpp b/src/common/sysopt.cpp new file mode 100644 index 0000000..c8d4539 --- /dev/null +++ b/src/common/sysopt.cpp @@ -0,0 +1,133 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: common/sysopt.cpp +// Purpose: wxSystemOptions +// Author: Julian Smart +// Modified by: +// Created: 2001-07-10 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// --------------------------------------------------------------------------- +// headers +// --------------------------------------------------------------------------- + +#ifdef __GNUG__ + #pragma implementation "sysopt.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#if defined(__BORLANDC__) + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/list.h" +#endif + +#if wxUSE_SYSTEM_OPTIONS + +#include "wx/string.h" +#include "wx/sysopt.h" +#include "wx/module.h" + +// ---------------------------------------------------------------------------- +// private classes +// ---------------------------------------------------------------------------- + +// the module which is used to clean up wxSystemOptions data (this is a +// singleton class so it can't be done in the dtor) +class wxSystemOptionsModule : public wxModule +{ + friend class wxSystemOptions; +public: + virtual bool OnInit(); + virtual void OnExit(); + +private: + DECLARE_DYNAMIC_CLASS(wxSystemOptionsModule) + + static wxArrayString sm_optionNames; + static wxArrayString sm_optionValues; +}; + +// =========================================================================== +// implementation +// =========================================================================== + +// ---------------------------------------------------------------------------- +// wxSystemOptionsModule +// ---------------------------------------------------------------------------- + +IMPLEMENT_DYNAMIC_CLASS(wxSystemOptionsModule, wxModule) + +wxArrayString wxSystemOptionsModule::sm_optionNames; +wxArrayString wxSystemOptionsModule::sm_optionValues; + +bool wxSystemOptionsModule::OnInit() +{ + return TRUE; +} + +void wxSystemOptionsModule::OnExit() +{ + sm_optionNames.Clear(); + sm_optionValues.Clear(); +} + +// ---------------------------------------------------------------------------- +// wxSystemOptions +// ---------------------------------------------------------------------------- + +// Option functions (arbitrary name/value mapping) +void wxSystemOptions::SetOption(const wxString& name, const wxString& value) +{ + int idx = wxSystemOptionsModule::sm_optionNames.Index(name, FALSE); + if (idx == wxNOT_FOUND) + { + wxSystemOptionsModule::sm_optionNames.Add(name); + wxSystemOptionsModule::sm_optionValues.Add(value); + } + else + { + wxSystemOptionsModule::sm_optionNames[idx] = name; + wxSystemOptionsModule::sm_optionValues[idx] = value; + } +} + +void wxSystemOptions::SetOption(const wxString& name, int value) +{ + wxString valStr; + valStr.Printf(wxT("%d"), value); + SetOption(name, valStr); +} + +wxString wxSystemOptions::GetOption(const wxString& name) +{ + int idx = wxSystemOptionsModule::sm_optionNames.Index(name, FALSE); + if (idx == wxNOT_FOUND) + return wxEmptyString; + else + return wxSystemOptionsModule::sm_optionValues[idx]; +} + +int wxSystemOptions::GetOptionInt(const wxString& name) +{ + return wxAtoi(GetOption(name)); +} + +bool wxSystemOptions::HasOption(const wxString& name) +{ + return (wxSystemOptionsModule::sm_optionNames.Index(name, FALSE) != wxNOT_FOUND); +} + +#endif + // wxUSE_SYSTEM_OPTIONS + diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp index 8a507fb..f318b34 100644 --- a/src/gtk/dcclient.cpp +++ b/src/gtk/dcclient.cpp @@ -1090,7 +1090,8 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func, - bool useMask ) + bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { /* this is the nth try to get this utterly useless function to work. it now completely ignores the scaling or translation @@ -1115,6 +1116,12 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, bool use_bitmap_method = FALSE; bool is_mono = FALSE; + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + if (srcDC->m_isMemDC) { if (!memDC->m_selected.Ok()) return FALSE; diff --git a/src/gtk/files.lst b/src/gtk/files.lst index 537b5ba..1238199 100644 --- a/src/gtk/files.lst +++ b/src/gtk/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 20:23, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T! ALL_SOURCES = \ generic/accel.cpp \ @@ -138,6 +138,7 @@ ALL_SOURCES = \ common/strconv.cpp \ common/stream.cpp \ common/string.cpp \ + common/sysopt.cpp \ common/tbarbase.cpp \ common/textcmn.cpp \ common/textfile.cpp \ @@ -180,6 +181,7 @@ ALL_SOURCES = \ gtk/dcscreen.cpp \ gtk/dialog.cpp \ gtk/dnd.cpp \ + gtk/evtloop.cpp \ gtk/font.cpp \ gtk/fontdlg.cpp \ gtk/frame.cpp \ @@ -341,7 +343,6 @@ ALL_HEADERS = \ helpchm.h \ helphtml.h \ helpwin.h \ - helpxlp.h \ icon.h \ imagbmp.h \ image.h \ @@ -388,6 +389,7 @@ ALL_HEADERS = \ panel.h \ paper.h \ pen.h \ + popupwin.h \ print.h \ printdlg.h \ prntbase.h \ @@ -417,6 +419,7 @@ ALL_HEADERS = \ spinctrl.h \ splash.h \ splitter.h \ + stack.h \ statbmp.h \ statbox.h \ statline.h \ @@ -425,6 +428,7 @@ ALL_HEADERS = \ strconv.h \ stream.h \ string.h \ + sysopt.h \ tab.h \ tabctrl.h \ taskbar.h \ @@ -452,6 +456,7 @@ ALL_HEADERS = \ validate.h \ valtext.h \ variant.h \ + vector.h \ version.h \ wave.h \ wfstream.h \ @@ -507,6 +512,7 @@ ALL_HEADERS = \ gtk/minifram.h \ gtk/notebook.h \ gtk/pen.h \ + gtk/popupwin.h \ gtk/radiobox.h \ gtk/radiobut.h \ gtk/region.h \ @@ -546,7 +552,6 @@ ALL_HEADERS = \ generic/helpext.h \ generic/helphtml.h \ generic/helpwxht.h \ - generic/helpxlp.h \ generic/imaglist.h \ generic/laywin.h \ generic/listctrl.h \ @@ -681,6 +686,7 @@ COMMONOBJS = \ strconv.o \ stream.o \ string.o \ + sysopt.o \ tbarbase.o \ textcmn.o \ textfile.o \ @@ -796,6 +802,7 @@ COMMONDEPS = \ strconv.d \ stream.d \ string.d \ + sysopt.d \ tbarbase.d \ textcmn.d \ textfile.d \ @@ -936,6 +943,7 @@ GUIOBJS = \ dcscreen.o \ dialog.o \ dnd.o \ + evtloop.o \ font.o \ fontdlg.o \ frame.o \ @@ -997,6 +1005,7 @@ GUIDEPS = \ dcscreen.d \ dialog.d \ dnd.d \ + evtloop.d \ font.d \ fontdlg.d \ frame.d \ @@ -1043,6 +1052,7 @@ GUI_LOWLEVEL_OBJS = \ choice.o \ clipbrd.o \ colour.o \ + combobox.o \ cursor.o \ data.o \ dataobj.o \ @@ -1052,6 +1062,7 @@ GUI_LOWLEVEL_OBJS = \ dcscreen.o \ dialog.o \ dnd.o \ + evtloop.o \ font.o \ frame.o \ gdiobj.o \ @@ -1059,7 +1070,6 @@ GUI_LOWLEVEL_OBJS = \ icon.o \ main.o \ pen.o \ - popupwin.o \ region.o \ settings.o \ timer.o \ @@ -1075,6 +1085,7 @@ GUI_LOWLEVEL_DEPS = \ choice.d \ clipbrd.d \ colour.d \ + combobox.d \ cursor.d \ data.d \ dataobj.d \ @@ -1084,6 +1095,7 @@ GUI_LOWLEVEL_DEPS = \ dcscreen.d \ dialog.d \ dnd.d \ + evtloop.d \ font.d \ frame.d \ gdiobj.d \ @@ -1091,7 +1103,6 @@ GUI_LOWLEVEL_DEPS = \ icon.d \ main.d \ pen.d \ - popupwin.d \ region.d \ settings.d \ timer.d \ diff --git a/src/gtk1/dcclient.cpp b/src/gtk1/dcclient.cpp index 8a507fb..f318b34 100644 --- a/src/gtk1/dcclient.cpp +++ b/src/gtk1/dcclient.cpp @@ -1090,7 +1090,8 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func, - bool useMask ) + bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { /* this is the nth try to get this utterly useless function to work. it now completely ignores the scaling or translation @@ -1115,6 +1116,12 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, bool use_bitmap_method = FALSE; bool is_mono = FALSE; + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + if (srcDC->m_isMemDC) { if (!memDC->m_selected.Ok()) return FALSE; diff --git a/src/gtk1/files.lst b/src/gtk1/files.lst index 537b5ba..1238199 100644 --- a/src/gtk1/files.lst +++ b/src/gtk1/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 20:23, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T! ALL_SOURCES = \ generic/accel.cpp \ @@ -138,6 +138,7 @@ ALL_SOURCES = \ common/strconv.cpp \ common/stream.cpp \ common/string.cpp \ + common/sysopt.cpp \ common/tbarbase.cpp \ common/textcmn.cpp \ common/textfile.cpp \ @@ -180,6 +181,7 @@ ALL_SOURCES = \ gtk/dcscreen.cpp \ gtk/dialog.cpp \ gtk/dnd.cpp \ + gtk/evtloop.cpp \ gtk/font.cpp \ gtk/fontdlg.cpp \ gtk/frame.cpp \ @@ -341,7 +343,6 @@ ALL_HEADERS = \ helpchm.h \ helphtml.h \ helpwin.h \ - helpxlp.h \ icon.h \ imagbmp.h \ image.h \ @@ -388,6 +389,7 @@ ALL_HEADERS = \ panel.h \ paper.h \ pen.h \ + popupwin.h \ print.h \ printdlg.h \ prntbase.h \ @@ -417,6 +419,7 @@ ALL_HEADERS = \ spinctrl.h \ splash.h \ splitter.h \ + stack.h \ statbmp.h \ statbox.h \ statline.h \ @@ -425,6 +428,7 @@ ALL_HEADERS = \ strconv.h \ stream.h \ string.h \ + sysopt.h \ tab.h \ tabctrl.h \ taskbar.h \ @@ -452,6 +456,7 @@ ALL_HEADERS = \ validate.h \ valtext.h \ variant.h \ + vector.h \ version.h \ wave.h \ wfstream.h \ @@ -507,6 +512,7 @@ ALL_HEADERS = \ gtk/minifram.h \ gtk/notebook.h \ gtk/pen.h \ + gtk/popupwin.h \ gtk/radiobox.h \ gtk/radiobut.h \ gtk/region.h \ @@ -546,7 +552,6 @@ ALL_HEADERS = \ generic/helpext.h \ generic/helphtml.h \ generic/helpwxht.h \ - generic/helpxlp.h \ generic/imaglist.h \ generic/laywin.h \ generic/listctrl.h \ @@ -681,6 +686,7 @@ COMMONOBJS = \ strconv.o \ stream.o \ string.o \ + sysopt.o \ tbarbase.o \ textcmn.o \ textfile.o \ @@ -796,6 +802,7 @@ COMMONDEPS = \ strconv.d \ stream.d \ string.d \ + sysopt.d \ tbarbase.d \ textcmn.d \ textfile.d \ @@ -936,6 +943,7 @@ GUIOBJS = \ dcscreen.o \ dialog.o \ dnd.o \ + evtloop.o \ font.o \ fontdlg.o \ frame.o \ @@ -997,6 +1005,7 @@ GUIDEPS = \ dcscreen.d \ dialog.d \ dnd.d \ + evtloop.d \ font.d \ fontdlg.d \ frame.d \ @@ -1043,6 +1052,7 @@ GUI_LOWLEVEL_OBJS = \ choice.o \ clipbrd.o \ colour.o \ + combobox.o \ cursor.o \ data.o \ dataobj.o \ @@ -1052,6 +1062,7 @@ GUI_LOWLEVEL_OBJS = \ dcscreen.o \ dialog.o \ dnd.o \ + evtloop.o \ font.o \ frame.o \ gdiobj.o \ @@ -1059,7 +1070,6 @@ GUI_LOWLEVEL_OBJS = \ icon.o \ main.o \ pen.o \ - popupwin.o \ region.o \ settings.o \ timer.o \ @@ -1075,6 +1085,7 @@ GUI_LOWLEVEL_DEPS = \ choice.d \ clipbrd.d \ colour.d \ + combobox.d \ cursor.d \ data.d \ dataobj.d \ @@ -1084,6 +1095,7 @@ GUI_LOWLEVEL_DEPS = \ dcscreen.d \ dialog.d \ dnd.d \ + evtloop.d \ font.d \ frame.d \ gdiobj.d \ @@ -1091,7 +1103,6 @@ GUI_LOWLEVEL_DEPS = \ icon.d \ main.d \ pen.d \ - popupwin.d \ region.d \ settings.d \ timer.d \ diff --git a/src/jpeg/JpegVC.dsp b/src/jpeg/JpegVC.dsp index 9a9fbdc..10e0a45 100644 --- a/src/jpeg/JpegVC.dsp +++ b/src/jpeg/JpegVC.dsp @@ -8,12 +8,12 @@ CFG=jpeg - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "jpeg.mak". +!MESSAGE NMAKE /f "JpegVC.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "jpeg.mak" CFG="jpeg - Win32 Debug" +!MESSAGE NMAKE /f "JpegVC.mak" CFG="jpeg - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -23,8 +23,8 @@ CFG=jpeg - Win32 Debug # Begin Project # PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" +# PROP Scc_ProjName "JpegVC" +# PROP Scc_LocalPath "." CPP=cl.exe RSC=rc.exe diff --git a/src/mac/carbon/dc.cpp b/src/mac/carbon/dc.cpp index acad874..f66cf27 100644 --- a/src/mac/carbon/dc.cpp +++ b/src/mac/carbon/dc.cpp @@ -944,12 +944,19 @@ bool wxDC::CanDrawBitmap(void) const bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask ) + wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { wxCHECK_MSG(Ok(), false, wxT("wxDC::DoBlit Illegal dc")); wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC")); wxMacPortSetter helper(this) ; + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ; PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ; RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ; diff --git a/src/mac/dc.cpp b/src/mac/dc.cpp index acad874..f66cf27 100644 --- a/src/mac/dc.cpp +++ b/src/mac/dc.cpp @@ -944,12 +944,19 @@ bool wxDC::CanDrawBitmap(void) const bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask ) + wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { wxCHECK_MSG(Ok(), false, wxT("wxDC::DoBlit Illegal dc")); wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC")); wxMacPortSetter helper(this) ; + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ; PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ; RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ; diff --git a/src/mgl/dc.cpp b/src/mgl/dc.cpp index ecaa40d..e33904e 100644 --- a/src/mgl/dc.cpp +++ b/src/mgl/dc.cpp @@ -1387,7 +1387,8 @@ wxSize wxDC::GetPPI() const bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop, bool useMask) + int rop, bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask) { wxCHECK_MSG( Ok(), FALSE, wxT("invalid dc") ); wxCHECK_MSG( source, FALSE, wxT("invalid source dc") ); @@ -1396,6 +1397,17 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, xsrc = source->LogicalToDeviceX(xsrc); ysrc = source->LogicalToDeviceY(ysrc); + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + else + { + xsrcMask = source->LogicalToDeviceX(xsrcMask); + ysrcMask = source->LogicalToDeviceY(ysrcMask); + } + CalcBoundingBox(xdest, ydest); CalcBoundingBox(xdest + width, ydest + height); diff --git a/src/motif/dcclient.cpp b/src/motif/dcclient.cpp index 2af3787..f442f9e 100644 --- a/src/motif/dcclient.cpp +++ b/src/motif/dcclient.cpp @@ -871,7 +871,8 @@ void wxWindowDC::DoDrawIcon( const wxIcon &icon, wxCoord x, wxCoord y) // TODO: use scaled Blit e.g. as per John Price's implementation in Contrib/Utilities bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, - wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask ) + wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask ) { wxCHECK_MSG( Ok(), FALSE, "invalid dc" ); @@ -894,6 +895,12 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord he double scaleX, scaleY; GetUserScale(& scaleX, & scaleY); + /* TODO: use the mask origin when drawing transparently */ + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + // Sorry, can't scale masks just yet if (!useMask && (scaleX != 1.0 || scaleY != 1.0) && sourceDC->IsKindOf(CLASSINFO(wxMemoryDC))) { diff --git a/src/motif/files.lst b/src/motif/files.lst index 63dd6e5..48ec674 100644 --- a/src/motif/files.lst +++ b/src/motif/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:33, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MOTIF.T! ALL_SOURCES = \ generic/busyinfo.cpp \ @@ -17,7 +17,6 @@ ALL_SOURCES = \ generic/helpext.cpp \ generic/helphtml.cpp \ generic/helpwxht.cpp \ - generic/helpxlp.cpp \ generic/imaglist.cpp \ generic/laywin.cpp \ generic/listctrl.cpp \ @@ -122,7 +121,6 @@ ALL_SOURCES = \ common/object.cpp \ common/objstrm.cpp \ common/paper.cpp \ - common/popupcmn.cpp \ common/prntbase.cpp \ common/process.cpp \ common/protocol.cpp \ @@ -139,6 +137,7 @@ ALL_SOURCES = \ common/strconv.cpp \ common/stream.cpp \ common/string.cpp \ + common/sysopt.cpp \ common/tbarbase.cpp \ common/textcmn.cpp \ common/textfile.cpp \ @@ -336,7 +335,6 @@ ALL_HEADERS = \ helpchm.h \ helphtml.h \ helpwin.h \ - helpxlp.h \ icon.h \ imagbmp.h \ image.h \ @@ -383,6 +381,7 @@ ALL_HEADERS = \ panel.h \ paper.h \ pen.h \ + popupwin.h \ print.h \ printdlg.h \ prntbase.h \ @@ -412,6 +411,7 @@ ALL_HEADERS = \ spinctrl.h \ splash.h \ splitter.h \ + stack.h \ statbmp.h \ statbox.h \ statline.h \ @@ -420,6 +420,7 @@ ALL_HEADERS = \ strconv.h \ stream.h \ string.h \ + sysopt.h \ tab.h \ tabctrl.h \ taskbar.h \ @@ -447,6 +448,7 @@ ALL_HEADERS = \ validate.h \ valtext.h \ variant.h \ + vector.h \ version.h \ wave.h \ wfstream.h \ @@ -540,7 +542,6 @@ ALL_HEADERS = \ generic/helpext.h \ generic/helphtml.h \ generic/helpwxht.h \ - generic/helpxlp.h \ generic/imaglist.h \ generic/laywin.h \ generic/listctrl.h \ @@ -659,7 +660,6 @@ COMMONOBJS = \ object.o \ objstrm.o \ paper.o \ - popupcmn.o \ prntbase.o \ process.o \ protocol.o \ @@ -676,6 +676,7 @@ COMMONOBJS = \ strconv.o \ stream.o \ string.o \ + sysopt.o \ tbarbase.o \ textcmn.o \ textfile.o \ @@ -775,7 +776,6 @@ COMMONDEPS = \ object.d \ objstrm.d \ paper.d \ - popupcmn.d \ prntbase.d \ process.d \ protocol.d \ @@ -792,6 +792,7 @@ COMMONDEPS = \ strconv.d \ stream.d \ string.d \ + sysopt.d \ tbarbase.d \ textcmn.d \ textfile.d \ @@ -831,7 +832,6 @@ GENERICOBJS = \ helpext.o \ helphtml.o \ helpwxht.o \ - helpxlp.o \ imaglist.o \ laywin.o \ listctrl.o \ @@ -879,7 +879,6 @@ GENERICDEPS = \ helpext.d \ helphtml.d \ helpwxht.d \ - helpxlp.d \ imaglist.d \ laywin.d \ listctrl.d \ diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index 1ed889f..cae9668 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -40,7 +40,7 @@ #include "wx/icon.h" #endif -#include "wx/settings.h" +#include "wx/sysopt.h" #include "wx/dcprint.h" #include @@ -884,7 +884,9 @@ void wxDC::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool useMask // than the wxWindows fall-back implementation. So we need // to be able to switch this on and off at runtime. bool ok = FALSE; - if (wxSystemSettings::GetOptionInt(wxT("no-maskblt")) == 0) +#if wxUSE_SYSTEM_OPTIONS + if (wxSystemOptions::GetOptionInt(wxT("no-maskblt")) == 0) +#endif { HDC hdcMem = ::CreateCompatibleDC(GetHdc()); ::SelectObject(hdcMem, GetHbitmapOf(bmp)); @@ -1609,7 +1611,8 @@ wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int rop, bool useMask) + int rop, bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask) { #ifdef __WXMICROWIN__ if (!GetHDC()) return FALSE; @@ -1629,6 +1632,11 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, } } + if (xsrcMask == -1 && ysrcMask == -1) + { + xsrcMask = xsrc; ysrcMask = ysrc; + } + COLORREF old_textground = ::GetTextColor(GetHdc()); COLORREF old_background = ::GetBkColor(GetHdc()); if (m_textForegroundColour.Ok()) @@ -1677,11 +1685,13 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, // On some systems, MaskBlt succeeds yet is much much slower // than the wxWindows fall-back implementation. So we need // to be able to switch this on and off at runtime. - if (wxSystemSettings::GetOptionInt(wxT("no-maskblt")) == 0) +#if wxUSE_SYSTEM_OPTIONS + if (wxSystemOptions::GetOptionInt(wxT("no-maskblt")) == 0) +#endif { success = ::MaskBlt(GetHdc(), xdest, ydest, width, height, GetHdcOf(*source), xsrc, ysrc, - (HBITMAP)mask->GetMaskBitmap(), xsrc, ysrc, + (HBITMAP)mask->GetMaskBitmap(), xsrcMask, ysrcMask, MAKEROP4(dwRop, DSTCOPY)) != 0; } @@ -1689,13 +1699,35 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, #endif // Win32 { // Blit bitmap with mask + HDC dc_mask ; + HDC dc_buffer ; + HBITMAP buffer_bmap ; - // create a temp buffer bitmap and DCs to access it and the mask - HDC dc_mask = ::CreateCompatibleDC(GetHdcOf(*source)); - HDC dc_buffer = ::CreateCompatibleDC(GetHdc()); - HBITMAP buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), width, height); - ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap()); - ::SelectObject(dc_buffer, buffer_bmap); +#if wxUSE_DC_CACHEING + if (CacheEnabled()) + { + // create a temp buffer bitmap and DCs to access it and the mask + wxDCCacheEntry* dcCacheEntry1 = FindDCInCache(NULL, source->GetHDC()); + dc_mask = (HDC) dcCacheEntry1->m_dc; + + wxDCCacheEntry* dcCacheEntry2 = FindDCInCache(dcCacheEntry1, dest->GetHDC()); + dc_buffer = (HDC) dcCacheEntry2->m_dc; + + wxDCCacheEntry* bitmapCacheEntry = FindBitmapInCache(dest->GetHDC(), + width, height); + + buffer_bmap = (HBITMAP) bitmapCacheEntry->m_bitmap; + } + else +#endif + { + // create a temp buffer bitmap and DCs to access it and the mask + dc_mask = ::CreateCompatibleDC(GetHdcOf(*source)); + dc_buffer = ::CreateCompatibleDC(GetHdc()); + buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), width, height); + ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap()); + ::SelectObject(dc_buffer, buffer_bmap); + } // copy dest to buffer if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height, @@ -1715,7 +1747,7 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, COLORREF prevBkCol = ::SetBkColor(GetHdc(), RGB(255, 255, 255)); COLORREF prevCol = ::SetTextColor(GetHdc(), RGB(0, 0, 0)); if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height, - dc_mask, xsrc, ysrc, SRCAND) ) + dc_mask, xsrcMask, ysrcMask, SRCAND) ) { wxLogLastError(wxT("BitBlt")); } @@ -1724,7 +1756,7 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, ::SetBkColor(GetHdc(), RGB(0, 0, 0)); ::SetTextColor(GetHdc(), RGB(255, 255, 255)); if ( !::BitBlt(GetHdc(), xdest, ydest, (int)width, (int)height, - dc_mask, xsrc, ysrc, SRCAND) ) + dc_mask, xsrcMask, ysrcMask, SRCAND) ) { wxLogLastError(wxT("BitBlt")); } @@ -1742,10 +1774,16 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, // tidy up temporary DCs and bitmap ::SelectObject(dc_mask, 0); - ::DeleteDC(dc_mask); ::SelectObject(dc_buffer, 0); - ::DeleteDC(dc_buffer); - ::DeleteObject(buffer_bmap); + +#if wxUSE_DC_CACHEING + if (!CacheEnabled()) +#endif + { + ::DeleteDC(dc_mask); + ::DeleteDC(dc_buffer); + ::DeleteObject(buffer_bmap); + } } } else // no mask, just BitBlt() it @@ -1826,4 +1864,128 @@ void wxDC::DoGetTextExtent(const wxString& string, float *x, float *y, } #endif +#if wxUSE_DC_CACHEING + +/* + * This implementation is a bit ugly and uses the old-fashioned wxList class, so I will + * improve it in due course, either using arrays, or simply storing pointers to one + * entry for the bitmap, and two for the DCs. -- JACS + */ + +wxList wxDC::sm_bitmapCache; +wxList wxDC::sm_dcCache; + +wxDCCacheEntry::wxDCCacheEntry(WXHBITMAP hBitmap, int w, int h, int depth) +{ + m_bitmap = hBitmap; + m_dc = 0; + m_width = w; + m_height = h; + m_depth = depth; +} + +wxDCCacheEntry::wxDCCacheEntry(WXHDC hDC, int depth) +{ + m_bitmap = 0; + m_dc = hDC; + m_width = 0; + m_height = 0; + m_depth = depth; +} + +wxDCCacheEntry::~wxDCCacheEntry() +{ + if (m_bitmap) + ::DeleteObject((HBITMAP) m_bitmap); + if (m_dc) + ::DeleteDC((HDC) m_dc); +} + +wxDCCacheEntry* wxDC::FindBitmapInCache(WXHDC dc, int w, int h) +{ + int depth = ::GetDeviceCaps((HDC) dc, PLANES) * ::GetDeviceCaps((HDC) dc, BITSPIXEL); + wxNode* node = sm_bitmapCache.First(); + while (node) + { + wxDCCacheEntry* entry = (wxDCCacheEntry*) node->Data(); + + if (entry->m_depth == depth) + { + if (entry->m_width < w || entry->m_height < h) + { + ::DeleteObject((HBITMAP) entry->m_bitmap); + entry->m_bitmap = (WXHBITMAP) ::CreateCompatibleBitmap((HDC) dc, w, h); + if ( !entry->m_bitmap) + { + wxLogLastError(wxT("CreateCompatibleBitmap")); + } + entry->m_width = w; entry->m_height = h; + return entry; + } + return entry; + } + + node = node->Next(); + } + WXHBITMAP hBitmap = (WXHBITMAP) ::CreateCompatibleBitmap((HDC) dc, w, h); + if ( !hBitmap) + { + wxLogLastError(wxT("CreateCompatibleBitmap")); + } + wxDCCacheEntry* entry = new wxDCCacheEntry(hBitmap, w, h, depth); + AddToBitmapCache(entry); + return entry; +} + +wxDCCacheEntry* wxDC::FindDCInCache(wxDCCacheEntry* notThis, WXHDC dc) +{ + int depth = ::GetDeviceCaps((HDC) dc, PLANES) * ::GetDeviceCaps((HDC) dc, BITSPIXEL); + wxNode* node = sm_dcCache.First(); + while (node) + { + wxDCCacheEntry* entry = (wxDCCacheEntry*) node->Data(); + + // Don't return the same one as we already have + if (!notThis || (notThis != entry)) + { + if (entry->m_depth == depth) + { + return entry; + } + } + + node = node->Next(); + } + WXHDC hDC = (WXHDC) ::CreateCompatibleDC((HDC) dc); + if ( !hDC) + { + wxLogLastError(wxT("CreateCompatibleDC")); + } + wxDCCacheEntry* entry = new wxDCCacheEntry(hDC, depth); + AddToDCCache(entry); + return entry; +} + +void wxDC::AddToBitmapCache(wxDCCacheEntry* entry) +{ + sm_bitmapCache.Append(entry); +} + +void wxDC::AddToDCCache(wxDCCacheEntry* entry) +{ + sm_dcCache.Append(entry); +} + +void wxDC::ClearCache() +{ + sm_bitmapCache.DeleteContents(TRUE); + sm_bitmapCache.Clear(); + sm_bitmapCache.DeleteContents(FALSE); + sm_dcCache.DeleteContents(TRUE); + sm_dcCache.Clear(); + sm_dcCache.DeleteContents(FALSE); +} + +#endif + // wxUSE_DC_CACHEING diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index 6394049..76b581f 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -474,7 +474,8 @@ bool wxPrinterDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord xsrc, wxCoord ysrc, - int WXUNUSED(rop), bool useMask) + int WXUNUSED(rop), bool useMask, + wxCoord xsrcMask, wxCoord ysrcMask) { bool success = TRUE; diff --git a/src/msw/files.lst b/src/msw/files.lst index 1f8f6b0..c64a89c 100644 --- a/src/msw/files.lst +++ b/src/msw/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MSW.T! ALL_SOURCES = \ generic/busyinfo.cpp \ @@ -105,7 +105,6 @@ ALL_SOURCES = \ common/object.cpp \ common/objstrm.cpp \ common/paper.cpp \ - common/popupcmn.cpp \ common/prntbase.cpp \ common/process.cpp \ common/protocol.cpp \ @@ -122,6 +121,7 @@ ALL_SOURCES = \ common/strconv.cpp \ common/stream.cpp \ common/string.cpp \ + common/sysopt.cpp \ common/tbarbase.cpp \ common/textcmn.cpp \ common/textfile.cpp \ @@ -179,6 +179,7 @@ ALL_SOURCES = \ msw/ole/dropsrc.cpp \ msw/ole/droptgt.cpp \ msw/enhmeta.cpp \ + msw/evtloop.cpp \ msw/filedlg.cpp \ msw/font.cpp \ msw/fontdlg.cpp \ @@ -359,7 +360,6 @@ ALL_HEADERS = \ helpchm.h \ helphtml.h \ helpwin.h \ - helpxlp.h \ icon.h \ imagbmp.h \ image.h \ @@ -406,6 +406,7 @@ ALL_HEADERS = \ panel.h \ paper.h \ pen.h \ + popupwin.h \ print.h \ printdlg.h \ prntbase.h \ @@ -435,6 +436,7 @@ ALL_HEADERS = \ spinctrl.h \ splash.h \ splitter.h \ + stack.h \ statbmp.h \ statbox.h \ statline.h \ @@ -443,6 +445,7 @@ ALL_HEADERS = \ strconv.h \ stream.h \ string.h \ + sysopt.h \ tab.h \ tabctrl.h \ taskbar.h \ @@ -470,6 +473,7 @@ ALL_HEADERS = \ validate.h \ valtext.h \ variant.h \ + vector.h \ version.h \ wave.h \ wfstream.h \ @@ -594,7 +598,6 @@ ALL_HEADERS = \ generic/helpext.h \ generic/helphtml.h \ generic/helpwxht.h \ - generic/helpxlp.h \ generic/imaglist.h \ generic/laywin.h \ generic/listctrl.h \ @@ -713,7 +716,6 @@ COMMONOBJS = \ object.o \ objstrm.o \ paper.o \ - popupcmn.o \ prntbase.o \ process.o \ protocol.o \ @@ -730,6 +732,7 @@ COMMONOBJS = \ strconv.o \ stream.o \ string.o \ + sysopt.o \ tbarbase.o \ textcmn.o \ textfile.o \ @@ -829,7 +832,6 @@ COMMONDEPS = \ object.d \ objstrm.d \ paper.d \ - popupcmn.d \ prntbase.d \ process.d \ protocol.d \ @@ -846,6 +848,7 @@ COMMONDEPS = \ strconv.d \ stream.d \ string.d \ + sysopt.d \ tbarbase.d \ textcmn.d \ textfile.d \ @@ -963,6 +966,7 @@ GUIOBJS = \ dirdlg.o \ dragimag.o \ enhmeta.o \ + evtloop.o \ filedlg.o \ font.o \ fontdlg.o \ @@ -1061,6 +1065,7 @@ GUIDEPS = \ dirdlg.d \ dragimag.d \ enhmeta.d \ + evtloop.d \ filedlg.d \ font.d \ fontdlg.d \ diff --git a/src/msw/makebase.vc b/src/msw/makebase.vc index 2479fa8..8cdba75 100644 --- a/src/msw/makebase.vc +++ b/src/msw/makebase.vc @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 16:24, 2001/03/13 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BASEVC.T! # File: makebase.vc @@ -68,6 +68,7 @@ COMMONOBJS = \ ..\common\$D\datstrm.obj \ ..\common\$D\db.obj \ ..\common\$D\dbtable.obj \ + ..\common\$D\dircmn.obj \ ..\common\$D\dynarray.obj \ ..\common\$D\dynlib.obj \ ..\common\$D\encconv.obj \ @@ -108,6 +109,7 @@ COMMONOBJS = \ ..\common\$D\strconv.obj \ ..\common\$D\stream.obj \ ..\common\$D\string.obj \ + ..\common\$D\sysopt.obj \ ..\common\$D\textfile.obj \ ..\common\$D\timercmn.obj \ ..\common\$D\tokenzr.obj \ @@ -130,6 +132,7 @@ MSWOBJS = ..\msw\$D\dde.obj \ ..\msw\$D\mimetype.obj \ ..\msw\$D\regconf.obj \ ..\msw\$D\registry.obj \ + ..\msw\$D\snglinst.obj \ ..\msw\$D\thread.obj \ ..\msw\$D\utils.obj \ ..\msw\$D\utilsexc.obj diff --git a/src/msw/makefile.b32 b/src/msw/makefile.b32 index 04d933e..f2e8ca2 100644 --- a/src/msw/makefile.b32 +++ b/src/msw/makefile.b32 @@ -1,6 +1,6 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T! # @@ -190,7 +190,6 @@ COMMONOBJS = \ $(MSWDIR)\objstrm.obj \ $(MSWDIR)\odbc.obj \ $(MSWDIR)\paper.obj \ - $(MSWDIR)\popupcmn.obj \ $(MSWDIR)\prntbase.obj \ $(MSWDIR)\process.obj \ $(MSWDIR)\protocol.obj \ @@ -207,6 +206,7 @@ COMMONOBJS = \ $(MSWDIR)\strconv.obj \ $(MSWDIR)\stream.obj \ $(MSWDIR)\string.obj \ + $(MSWDIR)\sysopt.obj \ $(MSWDIR)\tbarbase.obj \ $(MSWDIR)\textcmn.obj \ $(MSWDIR)\textfile.obj \ @@ -265,6 +265,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \ $(MSWDIR)\dropsrc.obj \ $(MSWDIR)\droptgt.obj \ $(MSWDIR)\enhmeta.obj \ + $(MSWDIR)\evtloop.obj \ $(MSWDIR)\filedlg.obj \ $(MSWDIR)\font.obj \ $(MSWDIR)\fontdlg.obj \ @@ -476,6 +477,8 @@ $(MSWDIR)\droptgt.obj: $(OLEDIR)\droptgt.$(SRCSUFF) $(MSWDIR)\enhmeta.obj: $(MSWDIR)\enhmeta.$(SRCSUFF) +$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF) + $(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF) $(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF) @@ -765,8 +768,6 @@ $(MSWDIR)\odbc.obj: $(COMMDIR)\odbc.$(SRCSUFF) $(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF) -$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF) - $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF) $(MSWDIR)\process.obj: $(COMMDIR)\process.$(SRCSUFF) @@ -799,6 +800,8 @@ $(MSWDIR)\stream.obj: $(COMMDIR)\stream.$(SRCSUFF) $(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF) +$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF) + $(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF) $(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF) diff --git a/src/msw/makefile.bcc b/src/msw/makefile.bcc index 6ca26a5..9aa7742 100644 --- a/src/msw/makefile.bcc +++ b/src/msw/makefile.bcc @@ -1,6 +1,6 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T! # @@ -168,7 +168,6 @@ COMMONOBJS = \ $(MSWDIR)\object.obj \ $(MSWDIR)\objstrm.obj \ $(MSWDIR)\paper.obj \ - $(MSWDIR)\popupcmn.obj \ $(MSWDIR)\prntbase.obj \ $(MSWDIR)\quantize.obj \ $(MSWDIR)\radiocmn.obj \ @@ -178,6 +177,7 @@ COMMONOBJS = \ $(MSWDIR)\strconv.obj \ $(MSWDIR)\stream.obj \ $(MSWDIR)\string.obj \ + $(MSWDIR)\sysopt.obj \ $(MSWDIR)\tbarbase.obj \ $(MSWDIR)\textcmn.obj \ $(MSWDIR)\textfile.obj \ @@ -230,6 +230,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \ $(MSWDIR)\dibutils.obj \ $(MSWDIR)\dir.obj \ $(MSWDIR)\dragimag.obj \ + $(MSWDIR)\evtloop.obj \ $(MSWDIR)\filedlg.obj \ $(MSWDIR)\font.obj \ $(MSWDIR)\fontdlg.obj \ @@ -376,6 +377,8 @@ $(MSWDIR)\dir.obj: $(MSWDIR)\dir.$(SRCSUFF) $(MSWDIR)\dragimag.obj: $(MSWDIR)\dragimag.$(SRCSUFF) +$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF) + $(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF) $(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF) @@ -615,8 +618,6 @@ $(MSWDIR)\objstrm.obj: $(COMMDIR)\objstrm.$(SRCSUFF) $(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF) -$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF) - $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF) $(MSWDIR)\quantize.obj: $(COMMDIR)\quantize.$(SRCSUFF) @@ -635,6 +636,8 @@ $(MSWDIR)\stream.obj: $(COMMDIR)\stream.$(SRCSUFF) $(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF) +$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF) + $(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF) $(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF) diff --git a/src/msw/makefile.dos b/src/msw/makefile.dos index 296a78c..be2f0ab 100644 --- a/src/msw/makefile.dos +++ b/src/msw/makefile.dos @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T! # @@ -155,7 +155,6 @@ COMMONOBJS1 = \ COMMONOBJS2 = \ $(COMMDIR)\paper.obj \ - $(COMMDIR)\popupcmn.obj \ $(COMMDIR)\prntbase.obj \ $(COMMDIR)\quantize.obj \ $(COMMDIR)\radiocmn.obj \ @@ -165,6 +164,7 @@ COMMONOBJS2 = \ $(COMMDIR)\strconv.obj \ $(COMMDIR)\stream.obj \ $(COMMDIR)\string.obj \ + $(COMMDIR)\sysopt.obj \ $(COMMDIR)\tbarbase.obj \ $(COMMDIR)\textcmn.obj \ $(COMMDIR)\textfile.obj \ @@ -217,6 +217,7 @@ MSWOBJS1 = $(MSWDIR)\accel.obj \ $(MSWDIR)\dibutils.obj \ $(MSWDIR)\dir.obj \ $(MSWDIR)\dragimag.obj \ + $(MSWDIR)\evtloop.obj \ $(MSWDIR)\filedlg.obj \ $(MSWDIR)\font.obj \ $(MSWDIR)\fontdlg.obj \ @@ -493,6 +494,11 @@ $(MSWDIR)/dragimag.obj: $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) << +$(MSWDIR)/evtloop.obj: $*.$(SRCSUFF) + cl @<< +$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) +<< + $(MSWDIR)/filedlg.obj: $*.$(SRCSUFF) cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) @@ -1083,11 +1089,6 @@ $(COMMDIR)/paper.obj: $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) << -$(COMMDIR)/popupcmn.obj: $*.$(SRCSUFF) - cl @<< -$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) -<< - $(COMMDIR)/prntbase.obj: $*.$(SRCSUFF) cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) @@ -1133,6 +1134,11 @@ $(COMMDIR)/string.obj: $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) << +$(COMMDIR)/sysopt.obj: $*.$(SRCSUFF) + cl @<< +$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) +<< + $(COMMDIR)/tbarbase.obj: $*.$(SRCSUFF) cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) diff --git a/src/msw/makefile.g95 b/src/msw/makefile.g95 index c93eb1a..4c135f8 100644 --- a/src/msw/makefile.g95 +++ b/src/msw/makefile.g95 @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T! # @@ -174,7 +174,6 @@ COMMONOBJS = \ $(COMMDIR)/object.$(OBJSUFF) \ $(COMMDIR)/objstrm.$(OBJSUFF) \ $(COMMDIR)/paper.$(OBJSUFF) \ - $(COMMDIR)/popupcmn.$(OBJSUFF) \ $(COMMDIR)/prntbase.$(OBJSUFF) \ $(COMMDIR)/process.$(OBJSUFF) \ $(COMMDIR)/protocol.$(OBJSUFF) \ @@ -191,6 +190,7 @@ COMMONOBJS = \ $(COMMDIR)/strconv.$(OBJSUFF) \ $(COMMDIR)/stream.$(OBJSUFF) \ $(COMMDIR)/string.$(OBJSUFF) \ + $(COMMDIR)/sysopt.$(OBJSUFF) \ $(COMMDIR)/tbarbase.$(OBJSUFF) \ $(COMMDIR)/textcmn.$(OBJSUFF) \ $(COMMDIR)/textfile.$(OBJSUFF) \ @@ -267,6 +267,7 @@ MSWOBJS = \ $(MSWDIR)/dir.$(OBJSUFF) \ $(MSWDIR)/dragimag.$(OBJSUFF) \ $(MSWDIR)/enhmeta.$(OBJSUFF) \ + $(MSWDIR)/evtloop.$(OBJSUFF) \ $(MSWDIR)/filedlg.$(OBJSUFF) \ $(MSWDIR)/font.$(OBJSUFF) \ $(MSWDIR)/fontdlg.$(OBJSUFF) \ diff --git a/src/msw/makefile.sc b/src/msw/makefile.sc index 63a5256..abb1bcd 100644 --- a/src/msw/makefile.sc +++ b/src/msw/makefile.sc @@ -1,6 +1,6 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T! # Symantec C++ makefile for the msw objects @@ -133,7 +133,6 @@ COMMONOBJS = \ $(COMMDIR)\objstrm.obj \ $(COMMDIR)\odbc.obj \ $(COMMDIR)\paper.obj \ - $(COMMDIR)\popupcmn.obj \ $(COMMDIR)\prntbase.obj \ $(COMMDIR)\process.obj \ $(COMMDIR)\protocol.obj \ @@ -150,6 +149,7 @@ COMMONOBJS = \ $(COMMDIR)\strconv.obj \ $(COMMDIR)\stream.obj \ $(COMMDIR)\string.obj \ + $(COMMDIR)\sysopt.obj \ $(COMMDIR)\tbarbase.obj \ $(COMMDIR)\textcmn.obj \ $(COMMDIR)\textfile.obj \ @@ -208,6 +208,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \ $(MSWDIR)\ole\dropsrc.obj \ $(MSWDIR)\ole\droptgt.obj \ $(MSWDIR)\enhmeta.obj \ + $(MSWDIR)\evtloop.obj \ $(MSWDIR)\filedlg.obj \ $(MSWDIR)\font.obj \ $(MSWDIR)\fontdlg.obj \ diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc index 889657f..fdb858d 100644 --- a/src/msw/makefile.vc +++ b/src/msw/makefile.vc @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T! # File: makefile.vc @@ -50,326 +50,326 @@ HTMLDIR = $(WXDIR)\src\html JPEGDIR = $(WXDIR)\src\jpeg TIFFDIR = $(WXDIR)\src\tiff -{..\generic}.cpp{..\generic\$D}.obj: +{$(GENDIR)}.cpp{$(GENDIR)\$D}.obj: cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $< << -{..\common}.cpp{..\common\$D}.obj: +{$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj: cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $< << -{..\common}.c{..\common\$D}.obj: +{$(COMMDIR)}.c{$(COMMDIR)\$D}.obj: cl @<< $(CPPFLAGS2) /Fo$@ /c /Tc $< << -{..\msw}.cpp{..\msw\$D}.obj: +{$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj: cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $< << -{..\msw}.c{..\msw\$D}.obj: +{$(MSWDIR)}.c{$(MSWDIR)\$D}.obj: cl @<< $(CPPFLAGS2) /Fo$@ /c /Tc $< << -{..\msw\ole}.cpp{..\msw\ole\$D}.obj: +{$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj: cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $< << -{..\html}.cpp{..\html\$D}.obj: +{$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj: cl @<< $(CPPFLAGS) /Fo$@ /c /Tp $< << -GENERICOBJS= ..\generic\$D\busyinfo.obj \ - ..\generic\$D\calctrl.obj \ - ..\generic\$D\choicdgg.obj \ - ..\generic\$D\dirctrlg.obj \ - ..\generic\$D\dragimgg.obj \ - ..\generic\$D\grid.obj \ - ..\generic\$D\gridctrl.obj \ - ..\generic\$D\gridsel.obj \ - ..\generic\$D\laywin.obj \ - ..\generic\$D\logg.obj \ - ..\generic\$D\numdlgg.obj \ - ..\generic\$D\panelg.obj \ - ..\generic\$D\progdlgg.obj \ - ..\generic\$D\prop.obj \ - ..\generic\$D\propform.obj \ - ..\generic\$D\proplist.obj \ - ..\generic\$D\sashwin.obj \ - ..\generic\$D\scrlwing.obj \ - ..\generic\$D\spinctlg.obj \ - ..\generic\$D\splash.obj \ - ..\generic\$D\splitter.obj \ - ..\generic\$D\statusbr.obj \ - ..\generic\$D\tbarsmpl.obj \ - ..\generic\$D\textdlgg.obj \ - ..\generic\$D\tipdlg.obj \ - ..\generic\$D\tipwin.obj \ - ..\generic\$D\treectlg.obj \ - ..\generic\$D\treelay.obj \ - ..\generic\$D\wizard.obj +GENERICOBJS= $(GENDIR)\$D\busyinfo.obj \ + $(GENDIR)\$D\calctrl.obj \ + $(GENDIR)\$D\choicdgg.obj \ + $(GENDIR)\$D\dirctrlg.obj \ + $(GENDIR)\$D\dragimgg.obj \ + $(GENDIR)\$D\grid.obj \ + $(GENDIR)\$D\gridctrl.obj \ + $(GENDIR)\$D\gridsel.obj \ + $(GENDIR)\$D\laywin.obj \ + $(GENDIR)\$D\logg.obj \ + $(GENDIR)\$D\numdlgg.obj \ + $(GENDIR)\$D\panelg.obj \ + $(GENDIR)\$D\progdlgg.obj \ + $(GENDIR)\$D\prop.obj \ + $(GENDIR)\$D\propform.obj \ + $(GENDIR)\$D\proplist.obj \ + $(GENDIR)\$D\sashwin.obj \ + $(GENDIR)\$D\scrlwing.obj \ + $(GENDIR)\$D\spinctlg.obj \ + $(GENDIR)\$D\splash.obj \ + $(GENDIR)\$D\splitter.obj \ + $(GENDIR)\$D\statusbr.obj \ + $(GENDIR)\$D\tbarsmpl.obj \ + $(GENDIR)\$D\textdlgg.obj \ + $(GENDIR)\$D\tipdlg.obj \ + $(GENDIR)\$D\tipwin.obj \ + $(GENDIR)\$D\treectlg.obj \ + $(GENDIR)\$D\treelay.obj \ + $(GENDIR)\$D\wizard.obj # These are generic things that don't need to be compiled on MSW, # but sometimes it's useful to do so for testing purposes. -NONESSENTIALOBJS= ..\generic\$D\colrdlgg.obj \ - ..\generic\$D\dirdlgg.obj \ - ..\generic\$D\fontdlgg.obj \ - ..\generic\$D\helpext.obj \ - ..\generic\$D\helphtml.obj \ - ..\generic\$D\helpwxht.obj \ - ..\generic\$D\helpxlp.obj \ - ..\generic\$D\imaglist.obj \ - ..\generic\$D\listctrl.obj \ - ..\generic\$D\msgdlgg.obj \ - ..\generic\$D\notebook.obj \ - ..\generic\$D\tabg.obj +NONESSENTIALOBJS= $(GENDIR)\$D\colrdlgg.obj \ + $(GENDIR)\$D\dirdlgg.obj \ + $(GENDIR)\$D\fontdlgg.obj \ + $(GENDIR)\$D\helpext.obj \ + $(GENDIR)\$D\helphtml.obj \ + $(GENDIR)\$D\helpwxht.obj \ + $(GENDIR)\$D\imaglist.obj \ + $(GENDIR)\$D\listctrl.obj \ + $(GENDIR)\$D\msgdlgg.obj \ + $(GENDIR)\$D\notebook.obj \ + $(GENDIR)\$D\tabg.obj COMMONOBJS = \ - ..\common\$D\y_tab.obj \ - ..\common\$D\appcmn.obj \ - ..\common\$D\choiccmn.obj \ - ..\common\$D\clipcmn.obj \ - ..\common\$D\cmdline.obj \ - ..\common\$D\cmdproc.obj \ - ..\common\$D\cmndata.obj \ - ..\common\$D\config.obj \ - ..\common\$D\cshelp.obj \ - ..\common\$D\ctrlcmn.obj \ - ..\common\$D\ctrlsub.obj \ - ..\common\$D\datetime.obj \ - ..\common\$D\datstrm.obj \ - ..\common\$D\db.obj \ - ..\common\$D\dbgrid.obj \ - ..\common\$D\dbtable.obj \ - ..\common\$D\dcbase.obj \ - ..\common\$D\dircmn.obj \ - ..\common\$D\dlgcmn.obj \ - ..\common\$D\dndcmn.obj \ - ..\common\$D\dobjcmn.obj \ - ..\common\$D\docmdi.obj \ - ..\common\$D\docview.obj \ - ..\common\$D\dynarray.obj \ - ..\common\$D\dynlib.obj \ - ..\common\$D\effects.obj \ - ..\common\$D\encconv.obj \ - ..\common\$D\event.obj \ - ..\common\$D\extended.obj \ - ..\common\$D\ffile.obj \ - ..\common\$D\file.obj \ - ..\common\$D\fileconf.obj \ - ..\common\$D\filefn.obj \ - ..\common\$D\filename.obj \ - ..\common\$D\filesys.obj \ - ..\common\$D\fontcmn.obj \ - ..\common\$D\fontmap.obj \ - ..\common\$D\framecmn.obj \ - ..\common\$D\fs_inet.obj \ - ..\common\$D\fs_mem.obj \ - ..\common\$D\fs_zip.obj \ - ..\common\$D\ftp.obj \ - ..\common\$D\gaugecmn.obj \ - ..\common\$D\gdicmn.obj \ - ..\common\$D\geometry.obj \ - ..\common\$D\gifdecod.obj \ - ..\common\$D\hash.obj \ - ..\common\$D\helpbase.obj \ - ..\common\$D\http.obj \ - ..\common\$D\imagall.obj \ - ..\common\$D\imagbmp.obj \ - ..\common\$D\image.obj \ - ..\common\$D\imaggif.obj \ - ..\common\$D\imagjpeg.obj \ - ..\common\$D\imagpcx.obj \ - ..\common\$D\imagpng.obj \ - ..\common\$D\imagpnm.obj \ - ..\common\$D\imagtiff.obj \ - ..\common\$D\imagxpm.obj \ - ..\common\$D\intl.obj \ - ..\common\$D\ipcbase.obj \ - ..\common\$D\layout.obj \ - ..\common\$D\lboxcmn.obj \ - ..\common\$D\list.obj \ - ..\common\$D\log.obj \ - ..\common\$D\longlong.obj \ - ..\common\$D\matrix.obj \ - ..\common\$D\memory.obj \ - ..\common\$D\menucmn.obj \ - ..\common\$D\mimecmn.obj \ - ..\common\$D\module.obj \ - ..\common\$D\mstream.obj \ - ..\common\$D\nbkbase.obj \ - ..\common\$D\object.obj \ - ..\common\$D\objstrm.obj \ - ..\common\$D\odbc.obj \ - ..\common\$D\paper.obj \ - ..\common\$D\popupcmn.obj \ - ..\common\$D\prntbase.obj \ - ..\common\$D\process.obj \ - ..\common\$D\protocol.obj \ - ..\common\$D\quantize.obj \ - ..\common\$D\radiocmn.obj \ - ..\common\$D\resource.obj \ - ..\common\$D\sckaddr.obj \ - ..\common\$D\sckfile.obj \ - ..\common\$D\sckipc.obj \ - ..\common\$D\sckstrm.obj \ - ..\common\$D\serbase.obj \ - ..\common\$D\sizer.obj \ - ..\common\$D\socket.obj \ - ..\common\$D\strconv.obj \ - ..\common\$D\stream.obj \ - ..\common\$D\string.obj \ - ..\common\$D\tbarbase.obj \ - ..\common\$D\textcmn.obj \ - ..\common\$D\textfile.obj \ - ..\common\$D\timercmn.obj \ - ..\common\$D\tokenzr.obj \ - ..\common\$D\treebase.obj \ - ..\common\$D\txtstrm.obj \ - ..\common\$D\unzip.obj \ - ..\common\$D\url.obj \ - ..\common\$D\utilscmn.obj \ - ..\common\$D\valgen.obj \ - ..\common\$D\validate.obj \ - ..\common\$D\valtext.obj \ - ..\common\$D\variant.obj \ - ..\common\$D\wfstream.obj \ - ..\common\$D\wincmn.obj \ - ..\common\$D\wxchar.obj \ - ..\common\$D\wxexpr.obj \ - ..\common\$D\xpmdecod.obj \ - ..\common\$D\zipstrm.obj \ - ..\common\$D\zstream.obj - -MSWOBJS = ..\msw\$D\accel.obj \ - ..\msw\$D\app.obj \ - ..\msw\ole\$D\automtn.obj \ - ..\msw\$D\bitmap.obj \ - ..\msw\$D\bmpbuttn.obj \ - ..\msw\$D\brush.obj \ - ..\msw\$D\button.obj \ - ..\msw\$D\caret.obj \ - ..\msw\$D\checkbox.obj \ - ..\msw\$D\checklst.obj \ - ..\msw\$D\choice.obj \ - ..\msw\$D\clipbrd.obj \ - ..\msw\$D\colordlg.obj \ - ..\msw\$D\colour.obj \ - ..\msw\$D\combobox.obj \ - ..\msw\$D\control.obj \ - ..\msw\$D\curico.obj \ - ..\msw\$D\cursor.obj \ - ..\msw\$D\data.obj \ - ..\msw\ole\$D\dataobj.obj \ - ..\msw\$D\dc.obj \ - ..\msw\$D\dcclient.obj \ - ..\msw\$D\dcmemory.obj \ - ..\msw\$D\dcprint.obj \ - ..\msw\$D\dcscreen.obj \ - ..\msw\$D\dde.obj \ - ..\msw\$D\dialog.obj \ - ..\msw\$D\dialup.obj \ - ..\msw\$D\dib.obj \ - ..\msw\$D\dibutils.obj \ - ..\msw\$D\dir.obj \ - ..\msw\$D\dirdlg.obj \ - ..\msw\$D\dragimag.obj \ - ..\msw\ole\$D\dropsrc.obj \ - ..\msw\ole\$D\droptgt.obj \ - ..\msw\$D\enhmeta.obj \ - ..\msw\$D\filedlg.obj \ - ..\msw\$D\font.obj \ - ..\msw\$D\fontdlg.obj \ - ..\msw\$D\fontenum.obj \ - ..\msw\$D\fontutil.obj \ - ..\msw\$D\frame.obj \ - ..\msw\$D\gauge95.obj \ - ..\msw\$D\gdiimage.obj \ - ..\msw\$D\gdiobj.obj \ - ..\msw\$D\glcanvas.obj \ - ..\msw\$D\gsocket.obj \ - ..\msw\$D\gsockmsw.obj \ - ..\msw\$D\helpchm.obj \ - ..\msw\$D\helpwin.obj \ - ..\msw\$D\icon.obj \ - ..\msw\$D\imaglist.obj \ - ..\msw\$D\joystick.obj \ - ..\msw\$D\listbox.obj \ - ..\msw\$D\listctrl.obj \ - ..\msw\$D\main.obj \ - ..\msw\$D\mdi.obj \ - ..\msw\$D\menu.obj \ - ..\msw\$D\menuitem.obj \ - ..\msw\$D\metafile.obj \ - ..\msw\$D\mimetype.obj \ - ..\msw\$D\minifram.obj \ - ..\msw\$D\msgdlg.obj \ - ..\msw\$D\nativdlg.obj \ - ..\msw\$D\notebook.obj \ - ..\msw\ole\$D\oleutils.obj \ - ..\msw\$D\ownerdrw.obj \ - ..\msw\$D\palette.obj \ - ..\msw\$D\pen.obj \ - ..\msw\$D\penwin.obj \ - ..\msw\$D\printdlg.obj \ - ..\msw\$D\printwin.obj \ - ..\msw\$D\radiobox.obj \ - ..\msw\$D\radiobut.obj \ - ..\msw\$D\regconf.obj \ - ..\msw\$D\region.obj \ - ..\msw\$D\registry.obj \ - ..\msw\$D\scrolbar.obj \ - ..\msw\$D\settings.obj \ - ..\msw\$D\slider95.obj \ - ..\msw\$D\snglinst.obj \ - ..\msw\$D\spinbutt.obj \ - ..\msw\$D\spinctrl.obj \ - ..\msw\$D\statbmp.obj \ - ..\msw\$D\statbox.obj \ - ..\msw\$D\statbr95.obj \ - ..\msw\$D\statline.obj \ - ..\msw\$D\stattext.obj \ - ..\msw\$D\tabctrl.obj \ - ..\msw\$D\taskbar.obj \ - ..\msw\$D\tbar95.obj \ - ..\msw\$D\textctrl.obj \ - ..\msw\$D\tglbtn.obj \ - ..\msw\$D\thread.obj \ - ..\msw\$D\timer.obj \ - ..\msw\$D\tooltip.obj \ - ..\msw\$D\treectrl.obj \ - ..\msw\$D\utils.obj \ - ..\msw\$D\utilsexc.obj \ - ..\msw\ole\$D\uuid.obj \ - ..\msw\$D\wave.obj \ - ..\msw\$D\window.obj - -HTMLOBJS = ..\html\$D\helpctrl.obj \ - ..\html\$D\helpdata.obj \ - ..\html\$D\helpfrm.obj \ - ..\html\$D\htmlcell.obj \ - ..\html\$D\htmlfilt.obj \ - ..\html\$D\htmlpars.obj \ - ..\html\$D\htmltag.obj \ - ..\html\$D\htmlwin.obj \ - ..\html\$D\htmprint.obj \ - ..\html\$D\m_dflist.obj \ - ..\html\$D\m_fonts.obj \ - ..\html\$D\m_hline.obj \ - ..\html\$D\m_image.obj \ - ..\html\$D\m_layout.obj \ - ..\html\$D\m_links.obj \ - ..\html\$D\m_list.obj \ - ..\html\$D\m_meta.obj \ - ..\html\$D\m_pre.obj \ - ..\html\$D\m_tables.obj \ - ..\html\$D\winpars.obj + $(COMMDIR)\$D\y_tab.obj \ + $(COMMDIR)\$D\appcmn.obj \ + $(COMMDIR)\$D\choiccmn.obj \ + $(COMMDIR)\$D\clipcmn.obj \ + $(COMMDIR)\$D\cmdline.obj \ + $(COMMDIR)\$D\cmdproc.obj \ + $(COMMDIR)\$D\cmndata.obj \ + $(COMMDIR)\$D\config.obj \ + $(COMMDIR)\$D\cshelp.obj \ + $(COMMDIR)\$D\ctrlcmn.obj \ + $(COMMDIR)\$D\ctrlsub.obj \ + $(COMMDIR)\$D\datetime.obj \ + $(COMMDIR)\$D\datstrm.obj \ + $(COMMDIR)\$D\db.obj \ + $(COMMDIR)\$D\dbgrid.obj \ + $(COMMDIR)\$D\dbtable.obj \ + $(COMMDIR)\$D\dcbase.obj \ + $(COMMDIR)\$D\dircmn.obj \ + $(COMMDIR)\$D\dlgcmn.obj \ + $(COMMDIR)\$D\dndcmn.obj \ + $(COMMDIR)\$D\dobjcmn.obj \ + $(COMMDIR)\$D\docmdi.obj \ + $(COMMDIR)\$D\docview.obj \ + $(COMMDIR)\$D\dynarray.obj \ + $(COMMDIR)\$D\dynlib.obj \ + $(COMMDIR)\$D\effects.obj \ + $(COMMDIR)\$D\encconv.obj \ + $(COMMDIR)\$D\event.obj \ + $(COMMDIR)\$D\extended.obj \ + $(COMMDIR)\$D\ffile.obj \ + $(COMMDIR)\$D\file.obj \ + $(COMMDIR)\$D\fileconf.obj \ + $(COMMDIR)\$D\filefn.obj \ + $(COMMDIR)\$D\filename.obj \ + $(COMMDIR)\$D\filesys.obj \ + $(COMMDIR)\$D\fontcmn.obj \ + $(COMMDIR)\$D\fontmap.obj \ + $(COMMDIR)\$D\framecmn.obj \ + $(COMMDIR)\$D\fs_inet.obj \ + $(COMMDIR)\$D\fs_mem.obj \ + $(COMMDIR)\$D\fs_zip.obj \ + $(COMMDIR)\$D\ftp.obj \ + $(COMMDIR)\$D\gaugecmn.obj \ + $(COMMDIR)\$D\gdicmn.obj \ + $(COMMDIR)\$D\geometry.obj \ + $(COMMDIR)\$D\gifdecod.obj \ + $(COMMDIR)\$D\hash.obj \ + $(COMMDIR)\$D\helpbase.obj \ + $(COMMDIR)\$D\http.obj \ + $(COMMDIR)\$D\imagall.obj \ + $(COMMDIR)\$D\imagbmp.obj \ + $(COMMDIR)\$D\image.obj \ + $(COMMDIR)\$D\imaggif.obj \ + $(COMMDIR)\$D\imagjpeg.obj \ + $(COMMDIR)\$D\imagpcx.obj \ + $(COMMDIR)\$D\imagpng.obj \ + $(COMMDIR)\$D\imagpnm.obj \ + $(COMMDIR)\$D\imagtiff.obj \ + $(COMMDIR)\$D\imagxpm.obj \ + $(COMMDIR)\$D\intl.obj \ + $(COMMDIR)\$D\ipcbase.obj \ + $(COMMDIR)\$D\layout.obj \ + $(COMMDIR)\$D\lboxcmn.obj \ + $(COMMDIR)\$D\list.obj \ + $(COMMDIR)\$D\log.obj \ + $(COMMDIR)\$D\longlong.obj \ + $(COMMDIR)\$D\matrix.obj \ + $(COMMDIR)\$D\memory.obj \ + $(COMMDIR)\$D\menucmn.obj \ + $(COMMDIR)\$D\mimecmn.obj \ + $(COMMDIR)\$D\module.obj \ + $(COMMDIR)\$D\mstream.obj \ + $(COMMDIR)\$D\nbkbase.obj \ + $(COMMDIR)\$D\object.obj \ + $(COMMDIR)\$D\objstrm.obj \ + $(COMMDIR)\$D\odbc.obj \ + $(COMMDIR)\$D\paper.obj \ + $(COMMDIR)\$D\prntbase.obj \ + $(COMMDIR)\$D\process.obj \ + $(COMMDIR)\$D\protocol.obj \ + $(COMMDIR)\$D\quantize.obj \ + $(COMMDIR)\$D\radiocmn.obj \ + $(COMMDIR)\$D\resource.obj \ + $(COMMDIR)\$D\sckaddr.obj \ + $(COMMDIR)\$D\sckfile.obj \ + $(COMMDIR)\$D\sckipc.obj \ + $(COMMDIR)\$D\sckstrm.obj \ + $(COMMDIR)\$D\serbase.obj \ + $(COMMDIR)\$D\sizer.obj \ + $(COMMDIR)\$D\socket.obj \ + $(COMMDIR)\$D\strconv.obj \ + $(COMMDIR)\$D\stream.obj \ + $(COMMDIR)\$D\string.obj \ + $(COMMDIR)\$D\sysopt.obj \ + $(COMMDIR)\$D\tbarbase.obj \ + $(COMMDIR)\$D\textcmn.obj \ + $(COMMDIR)\$D\textfile.obj \ + $(COMMDIR)\$D\timercmn.obj \ + $(COMMDIR)\$D\tokenzr.obj \ + $(COMMDIR)\$D\treebase.obj \ + $(COMMDIR)\$D\txtstrm.obj \ + $(COMMDIR)\$D\unzip.obj \ + $(COMMDIR)\$D\url.obj \ + $(COMMDIR)\$D\utilscmn.obj \ + $(COMMDIR)\$D\valgen.obj \ + $(COMMDIR)\$D\validate.obj \ + $(COMMDIR)\$D\valtext.obj \ + $(COMMDIR)\$D\variant.obj \ + $(COMMDIR)\$D\wfstream.obj \ + $(COMMDIR)\$D\wincmn.obj \ + $(COMMDIR)\$D\wxchar.obj \ + $(COMMDIR)\$D\wxexpr.obj \ + $(COMMDIR)\$D\xpmdecod.obj \ + $(COMMDIR)\$D\zipstrm.obj \ + $(COMMDIR)\$D\zstream.obj + +MSWOBJS = $(MSWDIR)\$D\accel.obj \ + $(MSWDIR)\$D\app.obj \ + $(OLEDIR)\$D\automtn.obj \ + $(MSWDIR)\$D\bitmap.obj \ + $(MSWDIR)\$D\bmpbuttn.obj \ + $(MSWDIR)\$D\brush.obj \ + $(MSWDIR)\$D\button.obj \ + $(MSWDIR)\$D\caret.obj \ + $(MSWDIR)\$D\checkbox.obj \ + $(MSWDIR)\$D\checklst.obj \ + $(MSWDIR)\$D\choice.obj \ + $(MSWDIR)\$D\clipbrd.obj \ + $(MSWDIR)\$D\colordlg.obj \ + $(MSWDIR)\$D\colour.obj \ + $(MSWDIR)\$D\combobox.obj \ + $(MSWDIR)\$D\control.obj \ + $(MSWDIR)\$D\curico.obj \ + $(MSWDIR)\$D\cursor.obj \ + $(MSWDIR)\$D\data.obj \ + $(OLEDIR)\$D\dataobj.obj \ + $(MSWDIR)\$D\dc.obj \ + $(MSWDIR)\$D\dcclient.obj \ + $(MSWDIR)\$D\dcmemory.obj \ + $(MSWDIR)\$D\dcprint.obj \ + $(MSWDIR)\$D\dcscreen.obj \ + $(MSWDIR)\$D\dde.obj \ + $(MSWDIR)\$D\dialog.obj \ + $(MSWDIR)\$D\dialup.obj \ + $(MSWDIR)\$D\dib.obj \ + $(MSWDIR)\$D\dibutils.obj \ + $(MSWDIR)\$D\dir.obj \ + $(MSWDIR)\$D\dirdlg.obj \ + $(MSWDIR)\$D\dragimag.obj \ + $(OLEDIR)\$D\dropsrc.obj \ + $(OLEDIR)\$D\droptgt.obj \ + $(MSWDIR)\$D\enhmeta.obj \ + $(MSWDIR)\$D\evtloop.obj \ + $(MSWDIR)\$D\filedlg.obj \ + $(MSWDIR)\$D\font.obj \ + $(MSWDIR)\$D\fontdlg.obj \ + $(MSWDIR)\$D\fontenum.obj \ + $(MSWDIR)\$D\fontutil.obj \ + $(MSWDIR)\$D\frame.obj \ + $(MSWDIR)\$D\gauge95.obj \ + $(MSWDIR)\$D\gdiimage.obj \ + $(MSWDIR)\$D\gdiobj.obj \ + $(MSWDIR)\$D\glcanvas.obj \ + $(MSWDIR)\$D\gsocket.obj \ + $(MSWDIR)\$D\gsockmsw.obj \ + $(MSWDIR)\$D\helpchm.obj \ + $(MSWDIR)\$D\helpwin.obj \ + $(MSWDIR)\$D\icon.obj \ + $(MSWDIR)\$D\imaglist.obj \ + $(MSWDIR)\$D\joystick.obj \ + $(MSWDIR)\$D\listbox.obj \ + $(MSWDIR)\$D\listctrl.obj \ + $(MSWDIR)\$D\main.obj \ + $(MSWDIR)\$D\mdi.obj \ + $(MSWDIR)\$D\menu.obj \ + $(MSWDIR)\$D\menuitem.obj \ + $(MSWDIR)\$D\metafile.obj \ + $(MSWDIR)\$D\mimetype.obj \ + $(MSWDIR)\$D\minifram.obj \ + $(MSWDIR)\$D\msgdlg.obj \ + $(MSWDIR)\$D\nativdlg.obj \ + $(MSWDIR)\$D\notebook.obj \ + $(OLEDIR)\$D\oleutils.obj \ + $(MSWDIR)\$D\ownerdrw.obj \ + $(MSWDIR)\$D\palette.obj \ + $(MSWDIR)\$D\pen.obj \ + $(MSWDIR)\$D\penwin.obj \ + $(MSWDIR)\$D\printdlg.obj \ + $(MSWDIR)\$D\printwin.obj \ + $(MSWDIR)\$D\radiobox.obj \ + $(MSWDIR)\$D\radiobut.obj \ + $(MSWDIR)\$D\regconf.obj \ + $(MSWDIR)\$D\region.obj \ + $(MSWDIR)\$D\registry.obj \ + $(MSWDIR)\$D\scrolbar.obj \ + $(MSWDIR)\$D\settings.obj \ + $(MSWDIR)\$D\slider95.obj \ + $(MSWDIR)\$D\snglinst.obj \ + $(MSWDIR)\$D\spinbutt.obj \ + $(MSWDIR)\$D\spinctrl.obj \ + $(MSWDIR)\$D\statbmp.obj \ + $(MSWDIR)\$D\statbox.obj \ + $(MSWDIR)\$D\statbr95.obj \ + $(MSWDIR)\$D\statline.obj \ + $(MSWDIR)\$D\stattext.obj \ + $(MSWDIR)\$D\tabctrl.obj \ + $(MSWDIR)\$D\taskbar.obj \ + $(MSWDIR)\$D\tbar95.obj \ + $(MSWDIR)\$D\textctrl.obj \ + $(MSWDIR)\$D\tglbtn.obj \ + $(MSWDIR)\$D\thread.obj \ + $(MSWDIR)\$D\timer.obj \ + $(MSWDIR)\$D\tooltip.obj \ + $(MSWDIR)\$D\treectrl.obj \ + $(MSWDIR)\$D\utils.obj \ + $(MSWDIR)\$D\utilsexc.obj \ + $(OLEDIR)\$D\uuid.obj \ + $(MSWDIR)\$D\wave.obj \ + $(MSWDIR)\$D\window.obj + +HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \ + $(HTMLDIR)\$D\helpdata.obj \ + $(HTMLDIR)\$D\helpfrm.obj \ + $(HTMLDIR)\$D\htmlcell.obj \ + $(HTMLDIR)\$D\htmlfilt.obj \ + $(HTMLDIR)\$D\htmlpars.obj \ + $(HTMLDIR)\$D\htmltag.obj \ + $(HTMLDIR)\$D\htmlwin.obj \ + $(HTMLDIR)\$D\htmprint.obj \ + $(HTMLDIR)\$D\m_dflist.obj \ + $(HTMLDIR)\$D\m_fonts.obj \ + $(HTMLDIR)\$D\m_hline.obj \ + $(HTMLDIR)\$D\m_image.obj \ + $(HTMLDIR)\$D\m_layout.obj \ + $(HTMLDIR)\$D\m_links.obj \ + $(HTMLDIR)\$D\m_list.obj \ + $(HTMLDIR)\$D\m_meta.obj \ + $(HTMLDIR)\$D\m_pre.obj \ + $(HTMLDIR)\$D\m_tables.obj \ + $(HTMLDIR)\$D\winpars.obj # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc. @@ -562,20 +562,20 @@ $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\treectrl.obj /c /Tp $(MSWDIR)\treectrl.cpp $(CPPFLAGS2) /Od /Fo$(HTMLDIR)\$D\helpfrm.obj /c /Tp $(HTMLDIR)\helpfrm.cpp << -..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c +$(COMMDIR)\$D\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c cl @<< -$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ +$(CPPFLAGS2) /c $(COMMDIR)\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ << -..\common\y_tab.c: ..\common\dosyacc.c - copy "..\common"\dosyacc.c "..\common"\y_tab.c +$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c + copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c -..\common\lex_yy.c: ..\common\doslex.c - copy "..\common"\doslex.c "..\common"\lex_yy.c +$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c + copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c $(OBJECTS): $(WXDIR)/include/wx/setup.h -..\common\$D\unzip.obj: ..\common\unzip.c +$(COMMDIR)\$D\unzip.obj: $(COMMDIR)\unzip.c cl @<< $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@ << diff --git a/src/msw/makefile.wat b/src/msw/makefile.wat index f2c59e8..ceadd6f 100644 --- a/src/msw/makefile.wat +++ b/src/msw/makefile.wat @@ -1,6 +1,6 @@ #!/binb/wmake.exe -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T! # @@ -83,7 +83,6 @@ NONESSENTIALOBJS= accel.obj & helpext.obj & helphtml.obj & helpwxht.obj & - helpxlp.obj & imaglist.obj & listctrl.obj & msgdlgg.obj & @@ -172,7 +171,6 @@ COMMONOBJS = & objstrm.obj & odbc.obj & paper.obj & - popupcmn.obj & prntbase.obj & process.obj & protocol.obj & @@ -189,6 +187,7 @@ COMMONOBJS = & strconv.obj & stream.obj & string.obj & + sysopt.obj & tbarbase.obj & textcmn.obj & textfile.obj & @@ -247,6 +246,7 @@ MSWOBJS = accel.obj & dropsrc.obj & droptgt.obj & enhmeta.obj & + evtloop.obj & filedlg.obj & font.obj & fontdlg.obj & @@ -472,6 +472,9 @@ droptgt.obj: $(OLEDIR)\droptgt.cpp enhmeta.obj: $(MSWDIR)\enhmeta.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< +evtloop.obj: $(MSWDIR)\evtloop.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + filedlg.obj: $(MSWDIR)\filedlg.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< @@ -915,9 +918,6 @@ odbc.obj: $(COMMDIR)\odbc.cpp paper.obj: $(COMMDIR)\paper.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< -popupcmn.obj: $(COMMDIR)\popupcmn.cpp - *$(CCC) $(CPPFLAGS) $(IFLAGS) $< - prntbase.obj: $(COMMDIR)\prntbase.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< @@ -966,6 +966,9 @@ stream.obj: $(COMMDIR)\stream.cpp string.obj: $(COMMDIR)\string.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< +sysopt.obj: $(COMMDIR)\sysopt.cpp + *$(CCC) $(CPPFLAGS) $(IFLAGS) $< + tbarbase.obj: $(COMMDIR)\tbarbase.cpp *$(CCC) $(CPPFLAGS) $(IFLAGS) $< diff --git a/src/msw/settings.cpp b/src/msw/settings.cpp index 9c52e55..360e8a2 100644 --- a/src/msw/settings.cpp +++ b/src/msw/settings.cpp @@ -57,9 +57,6 @@ public: private: DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule) - - static wxArrayString sm_optionNames; - static wxArrayString sm_optionValues; }; // ---------------------------------------------------------------------------- @@ -78,9 +75,6 @@ static wxFont *gs_fontDefault = NULL; IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule) -wxArrayString wxSystemSettingsModule::sm_optionNames; -wxArrayString wxSystemSettingsModule::sm_optionValues; - bool wxSystemSettingsModule::OnInit() { return TRUE; @@ -88,9 +82,8 @@ bool wxSystemSettingsModule::OnInit() void wxSystemSettingsModule::OnExit() { - sm_optionNames.Clear(); - sm_optionValues.Clear(); delete gs_fontDefault; + gs_fontDefault = NULL; } // ---------------------------------------------------------------------------- @@ -274,45 +267,3 @@ int wxSystemSettings::GetSystemMetric(int index) // __WXMICROWIN__ } -// Option functions (arbitrary name/value mapping) -void wxSystemSettings::SetOption(const wxString& name, const wxString& value) -{ - int idx = wxSystemSettingsModule::sm_optionNames.Index(name, FALSE); - if (idx == wxNOT_FOUND) - { - wxSystemSettingsModule::sm_optionNames.Add(name); - wxSystemSettingsModule::sm_optionValues.Add(value); - } - else - { - wxSystemSettingsModule::sm_optionNames[idx] = name; - wxSystemSettingsModule::sm_optionValues[idx] = value; - } -} - -void wxSystemSettings::SetOption(const wxString& name, int value) -{ - wxString valStr; - valStr.Printf(wxT("%d"), value); - SetOption(name, valStr); -} - -wxString wxSystemSettings::GetOption(const wxString& name) -{ - int idx = wxSystemSettingsModule::sm_optionNames.Index(name, FALSE); - if (idx == wxNOT_FOUND) - return wxEmptyString; - else - return wxSystemSettingsModule::sm_optionValues[idx]; -} - -int wxSystemSettings::GetOptionInt(const wxString& name) -{ - return wxAtoi(GetOption(name)); -} - -bool wxSystemSettings::HasOption(const wxString& name) -{ - return (wxSystemSettingsModule::sm_optionNames.Index(name, FALSE) != wxNOT_FOUND); -} - diff --git a/src/os2/dcprint.cpp b/src/os2/dcprint.cpp index 6aa9942..77a742c 100644 --- a/src/os2/dcprint.cpp +++ b/src/os2/dcprint.cpp @@ -373,6 +373,8 @@ bool wxPrinterDC::DoBlit( , wxCoord vYsrc , int nRop , bool bUseMask +, wxCoord xsrcMask +, wxCoord ysrcMask ) { bool bSuccess = TRUE; diff --git a/src/os2/files.lst b/src/os2/files.lst index f64ed15..bb0c850 100644 --- a/src/os2/files.lst +++ b/src/os2/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 22:45, 2001/05/20 +# This file was automatically generated by tmake at 10:33, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE OS2.T! ALL_SOURCES = \ generic/busyinfo.cpp \ @@ -9,11 +9,11 @@ ALL_SOURCES = \ generic/dcpsg.cpp \ generic/dirctrlg.cpp \ generic/grid.cpp \ + generic/gridctrl.cpp \ generic/gridsel.cpp \ generic/helpext.cpp \ generic/helphtml.cpp \ generic/helpwxht.cpp \ - generic/helpxlp.cpp \ generic/imaglist.cpp \ generic/laywin.cpp \ generic/listctrl.cpp \ @@ -28,7 +28,8 @@ ALL_SOURCES = \ generic/propform.cpp \ generic/proplist.cpp \ generic/sashwin.cpp \ - generic/scrolwin.cpp \ + generic/scrlwing.cpp \ + generic/spinctlg.cpp \ generic/splash.cpp \ generic/splitter.cpp \ generic/statusbr.cpp \ @@ -43,6 +44,7 @@ ALL_SOURCES = \ common/choiccmn.cpp \ common/clipcmn.cpp \ common/cmdline.cpp \ + common/cmdproc.cpp \ common/cmndata.cpp \ common/config.cpp \ common/cshelp.cpp \ @@ -51,6 +53,7 @@ ALL_SOURCES = \ common/datetime.cpp \ common/datstrm.cpp \ common/db.cpp \ + common/dbgrid.cpp \ common/dbtable.cpp \ common/dcbase.cpp \ common/dircmn.cpp \ @@ -78,6 +81,7 @@ ALL_SOURCES = \ common/fs_mem.cpp \ common/fs_zip.cpp \ common/ftp.cpp \ + common/gaugecmn.cpp \ common/gdicmn.cpp \ common/geometry.cpp \ common/gifdecod.cpp \ @@ -107,6 +111,7 @@ ALL_SOURCES = \ common/mimecmn.cpp \ common/module.cpp \ common/mstream.cpp \ + common/nbkbase.cpp \ common/object.cpp \ common/objstrm.cpp \ common/paper.cpp \ @@ -114,6 +119,7 @@ ALL_SOURCES = \ common/process.cpp \ common/protocol.cpp \ common/quantize.cpp \ + common/radiocmn.cpp \ common/resource.cpp \ common/sckaddr.cpp \ common/sckfile.cpp \ @@ -125,6 +131,7 @@ ALL_SOURCES = \ common/strconv.cpp \ common/stream.cpp \ common/string.cpp \ + common/sysopt.cpp \ common/tbarbase.cpp \ common/textcmn.cpp \ common/textfile.cpp \ @@ -259,10 +266,12 @@ ALL_HEADERS = \ caret.h \ checkbox.h \ checklst.h \ + chkconf.h \ choicdlg.h \ choice.h \ clipbrd.h \ cmdline.h \ + cmdproc.cpp \ cmndata.h \ colordlg.h \ colour.h \ @@ -279,6 +288,8 @@ ALL_HEADERS = \ datetime.inl \ datstrm.h \ db.h \ + dbgrid.h \ + dbkeyg.h \ dbtable.h \ dc.h \ dcclient.h \ @@ -326,6 +337,7 @@ ALL_HEADERS = \ gifdecod.h \ glcanvas.h \ grid.h \ + gridctrl.h \ gsocket.h \ hash.h \ help.h \ @@ -333,7 +345,6 @@ ALL_HEADERS = \ helpchm.h \ helphtml.h \ helpwin.h \ - helpxlp.h \ icon.h \ imagbmp.h \ image.h \ @@ -380,6 +391,7 @@ ALL_HEADERS = \ panel.h \ paper.h \ pen.h \ + popupwin.h \ print.h \ printdlg.h \ prntbase.h \ @@ -403,11 +415,13 @@ ALL_HEADERS = \ setup.h \ sizer.h \ slider.h \ + snglinst.h \ socket.h \ spinbutt.h \ spinctrl.h \ splash.h \ splitter.h \ + stack.h \ statbmp.h \ statbox.h \ statline.h \ @@ -416,6 +430,7 @@ ALL_HEADERS = \ strconv.h \ stream.h \ string.h \ + sysopt.h \ tab.h \ tabctrl.h \ taskbar.h \ @@ -443,6 +458,7 @@ ALL_HEADERS = \ validate.h \ valtext.h \ variant.h \ + vector.h \ version.h \ wave.h \ wfstream.h \ @@ -531,6 +547,7 @@ ALL_HEADERS = \ os2/tooltip.h \ os2/wave.h \ os2/window.h \ + generic/accel.h \ generic/calctrl.h \ generic/caret.h \ generic/choicdgg.h \ @@ -542,11 +559,11 @@ ALL_HEADERS = \ generic/filedlgg.h \ generic/fontdlgg.h \ generic/grid.h \ + generic/gridctrl.h \ generic/gridg.h \ generic/helpext.h \ generic/helphtml.h \ generic/helpwxht.h \ - generic/helpxlp.h \ generic/imaglist.h \ generic/laywin.h \ generic/listctrl.h \ @@ -590,6 +607,7 @@ COMMONOBJS = \ choiccmn.o \ clipcmn.o \ cmdline.o \ + cmdproc.o \ cmndata.o \ config.o \ cshelp.o \ @@ -598,6 +616,7 @@ COMMONOBJS = \ datetime.o \ datstrm.o \ db.o \ + dbgrid.o \ dbtable.o \ dcbase.o \ dircmn.o \ @@ -625,6 +644,7 @@ COMMONOBJS = \ fs_mem.o \ fs_zip.o \ ftp.o \ + gaugecmn.o \ gdicmn.o \ geometry.o \ gifdecod.o \ @@ -654,6 +674,7 @@ COMMONOBJS = \ mimecmn.o \ module.o \ mstream.o \ + nbkbase.o \ object.o \ objstrm.o \ paper.o \ @@ -661,6 +682,7 @@ COMMONOBJS = \ process.o \ protocol.o \ quantize.o \ + radiocmn.o \ resource.o \ sckaddr.o \ sckfile.o \ @@ -672,6 +694,7 @@ COMMONOBJS = \ strconv.o \ stream.o \ string.o \ + sysopt.o \ tbarbase.o \ textcmn.o \ textfile.o \ @@ -700,6 +723,7 @@ COMMONDEPS = \ choiccmn.d \ clipcmn.d \ cmdline.d \ + cmdproc.d \ cmndata.d \ config.d \ cshelp.d \ @@ -708,6 +732,7 @@ COMMONDEPS = \ datetime.d \ datstrm.d \ db.d \ + dbgrid.d \ dbtable.d \ dcbase.d \ dircmn.d \ @@ -735,6 +760,7 @@ COMMONDEPS = \ fs_mem.d \ fs_zip.d \ ftp.d \ + gaugecmn.d \ gdicmn.d \ geometry.d \ gifdecod.d \ @@ -764,6 +790,7 @@ COMMONDEPS = \ mimecmn.d \ module.d \ mstream.d \ + nbkbase.d \ object.d \ objstrm.d \ paper.d \ @@ -771,6 +798,7 @@ COMMONDEPS = \ process.d \ protocol.d \ quantize.d \ + radiocmn.d \ resource.d \ sckaddr.d \ sckfile.d \ @@ -782,6 +810,7 @@ COMMONDEPS = \ strconv.d \ stream.d \ string.d \ + sysopt.d \ tbarbase.d \ textcmn.d \ textfile.d \ @@ -813,11 +842,11 @@ GENERICOBJS = \ dcpsg.o \ dirctrlg.o \ grid.o \ + gridctrl.o \ gridsel.o \ helpext.o \ helphtml.o \ helpwxht.o \ - helpxlp.o \ imaglist.o \ laywin.o \ listctrl.o \ @@ -832,7 +861,8 @@ GENERICOBJS = \ propform.o \ proplist.o \ sashwin.o \ - scrolwin.o \ + scrlwing.o \ + spinctlg.o \ splash.o \ splitter.o \ statusbr.o \ @@ -853,11 +883,11 @@ GENERICDEPS = \ dcpsg.d \ dirctrlg.d \ grid.d \ + gridctrl.d \ gridsel.d \ helpext.d \ helphtml.d \ helpwxht.d \ - helpxlp.d \ imaglist.d \ laywin.d \ listctrl.d \ @@ -872,7 +902,8 @@ GENERICDEPS = \ propform.d \ proplist.d \ sashwin.d \ - scrolwin.d \ + scrlwing.d \ + spinctlg.d \ splash.d \ splitter.d \ statusbr.d \ diff --git a/src/png/PngVC.dsp b/src/png/PngVC.dsp index 6c43ab7..5834855 100644 --- a/src/png/PngVC.dsp +++ b/src/png/PngVC.dsp @@ -23,8 +23,8 @@ CFG=png - Win32 Debug # Begin Project # PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" +# PROP Scc_ProjName "PngVC" +# PROP Scc_LocalPath "." CPP=cl.exe RSC=rc.exe diff --git a/src/tiff/TiffVC.dsp b/src/tiff/TiffVC.dsp index 3d918dc..a22b1c2 100644 --- a/src/tiff/TiffVC.dsp +++ b/src/tiff/TiffVC.dsp @@ -8,12 +8,12 @@ CFG=tiff - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "tiff.mak". +!MESSAGE NMAKE /f "TiffVC.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "tiff.mak" CFG="tiff - Win32 Debug" +!MESSAGE NMAKE /f "TiffVC.mak" CFG="tiff - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -23,8 +23,8 @@ CFG=tiff - Win32 Debug # Begin Project # PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" +# PROP Scc_ProjName "TiffVC" +# PROP Scc_LocalPath "." CPP=cl.exe RSC=rc.exe diff --git a/src/univ/files.lst b/src/univ/files.lst index 876773c..8fde28a 100644 --- a/src/univ/files.lst +++ b/src/univ/files.lst @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 18:07, 2001/07/04 +# This file was automatically generated by tmake at 10:32, 2001/07/11 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T! UNIVOBJS = \ bmpbuttn.o \ @@ -7,16 +7,13 @@ UNIVOBJS = \ checklst.o \ colschem.o \ control.o \ - combobox.o \ - evtloop.o \ framuniv.o \ gauge.o \ gtk.o \ inphand.o \ listbox.o \ - menu.o \ + menu.o \ notebook.o \ - popupcmn.o \ radiobox.o \ radiobut.o \ renderer.o \ @@ -46,6 +43,7 @@ UNIVDEPS = \ gtk.d \ inphand.d \ listbox.d \ + menu.d \ notebook.d \ radiobox.d \ radiobut.d \ diff --git a/src/wxvc.dsp b/src/wxvc.dsp index 8f1e5b3..2ea191a 100644 --- a/src/wxvc.dsp +++ b/src/wxvc.dsp @@ -23,8 +23,8 @@ CFG=wxvc - Win32 Debug # Begin Project # PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" +# PROP Scc_ProjName "wxvc" +# PROP Scc_LocalPath ".." CPP=cl.exe RSC=rc.exe @@ -456,6 +456,10 @@ SOURCE=.\common\string.cpp # End Source File # Begin Source File +SOURCE=.\common\sysopt.cpp +# End Source File +# Begin Source File + SOURCE=.\common\tbarbase.cpp # End Source File # Begin Source File diff --git a/src/wxvc_dll.dsp b/src/wxvc_dll.dsp index c1696f1..99b716f 100644 --- a/src/wxvc_dll.dsp +++ b/src/wxvc_dll.dsp @@ -471,6 +471,10 @@ SOURCE=.\common\string.cpp # End Source File # Begin Source File +SOURCE=.\common\sysopt.cpp +# End Source File +# Begin Source File + SOURCE=.\common\tbarbase.cpp # End Source File # Begin Source File diff --git a/src/wxvc_universal.dsp b/src/wxvc_universal.dsp index 525f26d..4fe3d4f 100644 --- a/src/wxvc_universal.dsp +++ b/src/wxvc_universal.dsp @@ -464,6 +464,10 @@ SOURCE=.\common\string.cpp # End Source File # Begin Source File +SOURCE=.\common\sysopt.cpp +# End Source File +# Begin Source File + SOURCE=.\common\tbarbase.cpp # End Source File # Begin Source File diff --git a/src/zlib/ZlibVC.dsp b/src/zlib/ZlibVC.dsp index de668c1..b2c5ff4 100644 --- a/src/zlib/ZlibVC.dsp +++ b/src/zlib/ZlibVC.dsp @@ -8,12 +8,12 @@ CFG=zlib - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE -!MESSAGE NMAKE /f "zlib.mak". +!MESSAGE NMAKE /f "ZlibVC.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE -!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 Debug" +!MESSAGE NMAKE /f "ZlibVC.mak" CFG="zlib - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE @@ -23,8 +23,8 @@ CFG=zlib - Win32 Debug # Begin Project # PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" +# PROP Scc_ProjName "ZlibVC" +# PROP Scc_LocalPath "." CPP=cl.exe RSC=rc.exe -- 2.7.4