]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxUSE_DC_CACHEING and associated code to wxMSW
authorJulian Smart <julian@anthemion.co.uk>
Wed, 11 Jul 2001 10:07:06 +0000 (10:07 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Wed, 11 Jul 2001 10:07:06 +0000 (10:07 +0000)
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

58 files changed:
configure.in
contrib/samples/plot/PlotVC.dsp
distrib/msw/tmake/filelist.txt
docs/latex/wx/category.tex
docs/latex/wx/classes.tex
docs/latex/wx/dc.tex
docs/latex/wx/sysopt.tex [new file with mode: 0644]
include/wx/dc.h
include/wx/dynarray.h
include/wx/gtk/dcclient.h
include/wx/gtk1/dcclient.h
include/wx/mac/dc.h
include/wx/mac/setup.h
include/wx/mgl/dc.h
include/wx/motif/dcclient.h
include/wx/msw/dc.h
include/wx/msw/dcprint.h
include/wx/msw/settings.h
include/wx/msw/setup0.h
include/wx/os2/dc.h
include/wx/os2/dcprint.h
include/wx/sysopt.h [new file with mode: 0644]
include/wx/univ/setup.h
samples/dragimag/dragimag.cpp
samples/dragimag/dragimag.h
src/common/dcbase.cpp
src/common/sysopt.cpp [new file with mode: 0644]
src/gtk/dcclient.cpp
src/gtk/files.lst
src/gtk1/dcclient.cpp
src/gtk1/files.lst
src/jpeg/JpegVC.dsp
src/mac/carbon/dc.cpp
src/mac/dc.cpp
src/mgl/dc.cpp
src/motif/dcclient.cpp
src/motif/files.lst
src/msw/dc.cpp
src/msw/dcprint.cpp
src/msw/files.lst
src/msw/makebase.vc
src/msw/makefile.b32
src/msw/makefile.bcc
src/msw/makefile.dos
src/msw/makefile.g95
src/msw/makefile.sc
src/msw/makefile.vc
src/msw/makefile.wat
src/msw/settings.cpp
src/os2/dcprint.cpp
src/os2/files.lst
src/png/PngVC.dsp
src/tiff/TiffVC.dsp
src/univ/files.lst
src/wxvc.dsp
src/wxvc_dll.dsp
src/wxvc_universal.dsp
src/zlib/ZlibVC.dsp

index b211a741c8e605c97b3cdde0e96487b497d1d7d9..97948332e6554099a620700ce135cbd1f8890d4b 100644 (file)
@@ -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"
index 6b598fc0c00c4e5762c0dc7d191166bcc1d3ee80..7df87a60be7db26ba6a9fbf1542c6acc26a64b06 100644 (file)
@@ -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
index 7679fa055590e9ae7018719522b4f0c77d9a0861..645fede07ea95c608a5d6d7e0517353f82a57118 100644 (file)
@@ -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
index 7e04c61f8600a104e71963a0a0fd42279ec285e3..afe09140fa277588a2e256f416fd1e662e4b536a 100644 (file)
@@ -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}
index 719ae7878c7d713a298e4ee835ae90c3d40f4fc3..4afa7b724e6e93394805f2431fec68710099c19f 100644 (file)
 \input propslv.tex
 \input tokenizr.tex
 \input sysclevt.tex
+\input sysopt.tex
 \input settings.tex
 \input tab.tex
 \input tabctrl.tex
index d77950b563509b28553d9384d3c93511cad2997e..d8e91ef275679303661423216c19b74816b35810 100644 (file)
@@ -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 (file)
index 0000000..b04265f
--- /dev/null
@@ -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}
+
+<wx/sysopt.h>
+
+\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}
+
index b856ef7f8327506cece2cd7907dc41378af6c6d6..8dc21ff6f0e380cecd4c97efe0dc7b10fadebd9e 100644 (file)
@@ -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
 
index f7782817b5fa0f1af1a404ba1c64728a8356a2cc..7e064dfc0b725b47a427797ef6b47f3c8df9ec5f 100644 (file)
@@ -458,7 +458,7 @@ WX_DEFINE_EXPORTED_ARRAY(void *, wxArrayPtrVoid);
 //@}
 
 // -----------------------------------------------------------------------------
-// convinience macros
+// convenience macros
 // -----------------------------------------------------------------------------
 
 // append all element of one array to another one
index e23af8e1cd4a9e24142c89708c93cbe385a3980d..77331532da0b56aed7aef283c1bc059fe882a986 100644 (file)
@@ -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,
index e23af8e1cd4a9e24142c89708c93cbe385a3980d..77331532da0b56aed7aef283c1bc059fe882a986 100644 (file)
@@ -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,
index b98087e5d76f3abf9d4e532047aa11a0a527fef6..fe4ebd4b7dd7e863d514ea7bf51ec9867c586221 100644 (file)
@@ -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
index 3cc43b99264135588dd33e8179283592181f9dec..a9ca4ee1bce18b87ff290b52bc5138c00fa9fe15 100644 (file)
 // wxMimeTypesManager class
 #define wxUSE_MIMETYPE 1
 
+// wxSystemOptions class
+#define wxUSE_SYSTEM_OPTIONS 1
+
 // ----------------------------------------------------------------------------
 // Individual GUI controls
 // ----------------------------------------------------------------------------
 // wxValidator class and related methods
 #define wxUSE_VALIDATORS    1
 
+// wxDC cacheing implementation
+#define wxUSE_DC_CACHEING 0
+
 // ----------------------------------------------------------------------------
 // common dialogs
 // ----------------------------------------------------------------------------
index 578d46619e1452e6e8281762368aac10c58e6069..5d4b1c1be11d3869886178d1cadddbbfdcce2656 100644 (file)
@@ -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
index 40fdbbfa56baddbaf1bb069a57f4769f56467860..4ead5fd1c11e3cc62d58be41789b9560fd142898 100644 (file)
@@ -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,
index 9acfd0cad0117578e288cb980aeaa114e23592ef..50e310c902f13e9d1a0a79530a9bd715b2697433 100644 (file)
 
 #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)
 };
 
index d9531b3f7d53419c0a92a491e4fc0fbe96fead8f..245a6a49be67725fd930c491004d28a4e3f9340f 100644 (file)
@@ -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();
index a940901740b5b1bba58ac75fc1c1be34673ad5c3..6402bc29e50147544183638930ab2fcd18290532 100644 (file)
@@ -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
index 3515b96c27528f15d2ba57f733acc5a99b6d3367..d398e603852beae225929409eb6ad9e43483b8cb 100644 (file)
 // wxMimeTypesManager class
 #define wxUSE_MIMETYPE 1
 
+// wxSystemOptions class
+#define wxUSE_SYSTEM_OPTIONS 1
+
 // ----------------------------------------------------------------------------
 // Individual GUI controls
 // ----------------------------------------------------------------------------
 // wxValidator class and related methods
 #define wxUSE_VALIDATORS 1
 
+// wxDC cacheing implementation
+#define wxUSE_DC_CACHEING 1
+
 // ----------------------------------------------------------------------------
 // common dialogs
 // ----------------------------------------------------------------------------
index 85d37c6593d2d496f5eab3bc720cdb07f8f7f314..26c20594f70281758f82c8191249a39eae8e2d40 100644 (file)
@@ -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);
index d924f0550a850097d57eadfd49c1ae2d56b70f6b..fef20ef34760aea0185cc94e89f6257ec4c98300 100644 (file)
@@ -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/sysopt.h b/include/wx/sysopt.h
new file mode 100644 (file)
index 0000000..efc394e
--- /dev/null
@@ -0,0 +1,44 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        sysopt.h
+// Purpose:     wxSystemOptions
+// Author:      Julian Smart
+// Modified by:
+// Created:     2001-07-10
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart
+// Licence:    wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_SYSOPT_H_
+#define _WX_SYSOPT_H_
+
+#include "wx/object.h"
+
+#if wxUSE_SYSTEM_OPTIONS
+
+// ----------------------------------------------------------------------------
+// Enables an application to influence the wxWindows implementation
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxSystemOptions : public wxObject
+{
+public:
+    wxSystemOptions() { }
+
+    // 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
+
+
+#endif
+    // _WX_SYSOPT_H_
+
index 462c01354eba4e3898fb6c2144945ddfbb76ba91..85a6470a80d439dda718a735852936de841d5906 100644 (file)
@@ -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
 #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
 #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
 #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
index 7be138f0c1a92b177aa75afb1ff50af9d8fb1470..43a115629fd72d85f28b25ec5c73bc4fe4576c42 100644 (file)
@@ -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();
index bba436184e012217b8ed73961884ab877130fc0e..61958342f29af34973be0968336a2153badf614e 100644 (file)
@@ -46,6 +46,7 @@ class MyApp: public wxApp
 public:
     MyApp();
     virtual bool OnInit();
+    virtual int OnExit();
 
 //// Operations
 
index a0214a5cffac084d47e6724f49c5942533e49cac..ae54f14f91d51276c895e8721e552f61b25608e9 100644 (file)
@@ -32,6 +32,8 @@
 
 #include <math.h>
 
+bool wxDCBase::sm_cacheing = FALSE;
+
 // ============================================================================
 // implementation
 // ============================================================================
diff --git a/src/common/sysopt.cpp b/src/common/sysopt.cpp
new file mode 100644 (file)
index 0000000..c8d4539
--- /dev/null
@@ -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
+
index 8a507fb23addc90696283a0a75cd8edf17801511..f318b34c92a5279e43c30c4dc0ac570b1687b203 100644 (file)
@@ -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;
index 537b5badb183e7036456d10317d7545aa95f2b48..1238199a311ed9dd49d47c169b2bd862dac2cee2 100644 (file)
@@ -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 \
index 8a507fb23addc90696283a0a75cd8edf17801511..f318b34c92a5279e43c30c4dc0ac570b1687b203 100644 (file)
@@ -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;
index 537b5badb183e7036456d10317d7545aa95f2b48..1238199a311ed9dd49d47c169b2bd862dac2cee2 100644 (file)
@@ -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 \
index 9a9fbdc6fe604287e13c38e9936709db8073266e..10e0a452597c666e3f4cc4fe7c76f9db836bcfbf 100644 (file)
@@ -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
 
index acad87440d2c876e6f80bce00e957ce6ddc59faf..f66cf2735707d1f84c08d27210acdf99f6fd80dd 100644 (file)
@@ -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} ;
index acad87440d2c876e6f80bce00e957ce6ddc59faf..f66cf2735707d1f84c08d27210acdf99f6fd80dd 100644 (file)
@@ -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} ;
index ecaa40dc6a74326f5869776559dc3f57b57ef357..e33904e99a15b42549dd65c8c706008eba52edcc 100644 (file)
@@ -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);
 
index 2af3787acc57958d67b11af8bf9bc667e33b72ad..f442f9ebcac12b0f00c4c76cb710c18589204d61 100644 (file)
@@ -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)))
     {
index 63dd6e5e987836540a9fc0aab23ff9fddd515cf6..48ec6741eaab0fb3dd265b4dc75aa7c1bcd8ed92 100644 (file)
@@ -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 \
index 1ed889f3f1eae06384058e959848ecf9cd03cdfd..cae9668ac8e9e93be1e4a81d5f54ea47281da47f 100644 (file)
@@ -40,7 +40,7 @@
     #include "wx/icon.h"
 #endif
 
-#include "wx/settings.h"
+#include "wx/sysopt.h"
 #include "wx/dcprint.h"
 
 #include <string.h>
@@ -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
 
index 63940492182886420bb378b9a2b20839afac58f1..76b581fa9f7a3040fd0bca49de72eeae2ab1814e 100644 (file)
@@ -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;
 
index 1f8f6b056dc65e7bd93131030c21f0d8ba99986e..c64a89ca40ac6e2d556cc9f6f369e8b86ea05afd 100644 (file)
@@ -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 \
index 2479fa8dc7740b23c398cf87b2c9d7c9674402de..8cdba7534fc27986cd28c429acc786f6b46048d9 100644 (file)
@@ -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
index 04d933efbc858cf55ed942e52914b37d9712e81f..f2e8ca2f7bfdfe1c784b437b5fbb2912a354d5b6 100644 (file)
@@ -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)
index 6ca26a58c659f8fc491b58be6b581f3fbd60d408..9aa77429ea95a58cd8c656c5e5347f14568b3327 100644 (file)
@@ -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)
index 296a78c15d4304c0444adb1bce430787c24d7d01..be2f0ab3ea38057fb8e719bb08e4d27e6c2f1af8 100644 (file)
@@ -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)
index c93eb1ae625239d18c61b8c94b12898343703209..4c135f8b8096f71853b962f7a7f62134a6759621 100644 (file)
@@ -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) \
index 63a52568e92af1552453e01d62f98bc3cd909ca7..abb1bcdad0f84ed7a03fc33965fe9a68eefca7e4 100644 (file)
@@ -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 \
index 889657ffd37c4e4add90d2f38646ea229e8d61dc..fdb858d1359a991de50018043decd96187f27621 100644 (file)
@@ -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$@
 <<
index f2c59e80ea489fac20714b3719b0907becf94dcf..ceadd6fa45eeaf6b9bc3b37b162b9857188ef82f 100644 (file)
@@ -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) $<
 
index 9c52e5556967452e1068d127450fa407696648c8..360e8a2fc3c618f9404453a47f05e578dcde3d05 100644 (file)
@@ -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);
-}
-
index 6aa9942d05d70398b509289d301b6f00e7a3de4c..77a742cf6caf984e0614879e32c839681bfef655 100644 (file)
@@ -373,6 +373,8 @@ bool wxPrinterDC::DoBlit(
 , wxCoord                           vYsrc
 , int                               nRop
 , bool                              bUseMask
+, wxCoord                           xsrcMask
+, wxCoord                           ysrcMask
 )
 {
     bool                            bSuccess = TRUE;
index f64ed153b340e00512cb280cd79e68164bd70c64..bb0c850f4207079151185ba6ff844f591c3d7d7b 100644 (file)
@@ -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 \
index 6c43ab7b185cb9307381e84ea3deb82c26129342..5834855ba0ad2f25e4c813b89215ae513da0c352 100644 (file)
@@ -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
 
index 3d918dc9e2d553413e2e7e57d322bf1bb0525947..a22b1c2d60deafd1eab313d63103f1d0fe7e3684 100644 (file)
@@ -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
 
index 876773c449348170e5fcd79807a7f01bda8f3788..8fde28a2cb9921266a1321ba2d979c1413eda05e 100644 (file)
@@ -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 \
index 8f1e5b3132c41cf1746978cfadace2fad301d5b6..2ea191af4777fc66aa8812e2ba813950b155e8dd 100644 (file)
@@ -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
index c1696f10aa2ac6a6ca41a3251797b44b55a3bf83..99b716ffa8c4f48a77206e3584bc847abbebfa5f 100644 (file)
@@ -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
index 525f26d1cc9148d39ae47ed3b6458dc2c641d664..4fe3d4fd1ea45bc52f8a419d0735314e997e32db 100644 (file)
@@ -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
index de668c1bedc18a63590ed68ad9b34f5033e23e8b..b2c5ff42db6cff68c61aab8c3ba242f3adb456c7 100644 (file)
@@ -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