Added wxUSE_DC_CACHEING and associated code to wxMSW

Added EnableCache, CacheEnabled to wxDCBase
Added mask source args to DoBlit, Blit
Added cache testing code to dragimag sample
Added wxSystemOptions, regenerated makefiles


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2001-07-11 10:07:06 +00:00
parent 03147cd08e
commit 0cbff1201a
58 changed files with 1147 additions and 478 deletions

View File

@@ -690,6 +690,7 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_WXTREE=no DEFAULT_wxUSE_WXTREE=no
DEFAULT_wxUSE_METAFILE=no DEFAULT_wxUSE_METAFILE=no
DEFAULT_wxUSE_MIMETYPE=no DEFAULT_wxUSE_MIMETYPE=no
DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
DEFAULT_wxUSE_COMMONDLGS=no DEFAULT_wxUSE_COMMONDLGS=no
DEFAULT_wxUSE_CHOICEDLG=no DEFAULT_wxUSE_CHOICEDLG=no
@@ -843,6 +844,7 @@ else
DEFAULT_wxUSE_WXTREE=yes DEFAULT_wxUSE_WXTREE=yes
DEFAULT_wxUSE_METAFILE=yes DEFAULT_wxUSE_METAFILE=yes
DEFAULT_wxUSE_MIMETYPE=yes DEFAULT_wxUSE_MIMETYPE=yes
DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
DEFAULT_wxUSE_COMMONDLGS=yes DEFAULT_wxUSE_COMMONDLGS=yes
DEFAULT_wxUSE_CHOICEDLG=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(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE) WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE)
WX_ARG_ENABLE(system_options, [ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl "big" options (i.e. those which change a lot of things throughout the library) 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) AC_DEFINE(wxUSE_MIMETYPE)
fi fi
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
fi
if test "$wxUSE_MINIFRAME" = "yes"; then if test "$wxUSE_MINIFRAME" = "yes"; then
AC_DEFINE(wxUSE_MINIFRAME) AC_DEFINE(wxUSE_MINIFRAME)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram" SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"

View File

@@ -169,7 +169,7 @@ SOURCE=.\plot.cpp
SOURCE=.\plot.rc SOURCE=.\plot.rc
# ADD BASE RSC /l 0x809 # ADD BASE RSC /l 0x809
# ADD RSC /l 0x809 /i "..\..\include" # ADD RSC /l 0x809 /i "..\..\..\include"
# End Source File # End Source File
# End Target # End Target
# End Project # End Project

View File

@@ -197,6 +197,7 @@ socket.cpp Common Socket,Base
stream.cpp Common Base stream.cpp Common Base
strconv.cpp Common Base strconv.cpp Common Base
string.cpp Common Base string.cpp Common Base
sysopt.cpp Common Base
tbarbase.cpp Common tbarbase.cpp Common
textcmn.cpp Common textcmn.cpp Common
textfile.cpp Common Base textfile.cpp Common Base
@@ -765,6 +766,7 @@ statusbr.h WXH
strconv.h WXH Base strconv.h WXH Base
stream.h WXH Base stream.h WXH Base
string.h WXH Base string.h WXH Base
sysopt.h WXH Base
tab.h WXH tab.h WXH
tabctrl.h WXH tabctrl.h WXH
taskbar.h WXH taskbar.h WXH

View File

@@ -543,7 +543,8 @@ using any of them in the new programs:
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class} \twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
\twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class} \twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class}
\twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager 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{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class} \twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
\twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding} \twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding}

View File

@@ -283,6 +283,7 @@
\input propslv.tex \input propslv.tex
\input tokenizr.tex \input tokenizr.tex
\input sysclevt.tex \input sysclevt.tex
\input sysopt.tex
\input settings.tex \input settings.tex
\input tab.tex \input tab.tex
\input tabctrl.tex \input tabctrl.tex

View 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}, \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{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 Copy from a source DC to this DC, specifying the destination
coordinates, size of area to copy, source DC, source coordinates, and coordinates, size of area to copy, source DC, source coordinates,
logical function. logical function, whether to use a bitmap mask, and mask source position.
\wxheading{Parameters} \wxheading{Parameters}
@@ -86,7 +86,7 @@ logical function.
\docparam{logicalFunc}{Logical function to use: see \helpref{wxDC::SetLogicalFunction}{wxdcsetlogicalfunction}.} \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 \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} \begin{enumerate}
\item Creates a temporary bitmap and copies the destination area into it. \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, This sequence of operations ensures that the source's transparent area need not be black,
and logical functions are supported. 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} \wxheading{Remarks}
There is partial support for Blit in wxPostScriptDC, under X. 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} \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} \membersection{wxDC::CalcBoundingBox}\label{wxdccalcboundingbox}
\func{void}{CalcBoundingBox}{\param{wxCoord }{x}, \param{wxCoord }{y}} \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. 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} \membersection{wxDC::CrossHair}\label{wxdccrosshair}
\func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}} \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 but it is ignored by wxMSW. Thus, you should avoid using logical functions
with this function in portable programs. 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} \membersection{wxDC::EndDoc}\label{wxdcenddoc}
\func{void}{EndDoc}{\void} \func{void}{EndDoc}{\void}

89
docs/latex/wx/sysopt.tex Normal file
View File

@@ -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}

View File

@@ -274,17 +274,17 @@ public:
bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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, 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, bool Blit(const wxPoint& destPt, const wxSize& sz,
wxDC *source, const wxPoint& srcPt, 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, 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 #if wxUSE_SPLINES
@@ -486,6 +486,16 @@ public:
virtual void SetOptimization(bool WXUNUSED(opt)) { } virtual void SetOptimization(bool WXUNUSED(opt)) { }
virtual bool GetOptimization() { return FALSE; } 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 // bounding box
// ------------ // ------------
@@ -624,7 +634,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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 DoGetSize(int *width, int *height) const = 0;
virtual void DoGetSizeMM(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_clipping:1;
bool m_isInteractive:1; bool m_isInteractive:1;
bool m_isBBoxValid:1; bool m_isBBoxValid:1;
#if wxUSE_DC_CACHEING
static bool sm_cacheing;
#endif
// coordinate system variables // coordinate system variables

View File

@@ -458,7 +458,7 @@ WX_DEFINE_EXPORTED_ARRAY(void *, wxArrayPtrVoid);
//@} //@}
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// convinience macros // convenience macros
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// append all element of one array to another one // append all element of one array to another one

View File

@@ -69,7 +69,7 @@ protected:
virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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 DoDrawText( const wxString &text, wxCoord x, wxCoord y );
virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,

View File

@@ -69,7 +69,7 @@ protected:
virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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 DoDrawText( const wxString &text, wxCoord x, wxCoord y );
virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y, virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,

View File

@@ -213,7 +213,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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() // this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding // because of virtual function hiding

View File

@@ -365,6 +365,9 @@
// wxMimeTypesManager class // wxMimeTypesManager class
#define wxUSE_MIMETYPE 1 #define wxUSE_MIMETYPE 1
// wxSystemOptions class
#define wxUSE_SYSTEM_OPTIONS 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Individual GUI controls // Individual GUI controls
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -542,6 +545,9 @@
// wxValidator class and related methods // wxValidator class and related methods
#define wxUSE_VALIDATORS 1 #define wxUSE_VALIDATORS 1
// wxDC cacheing implementation
#define wxUSE_DC_CACHEING 0
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// common dialogs // common dialogs
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -198,7 +198,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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() // this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding // because of virtual function hiding

View File

@@ -117,7 +117,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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 DoSetClippingRegionAsRegion(const wxRegion& region);
virtual void DoSetClippingRegion(wxCoord x, wxCoord y, virtual void DoSetClippingRegion(wxCoord x, wxCoord y,

View File

@@ -71,6 +71,28 @@
#define wx_round(a) (int)((a)+.5) #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 class WXDLLEXPORT wxDC : public wxDCBase
{ {
public: public:
@@ -141,6 +163,15 @@ public:
// update the internal clip box variables // update the internal clip box variables
void UpdateClipBox(); 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: protected:
virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
int style = wxFLOOD_SURFACE); int style = wxFLOOD_SURFACE);
@@ -176,7 +207,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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() // this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding // because of virtual function hiding
@@ -226,6 +257,11 @@ protected:
WXHFONT m_oldFont; WXHFONT m_oldFont;
WXHPALETTE m_oldPalette; WXHPALETTE m_oldPalette;
#if wxUSE_DC_CACHEING
static wxList sm_bitmapCache;
static wxList sm_dcCache;
#endif
DECLARE_DYNAMIC_CLASS(wxDC) DECLARE_DYNAMIC_CLASS(wxDC)
}; };

View File

@@ -44,7 +44,7 @@ protected:
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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 // init the dc
void Init(); void Init();

View File

@@ -33,15 +33,6 @@ public:
// Get a system metric, e.g. scrollbar size // Get a system metric, e.g. scrollbar size
static int GetSystemMetric(int index); 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 #endif

View File

@@ -383,6 +383,9 @@
// wxMimeTypesManager class // wxMimeTypesManager class
#define wxUSE_MIMETYPE 1 #define wxUSE_MIMETYPE 1
// wxSystemOptions class
#define wxUSE_SYSTEM_OPTIONS 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Individual GUI controls // Individual GUI controls
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -560,6 +563,9 @@
// wxValidator class and related methods // wxValidator class and related methods
#define wxUSE_VALIDATORS 1 #define wxUSE_VALIDATORS 1
// wxDC cacheing implementation
#define wxUSE_DC_CACHEING 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// common dialogs // common dialogs
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -250,6 +250,8 @@ protected:
,wxCoord vYsrc ,wxCoord vYsrc
,int nRop = wxCOPY ,int nRop = wxCOPY
,bool bUseMask = FALSE ,bool bUseMask = FALSE
,wxCoord xsrcMask = -1
,wxCoord ysrcMask = -1
); );
virtual void DoSetClippingRegionAsRegion(const wxRegion& rRegion); virtual void DoSetClippingRegionAsRegion(const wxRegion& rRegion);

View File

@@ -52,6 +52,8 @@ protected:
,wxCoord vYsrc ,wxCoord vYsrc
,int nRop = wxCOPY ,int nRop = wxCOPY
,bool bUseMask = FALSE ,bool bUseMask = FALSE
,wxCoord xsrcMask = -1
,wxCoord ysrcMask = -1
); );
// init the dc // init the dc

44
include/wx/sysopt.h Normal file
View File

@@ -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_

View File

@@ -71,6 +71,7 @@
#define wxUSE_FONTMAP 0 #define wxUSE_FONTMAP 0
#define wxUSE_MIMETYPE 0 #define wxUSE_MIMETYPE 0
#define wxUSE_IMAGE 1 #define wxUSE_IMAGE 1
#define wxUSE_SYSTEM_OPTIONS 1
#define wxUSE_CONTROLS 1 #define wxUSE_CONTROLS 1
#define wxUSE_POPUPWIN 1 #define wxUSE_POPUPWIN 1
@@ -107,6 +108,7 @@
#define wxUSE_GRID 0 #define wxUSE_GRID 0
#define wxUSE_NEW_GRID 0 #define wxUSE_NEW_GRID 0
#define wxUSE_VALIDATORS 0 #define wxUSE_VALIDATORS 0
#define wxUSE_DC_CACHEING 0
#define wxUSE_ACCEL 1 #define wxUSE_ACCEL 1
#define wxUSE_GENERIC_DIALOGS_IN_MSW 0 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0
#define wxUSE_COMMON_DIALOGS 0 #define wxUSE_COMMON_DIALOGS 0
@@ -221,6 +223,7 @@
#define wxUSE_FONTMAP 0 #define wxUSE_FONTMAP 0
#define wxUSE_MIMETYPE 0 #define wxUSE_MIMETYPE 0
#define wxUSE_IMAGE 1 #define wxUSE_IMAGE 1
#define wxUSE_SYSTEM_OPTIONS 1
#define wxUSE_CONTROLS 1 #define wxUSE_CONTROLS 1
#define wxUSE_POPUPWIN 1 #define wxUSE_POPUPWIN 1
@@ -257,6 +260,7 @@
#define wxUSE_GRID 0 #define wxUSE_GRID 0
#define wxUSE_NEW_GRID 0 #define wxUSE_NEW_GRID 0
#define wxUSE_VALIDATORS 0 #define wxUSE_VALIDATORS 0
#define wxUSE_DC_CACHEING 1
#define wxUSE_ACCEL 1 #define wxUSE_ACCEL 1
#define wxUSE_GENERIC_DIALOGS_IN_MSW 0 #define wxUSE_GENERIC_DIALOGS_IN_MSW 0
#define wxUSE_COMMON_DIALOGS 0 #define wxUSE_COMMON_DIALOGS 0

View File

@@ -83,7 +83,6 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
PrepareDC( dc ); PrepareDC( dc );
DrawShapes(dc); DrawShapes(dc);
} }
void MyCanvas::OnEraseBackground(wxEraseEvent& event) void MyCanvas::OnEraseBackground(wxEraseEvent& event)
@@ -102,6 +101,9 @@ void MyCanvas::OnEraseBackground(wxEraseEvent& event)
wxClientDC dc(this); wxClientDC dc(this);
wxGetApp().TileBitmap(rect, dc, wxGetApp().GetBackgroundBitmap()); wxGetApp().TileBitmap(rect, dc, wxGetApp().GetBackgroundBitmap());
} }
#if wxUSE_DC_CACHEING
wxDC::ClearCache();
#endif
} }
else else
event.Skip(); // The official way of doing it event.Skip(); // The official way of doing it
@@ -279,6 +281,9 @@ void MyCanvas::DrawShapes(wxDC& dc)
shape->Draw(dc); shape->Draw(dc);
node = node->Next(); node = node->Next();
} }
#if wxUSE_DC_CACHEING
wxDC::ClearCache();
#endif
} }
void MyCanvas::EraseShape(DragShape* shape, wxDC& dc) void MyCanvas::EraseShape(DragShape* shape, wxDC& dc)
@@ -320,7 +325,6 @@ DragShape* MyCanvas::FindShape(const wxPoint& pt) const
} }
// MyFrame // MyFrame
IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame ) IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
BEGIN_EVENT_TABLE(MyFrame,wxFrame) BEGIN_EVENT_TABLE(MyFrame,wxFrame)
@@ -381,13 +385,18 @@ bool MyApp::OnInit()
wxImage::AddHandler( new wxPNGHandler ); wxImage::AddHandler( new wxPNGHandler );
#endif #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; wxImage image;
if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG)) if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG))
{ {
m_background = image.ConvertToBitmap(); m_background = image.ConvertToBitmap();
} }
MyFrame *frame = new MyFrame(); MyFrame *frame = new MyFrame();
wxString rootName("shape0"); wxString rootName("shape0");
@@ -434,6 +443,14 @@ bool MyApp::OnInit()
return TRUE; return TRUE;
} }
int MyApp::OnExit()
{
#if wxUSE_DC_CACHEING
wxDC::ClearCache();
#endif
return 0;
}
bool MyApp::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap) bool MyApp::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap)
{ {
int w = bitmap.GetWidth(); int w = bitmap.GetWidth();

View File

@@ -46,6 +46,7 @@ class MyApp: public wxApp
public: public:
MyApp(); MyApp();
virtual bool OnInit(); virtual bool OnInit();
virtual int OnExit();
//// Operations //// Operations

View File

@@ -32,6 +32,8 @@
#include <math.h> #include <math.h>
bool wxDCBase::sm_cacheing = FALSE;
// ============================================================================ // ============================================================================
// implementation // implementation
// ============================================================================ // ============================================================================

133
src/common/sysopt.cpp Normal file
View File

@@ -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

View File

@@ -1090,7 +1090,8 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest,
wxDC *source, wxDC *source,
wxCoord xsrc, wxCoord ysrc, wxCoord xsrc, wxCoord ysrc,
int logical_func, int logical_func,
bool useMask ) bool useMask,
wxCoord xsrcMask, wxCoord ysrcMask )
{ {
/* this is the nth try to get this utterly useless function to /* this is the nth try to get this utterly useless function to
work. it now completely ignores the scaling or translation 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 use_bitmap_method = FALSE;
bool is_mono = 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 (srcDC->m_isMemDC)
{ {
if (!memDC->m_selected.Ok()) return FALSE; if (!memDC->m_selected.Ok()) return FALSE;

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \ ALL_SOURCES = \
generic/accel.cpp \ generic/accel.cpp \
@@ -138,6 +138,7 @@ ALL_SOURCES = \
common/strconv.cpp \ common/strconv.cpp \
common/stream.cpp \ common/stream.cpp \
common/string.cpp \ common/string.cpp \
common/sysopt.cpp \
common/tbarbase.cpp \ common/tbarbase.cpp \
common/textcmn.cpp \ common/textcmn.cpp \
common/textfile.cpp \ common/textfile.cpp \
@@ -180,6 +181,7 @@ ALL_SOURCES = \
gtk/dcscreen.cpp \ gtk/dcscreen.cpp \
gtk/dialog.cpp \ gtk/dialog.cpp \
gtk/dnd.cpp \ gtk/dnd.cpp \
gtk/evtloop.cpp \
gtk/font.cpp \ gtk/font.cpp \
gtk/fontdlg.cpp \ gtk/fontdlg.cpp \
gtk/frame.cpp \ gtk/frame.cpp \
@@ -341,7 +343,6 @@ ALL_HEADERS = \
helpchm.h \ helpchm.h \
helphtml.h \ helphtml.h \
helpwin.h \ helpwin.h \
helpxlp.h \
icon.h \ icon.h \
imagbmp.h \ imagbmp.h \
image.h \ image.h \
@@ -388,6 +389,7 @@ ALL_HEADERS = \
panel.h \ panel.h \
paper.h \ paper.h \
pen.h \ pen.h \
popupwin.h \
print.h \ print.h \
printdlg.h \ printdlg.h \
prntbase.h \ prntbase.h \
@@ -417,6 +419,7 @@ ALL_HEADERS = \
spinctrl.h \ spinctrl.h \
splash.h \ splash.h \
splitter.h \ splitter.h \
stack.h \
statbmp.h \ statbmp.h \
statbox.h \ statbox.h \
statline.h \ statline.h \
@@ -425,6 +428,7 @@ ALL_HEADERS = \
strconv.h \ strconv.h \
stream.h \ stream.h \
string.h \ string.h \
sysopt.h \
tab.h \ tab.h \
tabctrl.h \ tabctrl.h \
taskbar.h \ taskbar.h \
@@ -452,6 +456,7 @@ ALL_HEADERS = \
validate.h \ validate.h \
valtext.h \ valtext.h \
variant.h \ variant.h \
vector.h \
version.h \ version.h \
wave.h \ wave.h \
wfstream.h \ wfstream.h \
@@ -507,6 +512,7 @@ ALL_HEADERS = \
gtk/minifram.h \ gtk/minifram.h \
gtk/notebook.h \ gtk/notebook.h \
gtk/pen.h \ gtk/pen.h \
gtk/popupwin.h \
gtk/radiobox.h \ gtk/radiobox.h \
gtk/radiobut.h \ gtk/radiobut.h \
gtk/region.h \ gtk/region.h \
@@ -546,7 +552,6 @@ ALL_HEADERS = \
generic/helpext.h \ generic/helpext.h \
generic/helphtml.h \ generic/helphtml.h \
generic/helpwxht.h \ generic/helpwxht.h \
generic/helpxlp.h \
generic/imaglist.h \ generic/imaglist.h \
generic/laywin.h \ generic/laywin.h \
generic/listctrl.h \ generic/listctrl.h \
@@ -681,6 +686,7 @@ COMMONOBJS = \
strconv.o \ strconv.o \
stream.o \ stream.o \
string.o \ string.o \
sysopt.o \
tbarbase.o \ tbarbase.o \
textcmn.o \ textcmn.o \
textfile.o \ textfile.o \
@@ -796,6 +802,7 @@ COMMONDEPS = \
strconv.d \ strconv.d \
stream.d \ stream.d \
string.d \ string.d \
sysopt.d \
tbarbase.d \ tbarbase.d \
textcmn.d \ textcmn.d \
textfile.d \ textfile.d \
@@ -936,6 +943,7 @@ GUIOBJS = \
dcscreen.o \ dcscreen.o \
dialog.o \ dialog.o \
dnd.o \ dnd.o \
evtloop.o \
font.o \ font.o \
fontdlg.o \ fontdlg.o \
frame.o \ frame.o \
@@ -997,6 +1005,7 @@ GUIDEPS = \
dcscreen.d \ dcscreen.d \
dialog.d \ dialog.d \
dnd.d \ dnd.d \
evtloop.d \
font.d \ font.d \
fontdlg.d \ fontdlg.d \
frame.d \ frame.d \
@@ -1043,6 +1052,7 @@ GUI_LOWLEVEL_OBJS = \
choice.o \ choice.o \
clipbrd.o \ clipbrd.o \
colour.o \ colour.o \
combobox.o \
cursor.o \ cursor.o \
data.o \ data.o \
dataobj.o \ dataobj.o \
@@ -1052,6 +1062,7 @@ GUI_LOWLEVEL_OBJS = \
dcscreen.o \ dcscreen.o \
dialog.o \ dialog.o \
dnd.o \ dnd.o \
evtloop.o \
font.o \ font.o \
frame.o \ frame.o \
gdiobj.o \ gdiobj.o \
@@ -1059,7 +1070,6 @@ GUI_LOWLEVEL_OBJS = \
icon.o \ icon.o \
main.o \ main.o \
pen.o \ pen.o \
popupwin.o \
region.o \ region.o \
settings.o \ settings.o \
timer.o \ timer.o \
@@ -1075,6 +1085,7 @@ GUI_LOWLEVEL_DEPS = \
choice.d \ choice.d \
clipbrd.d \ clipbrd.d \
colour.d \ colour.d \
combobox.d \
cursor.d \ cursor.d \
data.d \ data.d \
dataobj.d \ dataobj.d \
@@ -1084,6 +1095,7 @@ GUI_LOWLEVEL_DEPS = \
dcscreen.d \ dcscreen.d \
dialog.d \ dialog.d \
dnd.d \ dnd.d \
evtloop.d \
font.d \ font.d \
frame.d \ frame.d \
gdiobj.d \ gdiobj.d \
@@ -1091,7 +1103,6 @@ GUI_LOWLEVEL_DEPS = \
icon.d \ icon.d \
main.d \ main.d \
pen.d \ pen.d \
popupwin.d \
region.d \ region.d \
settings.d \ settings.d \
timer.d \ timer.d \

View File

@@ -1090,7 +1090,8 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest,
wxDC *source, wxDC *source,
wxCoord xsrc, wxCoord ysrc, wxCoord xsrc, wxCoord ysrc,
int logical_func, int logical_func,
bool useMask ) bool useMask,
wxCoord xsrcMask, wxCoord ysrcMask )
{ {
/* this is the nth try to get this utterly useless function to /* this is the nth try to get this utterly useless function to
work. it now completely ignores the scaling or translation 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 use_bitmap_method = FALSE;
bool is_mono = 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 (srcDC->m_isMemDC)
{ {
if (!memDC->m_selected.Ok()) return FALSE; if (!memDC->m_selected.Ok()) return FALSE;

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \ ALL_SOURCES = \
generic/accel.cpp \ generic/accel.cpp \
@@ -138,6 +138,7 @@ ALL_SOURCES = \
common/strconv.cpp \ common/strconv.cpp \
common/stream.cpp \ common/stream.cpp \
common/string.cpp \ common/string.cpp \
common/sysopt.cpp \
common/tbarbase.cpp \ common/tbarbase.cpp \
common/textcmn.cpp \ common/textcmn.cpp \
common/textfile.cpp \ common/textfile.cpp \
@@ -180,6 +181,7 @@ ALL_SOURCES = \
gtk/dcscreen.cpp \ gtk/dcscreen.cpp \
gtk/dialog.cpp \ gtk/dialog.cpp \
gtk/dnd.cpp \ gtk/dnd.cpp \
gtk/evtloop.cpp \
gtk/font.cpp \ gtk/font.cpp \
gtk/fontdlg.cpp \ gtk/fontdlg.cpp \
gtk/frame.cpp \ gtk/frame.cpp \
@@ -341,7 +343,6 @@ ALL_HEADERS = \
helpchm.h \ helpchm.h \
helphtml.h \ helphtml.h \
helpwin.h \ helpwin.h \
helpxlp.h \
icon.h \ icon.h \
imagbmp.h \ imagbmp.h \
image.h \ image.h \
@@ -388,6 +389,7 @@ ALL_HEADERS = \
panel.h \ panel.h \
paper.h \ paper.h \
pen.h \ pen.h \
popupwin.h \
print.h \ print.h \
printdlg.h \ printdlg.h \
prntbase.h \ prntbase.h \
@@ -417,6 +419,7 @@ ALL_HEADERS = \
spinctrl.h \ spinctrl.h \
splash.h \ splash.h \
splitter.h \ splitter.h \
stack.h \
statbmp.h \ statbmp.h \
statbox.h \ statbox.h \
statline.h \ statline.h \
@@ -425,6 +428,7 @@ ALL_HEADERS = \
strconv.h \ strconv.h \
stream.h \ stream.h \
string.h \ string.h \
sysopt.h \
tab.h \ tab.h \
tabctrl.h \ tabctrl.h \
taskbar.h \ taskbar.h \
@@ -452,6 +456,7 @@ ALL_HEADERS = \
validate.h \ validate.h \
valtext.h \ valtext.h \
variant.h \ variant.h \
vector.h \
version.h \ version.h \
wave.h \ wave.h \
wfstream.h \ wfstream.h \
@@ -507,6 +512,7 @@ ALL_HEADERS = \
gtk/minifram.h \ gtk/minifram.h \
gtk/notebook.h \ gtk/notebook.h \
gtk/pen.h \ gtk/pen.h \
gtk/popupwin.h \
gtk/radiobox.h \ gtk/radiobox.h \
gtk/radiobut.h \ gtk/radiobut.h \
gtk/region.h \ gtk/region.h \
@@ -546,7 +552,6 @@ ALL_HEADERS = \
generic/helpext.h \ generic/helpext.h \
generic/helphtml.h \ generic/helphtml.h \
generic/helpwxht.h \ generic/helpwxht.h \
generic/helpxlp.h \
generic/imaglist.h \ generic/imaglist.h \
generic/laywin.h \ generic/laywin.h \
generic/listctrl.h \ generic/listctrl.h \
@@ -681,6 +686,7 @@ COMMONOBJS = \
strconv.o \ strconv.o \
stream.o \ stream.o \
string.o \ string.o \
sysopt.o \
tbarbase.o \ tbarbase.o \
textcmn.o \ textcmn.o \
textfile.o \ textfile.o \
@@ -796,6 +802,7 @@ COMMONDEPS = \
strconv.d \ strconv.d \
stream.d \ stream.d \
string.d \ string.d \
sysopt.d \
tbarbase.d \ tbarbase.d \
textcmn.d \ textcmn.d \
textfile.d \ textfile.d \
@@ -936,6 +943,7 @@ GUIOBJS = \
dcscreen.o \ dcscreen.o \
dialog.o \ dialog.o \
dnd.o \ dnd.o \
evtloop.o \
font.o \ font.o \
fontdlg.o \ fontdlg.o \
frame.o \ frame.o \
@@ -997,6 +1005,7 @@ GUIDEPS = \
dcscreen.d \ dcscreen.d \
dialog.d \ dialog.d \
dnd.d \ dnd.d \
evtloop.d \
font.d \ font.d \
fontdlg.d \ fontdlg.d \
frame.d \ frame.d \
@@ -1043,6 +1052,7 @@ GUI_LOWLEVEL_OBJS = \
choice.o \ choice.o \
clipbrd.o \ clipbrd.o \
colour.o \ colour.o \
combobox.o \
cursor.o \ cursor.o \
data.o \ data.o \
dataobj.o \ dataobj.o \
@@ -1052,6 +1062,7 @@ GUI_LOWLEVEL_OBJS = \
dcscreen.o \ dcscreen.o \
dialog.o \ dialog.o \
dnd.o \ dnd.o \
evtloop.o \
font.o \ font.o \
frame.o \ frame.o \
gdiobj.o \ gdiobj.o \
@@ -1059,7 +1070,6 @@ GUI_LOWLEVEL_OBJS = \
icon.o \ icon.o \
main.o \ main.o \
pen.o \ pen.o \
popupwin.o \
region.o \ region.o \
settings.o \ settings.o \
timer.o \ timer.o \
@@ -1075,6 +1085,7 @@ GUI_LOWLEVEL_DEPS = \
choice.d \ choice.d \
clipbrd.d \ clipbrd.d \
colour.d \ colour.d \
combobox.d \
cursor.d \ cursor.d \
data.d \ data.d \
dataobj.d \ dataobj.d \
@@ -1084,6 +1095,7 @@ GUI_LOWLEVEL_DEPS = \
dcscreen.d \ dcscreen.d \
dialog.d \ dialog.d \
dnd.d \ dnd.d \
evtloop.d \
font.d \ font.d \
frame.d \ frame.d \
gdiobj.d \ gdiobj.d \
@@ -1091,7 +1103,6 @@ GUI_LOWLEVEL_DEPS = \
icon.d \ icon.d \
main.d \ main.d \
pen.d \ pen.d \
popupwin.d \
region.d \ region.d \
settings.d \ settings.d \
timer.d \ timer.d \

View File

@@ -8,12 +8,12 @@ CFG=jpeg - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "jpeg.mak". !MESSAGE NMAKE /f "JpegVC.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "jpeg.mak" CFG="jpeg - Win32 Debug" !MESSAGE NMAKE /f "JpegVC.mak" CFG="jpeg - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
@@ -23,8 +23,8 @@ CFG=jpeg - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "JpegVC"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe

View File

@@ -944,12 +944,19 @@ bool wxDC::CanDrawBitmap(void) const
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, 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(Ok(), false, wxT("wxDC::DoBlit Illegal dc"));
wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC")); wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC"));
wxMacPortSetter helper(this) ; 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 ; CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ;
PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ; PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ;
RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ; RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ;

View File

@@ -944,12 +944,19 @@ bool wxDC::CanDrawBitmap(void) const
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, 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(Ok(), false, wxT("wxDC::DoBlit Illegal dc"));
wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC")); wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC"));
wxMacPortSetter helper(this) ; 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 ; CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ;
PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ; PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ;
RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ; RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ;

View File

@@ -1387,7 +1387,8 @@ wxSize wxDC::GetPPI() const
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, 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( Ok(), FALSE, wxT("invalid dc") );
wxCHECK_MSG( source, FALSE, wxT("invalid source dc") ); wxCHECK_MSG( source, FALSE, wxT("invalid source dc") );
@@ -1396,6 +1397,17 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
xsrc = source->LogicalToDeviceX(xsrc); xsrc = source->LogicalToDeviceX(xsrc);
ysrc = source->LogicalToDeviceY(ysrc); 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, ydest);
CalcBoundingBox(xdest + width, ydest + height); CalcBoundingBox(xdest + width, ydest + height);

View 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 // 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, 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" ); wxCHECK_MSG( Ok(), FALSE, "invalid dc" );
@@ -894,6 +895,12 @@ bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord he
double scaleX, scaleY; double scaleX, scaleY;
GetUserScale(& 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 // Sorry, can't scale masks just yet
if (!useMask && (scaleX != 1.0 || scaleY != 1.0) && sourceDC->IsKindOf(CLASSINFO(wxMemoryDC))) if (!useMask && (scaleX != 1.0 || scaleY != 1.0) && sourceDC->IsKindOf(CLASSINFO(wxMemoryDC)))
{ {

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MOTIF.T!
ALL_SOURCES = \ ALL_SOURCES = \
generic/busyinfo.cpp \ generic/busyinfo.cpp \
@@ -17,7 +17,6 @@ ALL_SOURCES = \
generic/helpext.cpp \ generic/helpext.cpp \
generic/helphtml.cpp \ generic/helphtml.cpp \
generic/helpwxht.cpp \ generic/helpwxht.cpp \
generic/helpxlp.cpp \
generic/imaglist.cpp \ generic/imaglist.cpp \
generic/laywin.cpp \ generic/laywin.cpp \
generic/listctrl.cpp \ generic/listctrl.cpp \
@@ -122,7 +121,6 @@ ALL_SOURCES = \
common/object.cpp \ common/object.cpp \
common/objstrm.cpp \ common/objstrm.cpp \
common/paper.cpp \ common/paper.cpp \
common/popupcmn.cpp \
common/prntbase.cpp \ common/prntbase.cpp \
common/process.cpp \ common/process.cpp \
common/protocol.cpp \ common/protocol.cpp \
@@ -139,6 +137,7 @@ ALL_SOURCES = \
common/strconv.cpp \ common/strconv.cpp \
common/stream.cpp \ common/stream.cpp \
common/string.cpp \ common/string.cpp \
common/sysopt.cpp \
common/tbarbase.cpp \ common/tbarbase.cpp \
common/textcmn.cpp \ common/textcmn.cpp \
common/textfile.cpp \ common/textfile.cpp \
@@ -336,7 +335,6 @@ ALL_HEADERS = \
helpchm.h \ helpchm.h \
helphtml.h \ helphtml.h \
helpwin.h \ helpwin.h \
helpxlp.h \
icon.h \ icon.h \
imagbmp.h \ imagbmp.h \
image.h \ image.h \
@@ -383,6 +381,7 @@ ALL_HEADERS = \
panel.h \ panel.h \
paper.h \ paper.h \
pen.h \ pen.h \
popupwin.h \
print.h \ print.h \
printdlg.h \ printdlg.h \
prntbase.h \ prntbase.h \
@@ -412,6 +411,7 @@ ALL_HEADERS = \
spinctrl.h \ spinctrl.h \
splash.h \ splash.h \
splitter.h \ splitter.h \
stack.h \
statbmp.h \ statbmp.h \
statbox.h \ statbox.h \
statline.h \ statline.h \
@@ -420,6 +420,7 @@ ALL_HEADERS = \
strconv.h \ strconv.h \
stream.h \ stream.h \
string.h \ string.h \
sysopt.h \
tab.h \ tab.h \
tabctrl.h \ tabctrl.h \
taskbar.h \ taskbar.h \
@@ -447,6 +448,7 @@ ALL_HEADERS = \
validate.h \ validate.h \
valtext.h \ valtext.h \
variant.h \ variant.h \
vector.h \
version.h \ version.h \
wave.h \ wave.h \
wfstream.h \ wfstream.h \
@@ -540,7 +542,6 @@ ALL_HEADERS = \
generic/helpext.h \ generic/helpext.h \
generic/helphtml.h \ generic/helphtml.h \
generic/helpwxht.h \ generic/helpwxht.h \
generic/helpxlp.h \
generic/imaglist.h \ generic/imaglist.h \
generic/laywin.h \ generic/laywin.h \
generic/listctrl.h \ generic/listctrl.h \
@@ -659,7 +660,6 @@ COMMONOBJS = \
object.o \ object.o \
objstrm.o \ objstrm.o \
paper.o \ paper.o \
popupcmn.o \
prntbase.o \ prntbase.o \
process.o \ process.o \
protocol.o \ protocol.o \
@@ -676,6 +676,7 @@ COMMONOBJS = \
strconv.o \ strconv.o \
stream.o \ stream.o \
string.o \ string.o \
sysopt.o \
tbarbase.o \ tbarbase.o \
textcmn.o \ textcmn.o \
textfile.o \ textfile.o \
@@ -775,7 +776,6 @@ COMMONDEPS = \
object.d \ object.d \
objstrm.d \ objstrm.d \
paper.d \ paper.d \
popupcmn.d \
prntbase.d \ prntbase.d \
process.d \ process.d \
protocol.d \ protocol.d \
@@ -792,6 +792,7 @@ COMMONDEPS = \
strconv.d \ strconv.d \
stream.d \ stream.d \
string.d \ string.d \
sysopt.d \
tbarbase.d \ tbarbase.d \
textcmn.d \ textcmn.d \
textfile.d \ textfile.d \
@@ -831,7 +832,6 @@ GENERICOBJS = \
helpext.o \ helpext.o \
helphtml.o \ helphtml.o \
helpwxht.o \ helpwxht.o \
helpxlp.o \
imaglist.o \ imaglist.o \
laywin.o \ laywin.o \
listctrl.o \ listctrl.o \
@@ -879,7 +879,6 @@ GENERICDEPS = \
helpext.d \ helpext.d \
helphtml.d \ helphtml.d \
helpwxht.d \ helpwxht.d \
helpxlp.d \
imaglist.d \ imaglist.d \
laywin.d \ laywin.d \
listctrl.d \ listctrl.d \

View File

@@ -40,7 +40,7 @@
#include "wx/icon.h" #include "wx/icon.h"
#endif #endif
#include "wx/settings.h" #include "wx/sysopt.h"
#include "wx/dcprint.h" #include "wx/dcprint.h"
#include <string.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 // than the wxWindows fall-back implementation. So we need
// to be able to switch this on and off at runtime. // to be able to switch this on and off at runtime.
bool ok = FALSE; 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()); HDC hdcMem = ::CreateCompatibleDC(GetHdc());
::SelectObject(hdcMem, GetHbitmapOf(bmp)); ::SelectObject(hdcMem, GetHbitmapOf(bmp));
@@ -1609,7 +1611,8 @@ wxCoord wxDCBase::LogicalToDeviceYRel(wxCoord y) const
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc, wxDC *source, wxCoord xsrc, wxCoord ysrc,
int rop, bool useMask) int rop, bool useMask,
wxCoord xsrcMask, wxCoord ysrcMask)
{ {
#ifdef __WXMICROWIN__ #ifdef __WXMICROWIN__
if (!GetHDC()) return FALSE; 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_textground = ::GetTextColor(GetHdc());
COLORREF old_background = ::GetBkColor(GetHdc()); COLORREF old_background = ::GetBkColor(GetHdc());
if (m_textForegroundColour.Ok()) 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 // On some systems, MaskBlt succeeds yet is much much slower
// than the wxWindows fall-back implementation. So we need // than the wxWindows fall-back implementation. So we need
// to be able to switch this on and off at runtime. // 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, success = ::MaskBlt(GetHdc(), xdest, ydest, width, height,
GetHdcOf(*source), xsrc, ysrc, GetHdcOf(*source), xsrc, ysrc,
(HBITMAP)mask->GetMaskBitmap(), xsrc, ysrc, (HBITMAP)mask->GetMaskBitmap(), xsrcMask, ysrcMask,
MAKEROP4(dwRop, DSTCOPY)) != 0; MAKEROP4(dwRop, DSTCOPY)) != 0;
} }
@@ -1689,13 +1699,35 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
#endif // Win32 #endif // Win32
{ {
// Blit bitmap with mask // 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 #if wxUSE_DC_CACHEING
HDC dc_mask = ::CreateCompatibleDC(GetHdcOf(*source)); if (CacheEnabled())
HDC dc_buffer = ::CreateCompatibleDC(GetHdc()); {
HBITMAP buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), width, height); // create a temp buffer bitmap and DCs to access it and the mask
::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap()); wxDCCacheEntry* dcCacheEntry1 = FindDCInCache(NULL, source->GetHDC());
::SelectObject(dc_buffer, buffer_bmap); 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 // copy dest to buffer
if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height, 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 prevBkCol = ::SetBkColor(GetHdc(), RGB(255, 255, 255));
COLORREF prevCol = ::SetTextColor(GetHdc(), RGB(0, 0, 0)); COLORREF prevCol = ::SetTextColor(GetHdc(), RGB(0, 0, 0));
if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height, if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height,
dc_mask, xsrc, ysrc, SRCAND) ) dc_mask, xsrcMask, ysrcMask, SRCAND) )
{ {
wxLogLastError(wxT("BitBlt")); wxLogLastError(wxT("BitBlt"));
} }
@@ -1724,7 +1756,7 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
::SetBkColor(GetHdc(), RGB(0, 0, 0)); ::SetBkColor(GetHdc(), RGB(0, 0, 0));
::SetTextColor(GetHdc(), RGB(255, 255, 255)); ::SetTextColor(GetHdc(), RGB(255, 255, 255));
if ( !::BitBlt(GetHdc(), xdest, ydest, (int)width, (int)height, if ( !::BitBlt(GetHdc(), xdest, ydest, (int)width, (int)height,
dc_mask, xsrc, ysrc, SRCAND) ) dc_mask, xsrcMask, ysrcMask, SRCAND) )
{ {
wxLogLastError(wxT("BitBlt")); wxLogLastError(wxT("BitBlt"));
} }
@@ -1742,10 +1774,16 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
// tidy up temporary DCs and bitmap // tidy up temporary DCs and bitmap
::SelectObject(dc_mask, 0); ::SelectObject(dc_mask, 0);
::DeleteDC(dc_mask);
::SelectObject(dc_buffer, 0); ::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 else // no mask, just BitBlt() it
@@ -1826,4 +1864,128 @@ void wxDC::DoGetTextExtent(const wxString& string, float *x, float *y,
} }
#endif #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

View File

@@ -474,7 +474,8 @@ bool wxPrinterDC::DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height, wxCoord width, wxCoord height,
wxDC *source, wxDC *source,
wxCoord xsrc, wxCoord ysrc, wxCoord xsrc, wxCoord ysrc,
int WXUNUSED(rop), bool useMask) int WXUNUSED(rop), bool useMask,
wxCoord xsrcMask, wxCoord ysrcMask)
{ {
bool success = TRUE; bool success = TRUE;

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MSW.T!
ALL_SOURCES = \ ALL_SOURCES = \
generic/busyinfo.cpp \ generic/busyinfo.cpp \
@@ -105,7 +105,6 @@ ALL_SOURCES = \
common/object.cpp \ common/object.cpp \
common/objstrm.cpp \ common/objstrm.cpp \
common/paper.cpp \ common/paper.cpp \
common/popupcmn.cpp \
common/prntbase.cpp \ common/prntbase.cpp \
common/process.cpp \ common/process.cpp \
common/protocol.cpp \ common/protocol.cpp \
@@ -122,6 +121,7 @@ ALL_SOURCES = \
common/strconv.cpp \ common/strconv.cpp \
common/stream.cpp \ common/stream.cpp \
common/string.cpp \ common/string.cpp \
common/sysopt.cpp \
common/tbarbase.cpp \ common/tbarbase.cpp \
common/textcmn.cpp \ common/textcmn.cpp \
common/textfile.cpp \ common/textfile.cpp \
@@ -179,6 +179,7 @@ ALL_SOURCES = \
msw/ole/dropsrc.cpp \ msw/ole/dropsrc.cpp \
msw/ole/droptgt.cpp \ msw/ole/droptgt.cpp \
msw/enhmeta.cpp \ msw/enhmeta.cpp \
msw/evtloop.cpp \
msw/filedlg.cpp \ msw/filedlg.cpp \
msw/font.cpp \ msw/font.cpp \
msw/fontdlg.cpp \ msw/fontdlg.cpp \
@@ -359,7 +360,6 @@ ALL_HEADERS = \
helpchm.h \ helpchm.h \
helphtml.h \ helphtml.h \
helpwin.h \ helpwin.h \
helpxlp.h \
icon.h \ icon.h \
imagbmp.h \ imagbmp.h \
image.h \ image.h \
@@ -406,6 +406,7 @@ ALL_HEADERS = \
panel.h \ panel.h \
paper.h \ paper.h \
pen.h \ pen.h \
popupwin.h \
print.h \ print.h \
printdlg.h \ printdlg.h \
prntbase.h \ prntbase.h \
@@ -435,6 +436,7 @@ ALL_HEADERS = \
spinctrl.h \ spinctrl.h \
splash.h \ splash.h \
splitter.h \ splitter.h \
stack.h \
statbmp.h \ statbmp.h \
statbox.h \ statbox.h \
statline.h \ statline.h \
@@ -443,6 +445,7 @@ ALL_HEADERS = \
strconv.h \ strconv.h \
stream.h \ stream.h \
string.h \ string.h \
sysopt.h \
tab.h \ tab.h \
tabctrl.h \ tabctrl.h \
taskbar.h \ taskbar.h \
@@ -470,6 +473,7 @@ ALL_HEADERS = \
validate.h \ validate.h \
valtext.h \ valtext.h \
variant.h \ variant.h \
vector.h \
version.h \ version.h \
wave.h \ wave.h \
wfstream.h \ wfstream.h \
@@ -594,7 +598,6 @@ ALL_HEADERS = \
generic/helpext.h \ generic/helpext.h \
generic/helphtml.h \ generic/helphtml.h \
generic/helpwxht.h \ generic/helpwxht.h \
generic/helpxlp.h \
generic/imaglist.h \ generic/imaglist.h \
generic/laywin.h \ generic/laywin.h \
generic/listctrl.h \ generic/listctrl.h \
@@ -713,7 +716,6 @@ COMMONOBJS = \
object.o \ object.o \
objstrm.o \ objstrm.o \
paper.o \ paper.o \
popupcmn.o \
prntbase.o \ prntbase.o \
process.o \ process.o \
protocol.o \ protocol.o \
@@ -730,6 +732,7 @@ COMMONOBJS = \
strconv.o \ strconv.o \
stream.o \ stream.o \
string.o \ string.o \
sysopt.o \
tbarbase.o \ tbarbase.o \
textcmn.o \ textcmn.o \
textfile.o \ textfile.o \
@@ -829,7 +832,6 @@ COMMONDEPS = \
object.d \ object.d \
objstrm.d \ objstrm.d \
paper.d \ paper.d \
popupcmn.d \
prntbase.d \ prntbase.d \
process.d \ process.d \
protocol.d \ protocol.d \
@@ -846,6 +848,7 @@ COMMONDEPS = \
strconv.d \ strconv.d \
stream.d \ stream.d \
string.d \ string.d \
sysopt.d \
tbarbase.d \ tbarbase.d \
textcmn.d \ textcmn.d \
textfile.d \ textfile.d \
@@ -963,6 +966,7 @@ GUIOBJS = \
dirdlg.o \ dirdlg.o \
dragimag.o \ dragimag.o \
enhmeta.o \ enhmeta.o \
evtloop.o \
filedlg.o \ filedlg.o \
font.o \ font.o \
fontdlg.o \ fontdlg.o \
@@ -1061,6 +1065,7 @@ GUIDEPS = \
dirdlg.d \ dirdlg.d \
dragimag.d \ dragimag.d \
enhmeta.d \ enhmeta.d \
evtloop.d \
filedlg.d \ filedlg.d \
font.d \ font.d \
fontdlg.d \ fontdlg.d \

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BASEVC.T!
# File: makebase.vc # File: makebase.vc
@@ -68,6 +68,7 @@ COMMONOBJS = \
..\common\$D\datstrm.obj \ ..\common\$D\datstrm.obj \
..\common\$D\db.obj \ ..\common\$D\db.obj \
..\common\$D\dbtable.obj \ ..\common\$D\dbtable.obj \
..\common\$D\dircmn.obj \
..\common\$D\dynarray.obj \ ..\common\$D\dynarray.obj \
..\common\$D\dynlib.obj \ ..\common\$D\dynlib.obj \
..\common\$D\encconv.obj \ ..\common\$D\encconv.obj \
@@ -108,6 +109,7 @@ COMMONOBJS = \
..\common\$D\strconv.obj \ ..\common\$D\strconv.obj \
..\common\$D\stream.obj \ ..\common\$D\stream.obj \
..\common\$D\string.obj \ ..\common\$D\string.obj \
..\common\$D\sysopt.obj \
..\common\$D\textfile.obj \ ..\common\$D\textfile.obj \
..\common\$D\timercmn.obj \ ..\common\$D\timercmn.obj \
..\common\$D\tokenzr.obj \ ..\common\$D\tokenzr.obj \
@@ -130,6 +132,7 @@ MSWOBJS = ..\msw\$D\dde.obj \
..\msw\$D\mimetype.obj \ ..\msw\$D\mimetype.obj \
..\msw\$D\regconf.obj \ ..\msw\$D\regconf.obj \
..\msw\$D\registry.obj \ ..\msw\$D\registry.obj \
..\msw\$D\snglinst.obj \
..\msw\$D\thread.obj \ ..\msw\$D\thread.obj \
..\msw\$D\utils.obj \ ..\msw\$D\utils.obj \
..\msw\$D\utilsexc.obj ..\msw\$D\utilsexc.obj

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
# #
@@ -190,7 +190,6 @@ COMMONOBJS = \
$(MSWDIR)\objstrm.obj \ $(MSWDIR)\objstrm.obj \
$(MSWDIR)\odbc.obj \ $(MSWDIR)\odbc.obj \
$(MSWDIR)\paper.obj \ $(MSWDIR)\paper.obj \
$(MSWDIR)\popupcmn.obj \
$(MSWDIR)\prntbase.obj \ $(MSWDIR)\prntbase.obj \
$(MSWDIR)\process.obj \ $(MSWDIR)\process.obj \
$(MSWDIR)\protocol.obj \ $(MSWDIR)\protocol.obj \
@@ -207,6 +206,7 @@ COMMONOBJS = \
$(MSWDIR)\strconv.obj \ $(MSWDIR)\strconv.obj \
$(MSWDIR)\stream.obj \ $(MSWDIR)\stream.obj \
$(MSWDIR)\string.obj \ $(MSWDIR)\string.obj \
$(MSWDIR)\sysopt.obj \
$(MSWDIR)\tbarbase.obj \ $(MSWDIR)\tbarbase.obj \
$(MSWDIR)\textcmn.obj \ $(MSWDIR)\textcmn.obj \
$(MSWDIR)\textfile.obj \ $(MSWDIR)\textfile.obj \
@@ -265,6 +265,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \
$(MSWDIR)\dropsrc.obj \ $(MSWDIR)\dropsrc.obj \
$(MSWDIR)\droptgt.obj \ $(MSWDIR)\droptgt.obj \
$(MSWDIR)\enhmeta.obj \ $(MSWDIR)\enhmeta.obj \
$(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \ $(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \ $(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \ $(MSWDIR)\fontdlg.obj \
@@ -476,6 +477,8 @@ $(MSWDIR)\droptgt.obj: $(OLEDIR)\droptgt.$(SRCSUFF)
$(MSWDIR)\enhmeta.obj: $(MSWDIR)\enhmeta.$(SRCSUFF) $(MSWDIR)\enhmeta.obj: $(MSWDIR)\enhmeta.$(SRCSUFF)
$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF)
$(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF) $(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF)
$(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF) $(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF)
@@ -765,8 +768,6 @@ $(MSWDIR)\odbc.obj: $(COMMDIR)\odbc.$(SRCSUFF)
$(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF) $(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF)
$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF)
$(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF) $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\process.obj: $(COMMDIR)\process.$(SRCSUFF) $(MSWDIR)\process.obj: $(COMMDIR)\process.$(SRCSUFF)
@@ -799,6 +800,8 @@ $(MSWDIR)\stream.obj: $(COMMDIR)\stream.$(SRCSUFF)
$(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF) $(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF)
$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF)
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF) $(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF) $(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF)

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
# #
@@ -168,7 +168,6 @@ COMMONOBJS = \
$(MSWDIR)\object.obj \ $(MSWDIR)\object.obj \
$(MSWDIR)\objstrm.obj \ $(MSWDIR)\objstrm.obj \
$(MSWDIR)\paper.obj \ $(MSWDIR)\paper.obj \
$(MSWDIR)\popupcmn.obj \
$(MSWDIR)\prntbase.obj \ $(MSWDIR)\prntbase.obj \
$(MSWDIR)\quantize.obj \ $(MSWDIR)\quantize.obj \
$(MSWDIR)\radiocmn.obj \ $(MSWDIR)\radiocmn.obj \
@@ -178,6 +177,7 @@ COMMONOBJS = \
$(MSWDIR)\strconv.obj \ $(MSWDIR)\strconv.obj \
$(MSWDIR)\stream.obj \ $(MSWDIR)\stream.obj \
$(MSWDIR)\string.obj \ $(MSWDIR)\string.obj \
$(MSWDIR)\sysopt.obj \
$(MSWDIR)\tbarbase.obj \ $(MSWDIR)\tbarbase.obj \
$(MSWDIR)\textcmn.obj \ $(MSWDIR)\textcmn.obj \
$(MSWDIR)\textfile.obj \ $(MSWDIR)\textfile.obj \
@@ -230,6 +230,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \
$(MSWDIR)\dibutils.obj \ $(MSWDIR)\dibutils.obj \
$(MSWDIR)\dir.obj \ $(MSWDIR)\dir.obj \
$(MSWDIR)\dragimag.obj \ $(MSWDIR)\dragimag.obj \
$(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \ $(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \ $(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \ $(MSWDIR)\fontdlg.obj \
@@ -376,6 +377,8 @@ $(MSWDIR)\dir.obj: $(MSWDIR)\dir.$(SRCSUFF)
$(MSWDIR)\dragimag.obj: $(MSWDIR)\dragimag.$(SRCSUFF) $(MSWDIR)\dragimag.obj: $(MSWDIR)\dragimag.$(SRCSUFF)
$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF)
$(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF) $(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF)
$(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF) $(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF)
@@ -615,8 +618,6 @@ $(MSWDIR)\objstrm.obj: $(COMMDIR)\objstrm.$(SRCSUFF)
$(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF) $(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF)
$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF)
$(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF) $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\quantize.obj: $(COMMDIR)\quantize.$(SRCSUFF) $(MSWDIR)\quantize.obj: $(COMMDIR)\quantize.$(SRCSUFF)
@@ -635,6 +636,8 @@ $(MSWDIR)\stream.obj: $(COMMDIR)\stream.$(SRCSUFF)
$(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF) $(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF)
$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF)
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF) $(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF) $(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF)

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
# #
@@ -155,7 +155,6 @@ COMMONOBJS1 = \
COMMONOBJS2 = \ COMMONOBJS2 = \
$(COMMDIR)\paper.obj \ $(COMMDIR)\paper.obj \
$(COMMDIR)\popupcmn.obj \
$(COMMDIR)\prntbase.obj \ $(COMMDIR)\prntbase.obj \
$(COMMDIR)\quantize.obj \ $(COMMDIR)\quantize.obj \
$(COMMDIR)\radiocmn.obj \ $(COMMDIR)\radiocmn.obj \
@@ -165,6 +164,7 @@ COMMONOBJS2 = \
$(COMMDIR)\strconv.obj \ $(COMMDIR)\strconv.obj \
$(COMMDIR)\stream.obj \ $(COMMDIR)\stream.obj \
$(COMMDIR)\string.obj \ $(COMMDIR)\string.obj \
$(COMMDIR)\sysopt.obj \
$(COMMDIR)\tbarbase.obj \ $(COMMDIR)\tbarbase.obj \
$(COMMDIR)\textcmn.obj \ $(COMMDIR)\textcmn.obj \
$(COMMDIR)\textfile.obj \ $(COMMDIR)\textfile.obj \
@@ -217,6 +217,7 @@ MSWOBJS1 = $(MSWDIR)\accel.obj \
$(MSWDIR)\dibutils.obj \ $(MSWDIR)\dibutils.obj \
$(MSWDIR)\dir.obj \ $(MSWDIR)\dir.obj \
$(MSWDIR)\dragimag.obj \ $(MSWDIR)\dragimag.obj \
$(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \ $(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \ $(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \ $(MSWDIR)\fontdlg.obj \
@@ -493,6 +494,11 @@ $(MSWDIR)/dragimag.obj: $*.$(SRCSUFF)
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<< <<
$(MSWDIR)/evtloop.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
$(MSWDIR)/filedlg.obj: $*.$(SRCSUFF) $(MSWDIR)/filedlg.obj: $*.$(SRCSUFF)
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
@@ -1083,11 +1089,6 @@ $(COMMDIR)/paper.obj: $*.$(SRCSUFF)
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<< <<
$(COMMDIR)/popupcmn.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF) $(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
@@ -1133,6 +1134,11 @@ $(COMMDIR)/string.obj: $*.$(SRCSUFF)
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<< <<
$(COMMDIR)/sysopt.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
$(COMMDIR)/tbarbase.obj: $*.$(SRCSUFF) $(COMMDIR)/tbarbase.obj: $*.$(SRCSUFF)
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF) $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
# #
@@ -174,7 +174,6 @@ COMMONOBJS = \
$(COMMDIR)/object.$(OBJSUFF) \ $(COMMDIR)/object.$(OBJSUFF) \
$(COMMDIR)/objstrm.$(OBJSUFF) \ $(COMMDIR)/objstrm.$(OBJSUFF) \
$(COMMDIR)/paper.$(OBJSUFF) \ $(COMMDIR)/paper.$(OBJSUFF) \
$(COMMDIR)/popupcmn.$(OBJSUFF) \
$(COMMDIR)/prntbase.$(OBJSUFF) \ $(COMMDIR)/prntbase.$(OBJSUFF) \
$(COMMDIR)/process.$(OBJSUFF) \ $(COMMDIR)/process.$(OBJSUFF) \
$(COMMDIR)/protocol.$(OBJSUFF) \ $(COMMDIR)/protocol.$(OBJSUFF) \
@@ -191,6 +190,7 @@ COMMONOBJS = \
$(COMMDIR)/strconv.$(OBJSUFF) \ $(COMMDIR)/strconv.$(OBJSUFF) \
$(COMMDIR)/stream.$(OBJSUFF) \ $(COMMDIR)/stream.$(OBJSUFF) \
$(COMMDIR)/string.$(OBJSUFF) \ $(COMMDIR)/string.$(OBJSUFF) \
$(COMMDIR)/sysopt.$(OBJSUFF) \
$(COMMDIR)/tbarbase.$(OBJSUFF) \ $(COMMDIR)/tbarbase.$(OBJSUFF) \
$(COMMDIR)/textcmn.$(OBJSUFF) \ $(COMMDIR)/textcmn.$(OBJSUFF) \
$(COMMDIR)/textfile.$(OBJSUFF) \ $(COMMDIR)/textfile.$(OBJSUFF) \
@@ -267,6 +267,7 @@ MSWOBJS = \
$(MSWDIR)/dir.$(OBJSUFF) \ $(MSWDIR)/dir.$(OBJSUFF) \
$(MSWDIR)/dragimag.$(OBJSUFF) \ $(MSWDIR)/dragimag.$(OBJSUFF) \
$(MSWDIR)/enhmeta.$(OBJSUFF) \ $(MSWDIR)/enhmeta.$(OBJSUFF) \
$(MSWDIR)/evtloop.$(OBJSUFF) \
$(MSWDIR)/filedlg.$(OBJSUFF) \ $(MSWDIR)/filedlg.$(OBJSUFF) \
$(MSWDIR)/font.$(OBJSUFF) \ $(MSWDIR)/font.$(OBJSUFF) \
$(MSWDIR)/fontdlg.$(OBJSUFF) \ $(MSWDIR)/fontdlg.$(OBJSUFF) \

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
# Symantec C++ makefile for the msw objects # Symantec C++ makefile for the msw objects
@@ -133,7 +133,6 @@ COMMONOBJS = \
$(COMMDIR)\objstrm.obj \ $(COMMDIR)\objstrm.obj \
$(COMMDIR)\odbc.obj \ $(COMMDIR)\odbc.obj \
$(COMMDIR)\paper.obj \ $(COMMDIR)\paper.obj \
$(COMMDIR)\popupcmn.obj \
$(COMMDIR)\prntbase.obj \ $(COMMDIR)\prntbase.obj \
$(COMMDIR)\process.obj \ $(COMMDIR)\process.obj \
$(COMMDIR)\protocol.obj \ $(COMMDIR)\protocol.obj \
@@ -150,6 +149,7 @@ COMMONOBJS = \
$(COMMDIR)\strconv.obj \ $(COMMDIR)\strconv.obj \
$(COMMDIR)\stream.obj \ $(COMMDIR)\stream.obj \
$(COMMDIR)\string.obj \ $(COMMDIR)\string.obj \
$(COMMDIR)\sysopt.obj \
$(COMMDIR)\tbarbase.obj \ $(COMMDIR)\tbarbase.obj \
$(COMMDIR)\textcmn.obj \ $(COMMDIR)\textcmn.obj \
$(COMMDIR)\textfile.obj \ $(COMMDIR)\textfile.obj \
@@ -208,6 +208,7 @@ MSWOBJS = $(MSWDIR)\accel.obj \
$(MSWDIR)\ole\dropsrc.obj \ $(MSWDIR)\ole\dropsrc.obj \
$(MSWDIR)\ole\droptgt.obj \ $(MSWDIR)\ole\droptgt.obj \
$(MSWDIR)\enhmeta.obj \ $(MSWDIR)\enhmeta.obj \
$(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \ $(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \ $(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \ $(MSWDIR)\fontdlg.obj \

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
# File: makefile.vc # File: makefile.vc
@@ -50,326 +50,326 @@ HTMLDIR = $(WXDIR)\src\html
JPEGDIR = $(WXDIR)\src\jpeg JPEGDIR = $(WXDIR)\src\jpeg
TIFFDIR = $(WXDIR)\src\tiff TIFFDIR = $(WXDIR)\src\tiff
{..\generic}.cpp{..\generic\$D}.obj: {$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $< $(CPPFLAGS) /Fo$@ /c /Tp $<
<< <<
{..\common}.cpp{..\common\$D}.obj: {$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $< $(CPPFLAGS) /Fo$@ /c /Tp $<
<< <<
{..\common}.c{..\common\$D}.obj: {$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $< $(CPPFLAGS2) /Fo$@ /c /Tc $<
<< <<
{..\msw}.cpp{..\msw\$D}.obj: {$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $< $(CPPFLAGS) /Fo$@ /c /Tp $<
<< <<
{..\msw}.c{..\msw\$D}.obj: {$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $< $(CPPFLAGS2) /Fo$@ /c /Tc $<
<< <<
{..\msw\ole}.cpp{..\msw\ole\$D}.obj: {$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $< $(CPPFLAGS) /Fo$@ /c /Tp $<
<< <<
{..\html}.cpp{..\html\$D}.obj: {$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
cl @<< cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $< $(CPPFLAGS) /Fo$@ /c /Tp $<
<< <<
GENERICOBJS= ..\generic\$D\busyinfo.obj \ GENERICOBJS= $(GENDIR)\$D\busyinfo.obj \
..\generic\$D\calctrl.obj \ $(GENDIR)\$D\calctrl.obj \
..\generic\$D\choicdgg.obj \ $(GENDIR)\$D\choicdgg.obj \
..\generic\$D\dirctrlg.obj \ $(GENDIR)\$D\dirctrlg.obj \
..\generic\$D\dragimgg.obj \ $(GENDIR)\$D\dragimgg.obj \
..\generic\$D\grid.obj \ $(GENDIR)\$D\grid.obj \
..\generic\$D\gridctrl.obj \ $(GENDIR)\$D\gridctrl.obj \
..\generic\$D\gridsel.obj \ $(GENDIR)\$D\gridsel.obj \
..\generic\$D\laywin.obj \ $(GENDIR)\$D\laywin.obj \
..\generic\$D\logg.obj \ $(GENDIR)\$D\logg.obj \
..\generic\$D\numdlgg.obj \ $(GENDIR)\$D\numdlgg.obj \
..\generic\$D\panelg.obj \ $(GENDIR)\$D\panelg.obj \
..\generic\$D\progdlgg.obj \ $(GENDIR)\$D\progdlgg.obj \
..\generic\$D\prop.obj \ $(GENDIR)\$D\prop.obj \
..\generic\$D\propform.obj \ $(GENDIR)\$D\propform.obj \
..\generic\$D\proplist.obj \ $(GENDIR)\$D\proplist.obj \
..\generic\$D\sashwin.obj \ $(GENDIR)\$D\sashwin.obj \
..\generic\$D\scrlwing.obj \ $(GENDIR)\$D\scrlwing.obj \
..\generic\$D\spinctlg.obj \ $(GENDIR)\$D\spinctlg.obj \
..\generic\$D\splash.obj \ $(GENDIR)\$D\splash.obj \
..\generic\$D\splitter.obj \ $(GENDIR)\$D\splitter.obj \
..\generic\$D\statusbr.obj \ $(GENDIR)\$D\statusbr.obj \
..\generic\$D\tbarsmpl.obj \ $(GENDIR)\$D\tbarsmpl.obj \
..\generic\$D\textdlgg.obj \ $(GENDIR)\$D\textdlgg.obj \
..\generic\$D\tipdlg.obj \ $(GENDIR)\$D\tipdlg.obj \
..\generic\$D\tipwin.obj \ $(GENDIR)\$D\tipwin.obj \
..\generic\$D\treectlg.obj \ $(GENDIR)\$D\treectlg.obj \
..\generic\$D\treelay.obj \ $(GENDIR)\$D\treelay.obj \
..\generic\$D\wizard.obj $(GENDIR)\$D\wizard.obj
# These are generic things that don't need to be compiled on MSW, # These are generic things that don't need to be compiled on MSW,
# but sometimes it's useful to do so for testing purposes. # but sometimes it's useful to do so for testing purposes.
NONESSENTIALOBJS= ..\generic\$D\colrdlgg.obj \ NONESSENTIALOBJS= $(GENDIR)\$D\colrdlgg.obj \
..\generic\$D\dirdlgg.obj \ $(GENDIR)\$D\dirdlgg.obj \
..\generic\$D\fontdlgg.obj \ $(GENDIR)\$D\fontdlgg.obj \
..\generic\$D\helpext.obj \ $(GENDIR)\$D\helpext.obj \
..\generic\$D\helphtml.obj \ $(GENDIR)\$D\helphtml.obj \
..\generic\$D\helpwxht.obj \ $(GENDIR)\$D\helpwxht.obj \
..\generic\$D\helpxlp.obj \ $(GENDIR)\$D\imaglist.obj \
..\generic\$D\imaglist.obj \ $(GENDIR)\$D\listctrl.obj \
..\generic\$D\listctrl.obj \ $(GENDIR)\$D\msgdlgg.obj \
..\generic\$D\msgdlgg.obj \ $(GENDIR)\$D\notebook.obj \
..\generic\$D\notebook.obj \ $(GENDIR)\$D\tabg.obj
..\generic\$D\tabg.obj
COMMONOBJS = \ COMMONOBJS = \
..\common\$D\y_tab.obj \ $(COMMDIR)\$D\y_tab.obj \
..\common\$D\appcmn.obj \ $(COMMDIR)\$D\appcmn.obj \
..\common\$D\choiccmn.obj \ $(COMMDIR)\$D\choiccmn.obj \
..\common\$D\clipcmn.obj \ $(COMMDIR)\$D\clipcmn.obj \
..\common\$D\cmdline.obj \ $(COMMDIR)\$D\cmdline.obj \
..\common\$D\cmdproc.obj \ $(COMMDIR)\$D\cmdproc.obj \
..\common\$D\cmndata.obj \ $(COMMDIR)\$D\cmndata.obj \
..\common\$D\config.obj \ $(COMMDIR)\$D\config.obj \
..\common\$D\cshelp.obj \ $(COMMDIR)\$D\cshelp.obj \
..\common\$D\ctrlcmn.obj \ $(COMMDIR)\$D\ctrlcmn.obj \
..\common\$D\ctrlsub.obj \ $(COMMDIR)\$D\ctrlsub.obj \
..\common\$D\datetime.obj \ $(COMMDIR)\$D\datetime.obj \
..\common\$D\datstrm.obj \ $(COMMDIR)\$D\datstrm.obj \
..\common\$D\db.obj \ $(COMMDIR)\$D\db.obj \
..\common\$D\dbgrid.obj \ $(COMMDIR)\$D\dbgrid.obj \
..\common\$D\dbtable.obj \ $(COMMDIR)\$D\dbtable.obj \
..\common\$D\dcbase.obj \ $(COMMDIR)\$D\dcbase.obj \
..\common\$D\dircmn.obj \ $(COMMDIR)\$D\dircmn.obj \
..\common\$D\dlgcmn.obj \ $(COMMDIR)\$D\dlgcmn.obj \
..\common\$D\dndcmn.obj \ $(COMMDIR)\$D\dndcmn.obj \
..\common\$D\dobjcmn.obj \ $(COMMDIR)\$D\dobjcmn.obj \
..\common\$D\docmdi.obj \ $(COMMDIR)\$D\docmdi.obj \
..\common\$D\docview.obj \ $(COMMDIR)\$D\docview.obj \
..\common\$D\dynarray.obj \ $(COMMDIR)\$D\dynarray.obj \
..\common\$D\dynlib.obj \ $(COMMDIR)\$D\dynlib.obj \
..\common\$D\effects.obj \ $(COMMDIR)\$D\effects.obj \
..\common\$D\encconv.obj \ $(COMMDIR)\$D\encconv.obj \
..\common\$D\event.obj \ $(COMMDIR)\$D\event.obj \
..\common\$D\extended.obj \ $(COMMDIR)\$D\extended.obj \
..\common\$D\ffile.obj \ $(COMMDIR)\$D\ffile.obj \
..\common\$D\file.obj \ $(COMMDIR)\$D\file.obj \
..\common\$D\fileconf.obj \ $(COMMDIR)\$D\fileconf.obj \
..\common\$D\filefn.obj \ $(COMMDIR)\$D\filefn.obj \
..\common\$D\filename.obj \ $(COMMDIR)\$D\filename.obj \
..\common\$D\filesys.obj \ $(COMMDIR)\$D\filesys.obj \
..\common\$D\fontcmn.obj \ $(COMMDIR)\$D\fontcmn.obj \
..\common\$D\fontmap.obj \ $(COMMDIR)\$D\fontmap.obj \
..\common\$D\framecmn.obj \ $(COMMDIR)\$D\framecmn.obj \
..\common\$D\fs_inet.obj \ $(COMMDIR)\$D\fs_inet.obj \
..\common\$D\fs_mem.obj \ $(COMMDIR)\$D\fs_mem.obj \
..\common\$D\fs_zip.obj \ $(COMMDIR)\$D\fs_zip.obj \
..\common\$D\ftp.obj \ $(COMMDIR)\$D\ftp.obj \
..\common\$D\gaugecmn.obj \ $(COMMDIR)\$D\gaugecmn.obj \
..\common\$D\gdicmn.obj \ $(COMMDIR)\$D\gdicmn.obj \
..\common\$D\geometry.obj \ $(COMMDIR)\$D\geometry.obj \
..\common\$D\gifdecod.obj \ $(COMMDIR)\$D\gifdecod.obj \
..\common\$D\hash.obj \ $(COMMDIR)\$D\hash.obj \
..\common\$D\helpbase.obj \ $(COMMDIR)\$D\helpbase.obj \
..\common\$D\http.obj \ $(COMMDIR)\$D\http.obj \
..\common\$D\imagall.obj \ $(COMMDIR)\$D\imagall.obj \
..\common\$D\imagbmp.obj \ $(COMMDIR)\$D\imagbmp.obj \
..\common\$D\image.obj \ $(COMMDIR)\$D\image.obj \
..\common\$D\imaggif.obj \ $(COMMDIR)\$D\imaggif.obj \
..\common\$D\imagjpeg.obj \ $(COMMDIR)\$D\imagjpeg.obj \
..\common\$D\imagpcx.obj \ $(COMMDIR)\$D\imagpcx.obj \
..\common\$D\imagpng.obj \ $(COMMDIR)\$D\imagpng.obj \
..\common\$D\imagpnm.obj \ $(COMMDIR)\$D\imagpnm.obj \
..\common\$D\imagtiff.obj \ $(COMMDIR)\$D\imagtiff.obj \
..\common\$D\imagxpm.obj \ $(COMMDIR)\$D\imagxpm.obj \
..\common\$D\intl.obj \ $(COMMDIR)\$D\intl.obj \
..\common\$D\ipcbase.obj \ $(COMMDIR)\$D\ipcbase.obj \
..\common\$D\layout.obj \ $(COMMDIR)\$D\layout.obj \
..\common\$D\lboxcmn.obj \ $(COMMDIR)\$D\lboxcmn.obj \
..\common\$D\list.obj \ $(COMMDIR)\$D\list.obj \
..\common\$D\log.obj \ $(COMMDIR)\$D\log.obj \
..\common\$D\longlong.obj \ $(COMMDIR)\$D\longlong.obj \
..\common\$D\matrix.obj \ $(COMMDIR)\$D\matrix.obj \
..\common\$D\memory.obj \ $(COMMDIR)\$D\memory.obj \
..\common\$D\menucmn.obj \ $(COMMDIR)\$D\menucmn.obj \
..\common\$D\mimecmn.obj \ $(COMMDIR)\$D\mimecmn.obj \
..\common\$D\module.obj \ $(COMMDIR)\$D\module.obj \
..\common\$D\mstream.obj \ $(COMMDIR)\$D\mstream.obj \
..\common\$D\nbkbase.obj \ $(COMMDIR)\$D\nbkbase.obj \
..\common\$D\object.obj \ $(COMMDIR)\$D\object.obj \
..\common\$D\objstrm.obj \ $(COMMDIR)\$D\objstrm.obj \
..\common\$D\odbc.obj \ $(COMMDIR)\$D\odbc.obj \
..\common\$D\paper.obj \ $(COMMDIR)\$D\paper.obj \
..\common\$D\popupcmn.obj \ $(COMMDIR)\$D\prntbase.obj \
..\common\$D\prntbase.obj \ $(COMMDIR)\$D\process.obj \
..\common\$D\process.obj \ $(COMMDIR)\$D\protocol.obj \
..\common\$D\protocol.obj \ $(COMMDIR)\$D\quantize.obj \
..\common\$D\quantize.obj \ $(COMMDIR)\$D\radiocmn.obj \
..\common\$D\radiocmn.obj \ $(COMMDIR)\$D\resource.obj \
..\common\$D\resource.obj \ $(COMMDIR)\$D\sckaddr.obj \
..\common\$D\sckaddr.obj \ $(COMMDIR)\$D\sckfile.obj \
..\common\$D\sckfile.obj \ $(COMMDIR)\$D\sckipc.obj \
..\common\$D\sckipc.obj \ $(COMMDIR)\$D\sckstrm.obj \
..\common\$D\sckstrm.obj \ $(COMMDIR)\$D\serbase.obj \
..\common\$D\serbase.obj \ $(COMMDIR)\$D\sizer.obj \
..\common\$D\sizer.obj \ $(COMMDIR)\$D\socket.obj \
..\common\$D\socket.obj \ $(COMMDIR)\$D\strconv.obj \
..\common\$D\strconv.obj \ $(COMMDIR)\$D\stream.obj \
..\common\$D\stream.obj \ $(COMMDIR)\$D\string.obj \
..\common\$D\string.obj \ $(COMMDIR)\$D\sysopt.obj \
..\common\$D\tbarbase.obj \ $(COMMDIR)\$D\tbarbase.obj \
..\common\$D\textcmn.obj \ $(COMMDIR)\$D\textcmn.obj \
..\common\$D\textfile.obj \ $(COMMDIR)\$D\textfile.obj \
..\common\$D\timercmn.obj \ $(COMMDIR)\$D\timercmn.obj \
..\common\$D\tokenzr.obj \ $(COMMDIR)\$D\tokenzr.obj \
..\common\$D\treebase.obj \ $(COMMDIR)\$D\treebase.obj \
..\common\$D\txtstrm.obj \ $(COMMDIR)\$D\txtstrm.obj \
..\common\$D\unzip.obj \ $(COMMDIR)\$D\unzip.obj \
..\common\$D\url.obj \ $(COMMDIR)\$D\url.obj \
..\common\$D\utilscmn.obj \ $(COMMDIR)\$D\utilscmn.obj \
..\common\$D\valgen.obj \ $(COMMDIR)\$D\valgen.obj \
..\common\$D\validate.obj \ $(COMMDIR)\$D\validate.obj \
..\common\$D\valtext.obj \ $(COMMDIR)\$D\valtext.obj \
..\common\$D\variant.obj \ $(COMMDIR)\$D\variant.obj \
..\common\$D\wfstream.obj \ $(COMMDIR)\$D\wfstream.obj \
..\common\$D\wincmn.obj \ $(COMMDIR)\$D\wincmn.obj \
..\common\$D\wxchar.obj \ $(COMMDIR)\$D\wxchar.obj \
..\common\$D\wxexpr.obj \ $(COMMDIR)\$D\wxexpr.obj \
..\common\$D\xpmdecod.obj \ $(COMMDIR)\$D\xpmdecod.obj \
..\common\$D\zipstrm.obj \ $(COMMDIR)\$D\zipstrm.obj \
..\common\$D\zstream.obj $(COMMDIR)\$D\zstream.obj
MSWOBJS = ..\msw\$D\accel.obj \ MSWOBJS = $(MSWDIR)\$D\accel.obj \
..\msw\$D\app.obj \ $(MSWDIR)\$D\app.obj \
..\msw\ole\$D\automtn.obj \ $(OLEDIR)\$D\automtn.obj \
..\msw\$D\bitmap.obj \ $(MSWDIR)\$D\bitmap.obj \
..\msw\$D\bmpbuttn.obj \ $(MSWDIR)\$D\bmpbuttn.obj \
..\msw\$D\brush.obj \ $(MSWDIR)\$D\brush.obj \
..\msw\$D\button.obj \ $(MSWDIR)\$D\button.obj \
..\msw\$D\caret.obj \ $(MSWDIR)\$D\caret.obj \
..\msw\$D\checkbox.obj \ $(MSWDIR)\$D\checkbox.obj \
..\msw\$D\checklst.obj \ $(MSWDIR)\$D\checklst.obj \
..\msw\$D\choice.obj \ $(MSWDIR)\$D\choice.obj \
..\msw\$D\clipbrd.obj \ $(MSWDIR)\$D\clipbrd.obj \
..\msw\$D\colordlg.obj \ $(MSWDIR)\$D\colordlg.obj \
..\msw\$D\colour.obj \ $(MSWDIR)\$D\colour.obj \
..\msw\$D\combobox.obj \ $(MSWDIR)\$D\combobox.obj \
..\msw\$D\control.obj \ $(MSWDIR)\$D\control.obj \
..\msw\$D\curico.obj \ $(MSWDIR)\$D\curico.obj \
..\msw\$D\cursor.obj \ $(MSWDIR)\$D\cursor.obj \
..\msw\$D\data.obj \ $(MSWDIR)\$D\data.obj \
..\msw\ole\$D\dataobj.obj \ $(OLEDIR)\$D\dataobj.obj \
..\msw\$D\dc.obj \ $(MSWDIR)\$D\dc.obj \
..\msw\$D\dcclient.obj \ $(MSWDIR)\$D\dcclient.obj \
..\msw\$D\dcmemory.obj \ $(MSWDIR)\$D\dcmemory.obj \
..\msw\$D\dcprint.obj \ $(MSWDIR)\$D\dcprint.obj \
..\msw\$D\dcscreen.obj \ $(MSWDIR)\$D\dcscreen.obj \
..\msw\$D\dde.obj \ $(MSWDIR)\$D\dde.obj \
..\msw\$D\dialog.obj \ $(MSWDIR)\$D\dialog.obj \
..\msw\$D\dialup.obj \ $(MSWDIR)\$D\dialup.obj \
..\msw\$D\dib.obj \ $(MSWDIR)\$D\dib.obj \
..\msw\$D\dibutils.obj \ $(MSWDIR)\$D\dibutils.obj \
..\msw\$D\dir.obj \ $(MSWDIR)\$D\dir.obj \
..\msw\$D\dirdlg.obj \ $(MSWDIR)\$D\dirdlg.obj \
..\msw\$D\dragimag.obj \ $(MSWDIR)\$D\dragimag.obj \
..\msw\ole\$D\dropsrc.obj \ $(OLEDIR)\$D\dropsrc.obj \
..\msw\ole\$D\droptgt.obj \ $(OLEDIR)\$D\droptgt.obj \
..\msw\$D\enhmeta.obj \ $(MSWDIR)\$D\enhmeta.obj \
..\msw\$D\filedlg.obj \ $(MSWDIR)\$D\evtloop.obj \
..\msw\$D\font.obj \ $(MSWDIR)\$D\filedlg.obj \
..\msw\$D\fontdlg.obj \ $(MSWDIR)\$D\font.obj \
..\msw\$D\fontenum.obj \ $(MSWDIR)\$D\fontdlg.obj \
..\msw\$D\fontutil.obj \ $(MSWDIR)\$D\fontenum.obj \
..\msw\$D\frame.obj \ $(MSWDIR)\$D\fontutil.obj \
..\msw\$D\gauge95.obj \ $(MSWDIR)\$D\frame.obj \
..\msw\$D\gdiimage.obj \ $(MSWDIR)\$D\gauge95.obj \
..\msw\$D\gdiobj.obj \ $(MSWDIR)\$D\gdiimage.obj \
..\msw\$D\glcanvas.obj \ $(MSWDIR)\$D\gdiobj.obj \
..\msw\$D\gsocket.obj \ $(MSWDIR)\$D\glcanvas.obj \
..\msw\$D\gsockmsw.obj \ $(MSWDIR)\$D\gsocket.obj \
..\msw\$D\helpchm.obj \ $(MSWDIR)\$D\gsockmsw.obj \
..\msw\$D\helpwin.obj \ $(MSWDIR)\$D\helpchm.obj \
..\msw\$D\icon.obj \ $(MSWDIR)\$D\helpwin.obj \
..\msw\$D\imaglist.obj \ $(MSWDIR)\$D\icon.obj \
..\msw\$D\joystick.obj \ $(MSWDIR)\$D\imaglist.obj \
..\msw\$D\listbox.obj \ $(MSWDIR)\$D\joystick.obj \
..\msw\$D\listctrl.obj \ $(MSWDIR)\$D\listbox.obj \
..\msw\$D\main.obj \ $(MSWDIR)\$D\listctrl.obj \
..\msw\$D\mdi.obj \ $(MSWDIR)\$D\main.obj \
..\msw\$D\menu.obj \ $(MSWDIR)\$D\mdi.obj \
..\msw\$D\menuitem.obj \ $(MSWDIR)\$D\menu.obj \
..\msw\$D\metafile.obj \ $(MSWDIR)\$D\menuitem.obj \
..\msw\$D\mimetype.obj \ $(MSWDIR)\$D\metafile.obj \
..\msw\$D\minifram.obj \ $(MSWDIR)\$D\mimetype.obj \
..\msw\$D\msgdlg.obj \ $(MSWDIR)\$D\minifram.obj \
..\msw\$D\nativdlg.obj \ $(MSWDIR)\$D\msgdlg.obj \
..\msw\$D\notebook.obj \ $(MSWDIR)\$D\nativdlg.obj \
..\msw\ole\$D\oleutils.obj \ $(MSWDIR)\$D\notebook.obj \
..\msw\$D\ownerdrw.obj \ $(OLEDIR)\$D\oleutils.obj \
..\msw\$D\palette.obj \ $(MSWDIR)\$D\ownerdrw.obj \
..\msw\$D\pen.obj \ $(MSWDIR)\$D\palette.obj \
..\msw\$D\penwin.obj \ $(MSWDIR)\$D\pen.obj \
..\msw\$D\printdlg.obj \ $(MSWDIR)\$D\penwin.obj \
..\msw\$D\printwin.obj \ $(MSWDIR)\$D\printdlg.obj \
..\msw\$D\radiobox.obj \ $(MSWDIR)\$D\printwin.obj \
..\msw\$D\radiobut.obj \ $(MSWDIR)\$D\radiobox.obj \
..\msw\$D\regconf.obj \ $(MSWDIR)\$D\radiobut.obj \
..\msw\$D\region.obj \ $(MSWDIR)\$D\regconf.obj \
..\msw\$D\registry.obj \ $(MSWDIR)\$D\region.obj \
..\msw\$D\scrolbar.obj \ $(MSWDIR)\$D\registry.obj \
..\msw\$D\settings.obj \ $(MSWDIR)\$D\scrolbar.obj \
..\msw\$D\slider95.obj \ $(MSWDIR)\$D\settings.obj \
..\msw\$D\snglinst.obj \ $(MSWDIR)\$D\slider95.obj \
..\msw\$D\spinbutt.obj \ $(MSWDIR)\$D\snglinst.obj \
..\msw\$D\spinctrl.obj \ $(MSWDIR)\$D\spinbutt.obj \
..\msw\$D\statbmp.obj \ $(MSWDIR)\$D\spinctrl.obj \
..\msw\$D\statbox.obj \ $(MSWDIR)\$D\statbmp.obj \
..\msw\$D\statbr95.obj \ $(MSWDIR)\$D\statbox.obj \
..\msw\$D\statline.obj \ $(MSWDIR)\$D\statbr95.obj \
..\msw\$D\stattext.obj \ $(MSWDIR)\$D\statline.obj \
..\msw\$D\tabctrl.obj \ $(MSWDIR)\$D\stattext.obj \
..\msw\$D\taskbar.obj \ $(MSWDIR)\$D\tabctrl.obj \
..\msw\$D\tbar95.obj \ $(MSWDIR)\$D\taskbar.obj \
..\msw\$D\textctrl.obj \ $(MSWDIR)\$D\tbar95.obj \
..\msw\$D\tglbtn.obj \ $(MSWDIR)\$D\textctrl.obj \
..\msw\$D\thread.obj \ $(MSWDIR)\$D\tglbtn.obj \
..\msw\$D\timer.obj \ $(MSWDIR)\$D\thread.obj \
..\msw\$D\tooltip.obj \ $(MSWDIR)\$D\timer.obj \
..\msw\$D\treectrl.obj \ $(MSWDIR)\$D\tooltip.obj \
..\msw\$D\utils.obj \ $(MSWDIR)\$D\treectrl.obj \
..\msw\$D\utilsexc.obj \ $(MSWDIR)\$D\utils.obj \
..\msw\ole\$D\uuid.obj \ $(MSWDIR)\$D\utilsexc.obj \
..\msw\$D\wave.obj \ $(OLEDIR)\$D\uuid.obj \
..\msw\$D\window.obj $(MSWDIR)\$D\wave.obj \
$(MSWDIR)\$D\window.obj
HTMLOBJS = ..\html\$D\helpctrl.obj \ HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \
..\html\$D\helpdata.obj \ $(HTMLDIR)\$D\helpdata.obj \
..\html\$D\helpfrm.obj \ $(HTMLDIR)\$D\helpfrm.obj \
..\html\$D\htmlcell.obj \ $(HTMLDIR)\$D\htmlcell.obj \
..\html\$D\htmlfilt.obj \ $(HTMLDIR)\$D\htmlfilt.obj \
..\html\$D\htmlpars.obj \ $(HTMLDIR)\$D\htmlpars.obj \
..\html\$D\htmltag.obj \ $(HTMLDIR)\$D\htmltag.obj \
..\html\$D\htmlwin.obj \ $(HTMLDIR)\$D\htmlwin.obj \
..\html\$D\htmprint.obj \ $(HTMLDIR)\$D\htmprint.obj \
..\html\$D\m_dflist.obj \ $(HTMLDIR)\$D\m_dflist.obj \
..\html\$D\m_fonts.obj \ $(HTMLDIR)\$D\m_fonts.obj \
..\html\$D\m_hline.obj \ $(HTMLDIR)\$D\m_hline.obj \
..\html\$D\m_image.obj \ $(HTMLDIR)\$D\m_image.obj \
..\html\$D\m_layout.obj \ $(HTMLDIR)\$D\m_layout.obj \
..\html\$D\m_links.obj \ $(HTMLDIR)\$D\m_links.obj \
..\html\$D\m_list.obj \ $(HTMLDIR)\$D\m_list.obj \
..\html\$D\m_meta.obj \ $(HTMLDIR)\$D\m_meta.obj \
..\html\$D\m_pre.obj \ $(HTMLDIR)\$D\m_pre.obj \
..\html\$D\m_tables.obj \ $(HTMLDIR)\$D\m_tables.obj \
..\html\$D\winpars.obj $(HTMLDIR)\$D\winpars.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc. # 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 $(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 @<< 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 $(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy "..\common"\dosyacc.c "..\common"\y_tab.c copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c
..\common\lex_yy.c: ..\common\doslex.c $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy "..\common"\doslex.c "..\common"\lex_yy.c copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h $(OBJECTS): $(WXDIR)/include/wx/setup.h
..\common\$D\unzip.obj: ..\common\unzip.c $(COMMDIR)\$D\unzip.obj: $(COMMDIR)\unzip.c
cl @<< cl @<<
$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@ $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
<< <<

View File

@@ -1,6 +1,6 @@
#!/binb/wmake.exe #!/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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
# #
@@ -83,7 +83,6 @@ NONESSENTIALOBJS= accel.obj &
helpext.obj & helpext.obj &
helphtml.obj & helphtml.obj &
helpwxht.obj & helpwxht.obj &
helpxlp.obj &
imaglist.obj & imaglist.obj &
listctrl.obj & listctrl.obj &
msgdlgg.obj & msgdlgg.obj &
@@ -172,7 +171,6 @@ COMMONOBJS = &
objstrm.obj & objstrm.obj &
odbc.obj & odbc.obj &
paper.obj & paper.obj &
popupcmn.obj &
prntbase.obj & prntbase.obj &
process.obj & process.obj &
protocol.obj & protocol.obj &
@@ -189,6 +187,7 @@ COMMONOBJS = &
strconv.obj & strconv.obj &
stream.obj & stream.obj &
string.obj & string.obj &
sysopt.obj &
tbarbase.obj & tbarbase.obj &
textcmn.obj & textcmn.obj &
textfile.obj & textfile.obj &
@@ -247,6 +246,7 @@ MSWOBJS = accel.obj &
dropsrc.obj & dropsrc.obj &
droptgt.obj & droptgt.obj &
enhmeta.obj & enhmeta.obj &
evtloop.obj &
filedlg.obj & filedlg.obj &
font.obj & font.obj &
fontdlg.obj & fontdlg.obj &
@@ -472,6 +472,9 @@ droptgt.obj: $(OLEDIR)\droptgt.cpp
enhmeta.obj: $(MSWDIR)\enhmeta.cpp enhmeta.obj: $(MSWDIR)\enhmeta.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
evtloop.obj: $(MSWDIR)\evtloop.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
filedlg.obj: $(MSWDIR)\filedlg.cpp filedlg.obj: $(MSWDIR)\filedlg.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
@@ -915,9 +918,6 @@ odbc.obj: $(COMMDIR)\odbc.cpp
paper.obj: $(COMMDIR)\paper.cpp paper.obj: $(COMMDIR)\paper.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
popupcmn.obj: $(COMMDIR)\popupcmn.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
prntbase.obj: $(COMMDIR)\prntbase.cpp prntbase.obj: $(COMMDIR)\prntbase.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
@@ -966,6 +966,9 @@ stream.obj: $(COMMDIR)\stream.cpp
string.obj: $(COMMDIR)\string.cpp string.obj: $(COMMDIR)\string.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
sysopt.obj: $(COMMDIR)\sysopt.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
tbarbase.obj: $(COMMDIR)\tbarbase.cpp tbarbase.obj: $(COMMDIR)\tbarbase.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $< *$(CCC) $(CPPFLAGS) $(IFLAGS) $<

View File

@@ -57,9 +57,6 @@ public:
private: private:
DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule) 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) IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule)
wxArrayString wxSystemSettingsModule::sm_optionNames;
wxArrayString wxSystemSettingsModule::sm_optionValues;
bool wxSystemSettingsModule::OnInit() bool wxSystemSettingsModule::OnInit()
{ {
return TRUE; return TRUE;
@@ -88,9 +82,8 @@ bool wxSystemSettingsModule::OnInit()
void wxSystemSettingsModule::OnExit() void wxSystemSettingsModule::OnExit()
{ {
sm_optionNames.Clear();
sm_optionValues.Clear();
delete gs_fontDefault; delete gs_fontDefault;
gs_fontDefault = NULL;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -274,45 +267,3 @@ int wxSystemSettings::GetSystemMetric(int index)
// __WXMICROWIN__ // __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);
}

View File

@@ -373,6 +373,8 @@ bool wxPrinterDC::DoBlit(
, wxCoord vYsrc , wxCoord vYsrc
, int nRop , int nRop
, bool bUseMask , bool bUseMask
, wxCoord xsrcMask
, wxCoord ysrcMask
) )
{ {
bool bSuccess = TRUE; bool bSuccess = TRUE;

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE OS2.T!
ALL_SOURCES = \ ALL_SOURCES = \
generic/busyinfo.cpp \ generic/busyinfo.cpp \
@@ -9,11 +9,11 @@ ALL_SOURCES = \
generic/dcpsg.cpp \ generic/dcpsg.cpp \
generic/dirctrlg.cpp \ generic/dirctrlg.cpp \
generic/grid.cpp \ generic/grid.cpp \
generic/gridctrl.cpp \
generic/gridsel.cpp \ generic/gridsel.cpp \
generic/helpext.cpp \ generic/helpext.cpp \
generic/helphtml.cpp \ generic/helphtml.cpp \
generic/helpwxht.cpp \ generic/helpwxht.cpp \
generic/helpxlp.cpp \
generic/imaglist.cpp \ generic/imaglist.cpp \
generic/laywin.cpp \ generic/laywin.cpp \
generic/listctrl.cpp \ generic/listctrl.cpp \
@@ -28,7 +28,8 @@ ALL_SOURCES = \
generic/propform.cpp \ generic/propform.cpp \
generic/proplist.cpp \ generic/proplist.cpp \
generic/sashwin.cpp \ generic/sashwin.cpp \
generic/scrolwin.cpp \ generic/scrlwing.cpp \
generic/spinctlg.cpp \
generic/splash.cpp \ generic/splash.cpp \
generic/splitter.cpp \ generic/splitter.cpp \
generic/statusbr.cpp \ generic/statusbr.cpp \
@@ -43,6 +44,7 @@ ALL_SOURCES = \
common/choiccmn.cpp \ common/choiccmn.cpp \
common/clipcmn.cpp \ common/clipcmn.cpp \
common/cmdline.cpp \ common/cmdline.cpp \
common/cmdproc.cpp \
common/cmndata.cpp \ common/cmndata.cpp \
common/config.cpp \ common/config.cpp \
common/cshelp.cpp \ common/cshelp.cpp \
@@ -51,6 +53,7 @@ ALL_SOURCES = \
common/datetime.cpp \ common/datetime.cpp \
common/datstrm.cpp \ common/datstrm.cpp \
common/db.cpp \ common/db.cpp \
common/dbgrid.cpp \
common/dbtable.cpp \ common/dbtable.cpp \
common/dcbase.cpp \ common/dcbase.cpp \
common/dircmn.cpp \ common/dircmn.cpp \
@@ -78,6 +81,7 @@ ALL_SOURCES = \
common/fs_mem.cpp \ common/fs_mem.cpp \
common/fs_zip.cpp \ common/fs_zip.cpp \
common/ftp.cpp \ common/ftp.cpp \
common/gaugecmn.cpp \
common/gdicmn.cpp \ common/gdicmn.cpp \
common/geometry.cpp \ common/geometry.cpp \
common/gifdecod.cpp \ common/gifdecod.cpp \
@@ -107,6 +111,7 @@ ALL_SOURCES = \
common/mimecmn.cpp \ common/mimecmn.cpp \
common/module.cpp \ common/module.cpp \
common/mstream.cpp \ common/mstream.cpp \
common/nbkbase.cpp \
common/object.cpp \ common/object.cpp \
common/objstrm.cpp \ common/objstrm.cpp \
common/paper.cpp \ common/paper.cpp \
@@ -114,6 +119,7 @@ ALL_SOURCES = \
common/process.cpp \ common/process.cpp \
common/protocol.cpp \ common/protocol.cpp \
common/quantize.cpp \ common/quantize.cpp \
common/radiocmn.cpp \
common/resource.cpp \ common/resource.cpp \
common/sckaddr.cpp \ common/sckaddr.cpp \
common/sckfile.cpp \ common/sckfile.cpp \
@@ -125,6 +131,7 @@ ALL_SOURCES = \
common/strconv.cpp \ common/strconv.cpp \
common/stream.cpp \ common/stream.cpp \
common/string.cpp \ common/string.cpp \
common/sysopt.cpp \
common/tbarbase.cpp \ common/tbarbase.cpp \
common/textcmn.cpp \ common/textcmn.cpp \
common/textfile.cpp \ common/textfile.cpp \
@@ -259,10 +266,12 @@ ALL_HEADERS = \
caret.h \ caret.h \
checkbox.h \ checkbox.h \
checklst.h \ checklst.h \
chkconf.h \
choicdlg.h \ choicdlg.h \
choice.h \ choice.h \
clipbrd.h \ clipbrd.h \
cmdline.h \ cmdline.h \
cmdproc.cpp \
cmndata.h \ cmndata.h \
colordlg.h \ colordlg.h \
colour.h \ colour.h \
@@ -279,6 +288,8 @@ ALL_HEADERS = \
datetime.inl \ datetime.inl \
datstrm.h \ datstrm.h \
db.h \ db.h \
dbgrid.h \
dbkeyg.h \
dbtable.h \ dbtable.h \
dc.h \ dc.h \
dcclient.h \ dcclient.h \
@@ -326,6 +337,7 @@ ALL_HEADERS = \
gifdecod.h \ gifdecod.h \
glcanvas.h \ glcanvas.h \
grid.h \ grid.h \
gridctrl.h \
gsocket.h \ gsocket.h \
hash.h \ hash.h \
help.h \ help.h \
@@ -333,7 +345,6 @@ ALL_HEADERS = \
helpchm.h \ helpchm.h \
helphtml.h \ helphtml.h \
helpwin.h \ helpwin.h \
helpxlp.h \
icon.h \ icon.h \
imagbmp.h \ imagbmp.h \
image.h \ image.h \
@@ -380,6 +391,7 @@ ALL_HEADERS = \
panel.h \ panel.h \
paper.h \ paper.h \
pen.h \ pen.h \
popupwin.h \
print.h \ print.h \
printdlg.h \ printdlg.h \
prntbase.h \ prntbase.h \
@@ -403,11 +415,13 @@ ALL_HEADERS = \
setup.h \ setup.h \
sizer.h \ sizer.h \
slider.h \ slider.h \
snglinst.h \
socket.h \ socket.h \
spinbutt.h \ spinbutt.h \
spinctrl.h \ spinctrl.h \
splash.h \ splash.h \
splitter.h \ splitter.h \
stack.h \
statbmp.h \ statbmp.h \
statbox.h \ statbox.h \
statline.h \ statline.h \
@@ -416,6 +430,7 @@ ALL_HEADERS = \
strconv.h \ strconv.h \
stream.h \ stream.h \
string.h \ string.h \
sysopt.h \
tab.h \ tab.h \
tabctrl.h \ tabctrl.h \
taskbar.h \ taskbar.h \
@@ -443,6 +458,7 @@ ALL_HEADERS = \
validate.h \ validate.h \
valtext.h \ valtext.h \
variant.h \ variant.h \
vector.h \
version.h \ version.h \
wave.h \ wave.h \
wfstream.h \ wfstream.h \
@@ -531,6 +547,7 @@ ALL_HEADERS = \
os2/tooltip.h \ os2/tooltip.h \
os2/wave.h \ os2/wave.h \
os2/window.h \ os2/window.h \
generic/accel.h \
generic/calctrl.h \ generic/calctrl.h \
generic/caret.h \ generic/caret.h \
generic/choicdgg.h \ generic/choicdgg.h \
@@ -542,11 +559,11 @@ ALL_HEADERS = \
generic/filedlgg.h \ generic/filedlgg.h \
generic/fontdlgg.h \ generic/fontdlgg.h \
generic/grid.h \ generic/grid.h \
generic/gridctrl.h \
generic/gridg.h \ generic/gridg.h \
generic/helpext.h \ generic/helpext.h \
generic/helphtml.h \ generic/helphtml.h \
generic/helpwxht.h \ generic/helpwxht.h \
generic/helpxlp.h \
generic/imaglist.h \ generic/imaglist.h \
generic/laywin.h \ generic/laywin.h \
generic/listctrl.h \ generic/listctrl.h \
@@ -590,6 +607,7 @@ COMMONOBJS = \
choiccmn.o \ choiccmn.o \
clipcmn.o \ clipcmn.o \
cmdline.o \ cmdline.o \
cmdproc.o \
cmndata.o \ cmndata.o \
config.o \ config.o \
cshelp.o \ cshelp.o \
@@ -598,6 +616,7 @@ COMMONOBJS = \
datetime.o \ datetime.o \
datstrm.o \ datstrm.o \
db.o \ db.o \
dbgrid.o \
dbtable.o \ dbtable.o \
dcbase.o \ dcbase.o \
dircmn.o \ dircmn.o \
@@ -625,6 +644,7 @@ COMMONOBJS = \
fs_mem.o \ fs_mem.o \
fs_zip.o \ fs_zip.o \
ftp.o \ ftp.o \
gaugecmn.o \
gdicmn.o \ gdicmn.o \
geometry.o \ geometry.o \
gifdecod.o \ gifdecod.o \
@@ -654,6 +674,7 @@ COMMONOBJS = \
mimecmn.o \ mimecmn.o \
module.o \ module.o \
mstream.o \ mstream.o \
nbkbase.o \
object.o \ object.o \
objstrm.o \ objstrm.o \
paper.o \ paper.o \
@@ -661,6 +682,7 @@ COMMONOBJS = \
process.o \ process.o \
protocol.o \ protocol.o \
quantize.o \ quantize.o \
radiocmn.o \
resource.o \ resource.o \
sckaddr.o \ sckaddr.o \
sckfile.o \ sckfile.o \
@@ -672,6 +694,7 @@ COMMONOBJS = \
strconv.o \ strconv.o \
stream.o \ stream.o \
string.o \ string.o \
sysopt.o \
tbarbase.o \ tbarbase.o \
textcmn.o \ textcmn.o \
textfile.o \ textfile.o \
@@ -700,6 +723,7 @@ COMMONDEPS = \
choiccmn.d \ choiccmn.d \
clipcmn.d \ clipcmn.d \
cmdline.d \ cmdline.d \
cmdproc.d \
cmndata.d \ cmndata.d \
config.d \ config.d \
cshelp.d \ cshelp.d \
@@ -708,6 +732,7 @@ COMMONDEPS = \
datetime.d \ datetime.d \
datstrm.d \ datstrm.d \
db.d \ db.d \
dbgrid.d \
dbtable.d \ dbtable.d \
dcbase.d \ dcbase.d \
dircmn.d \ dircmn.d \
@@ -735,6 +760,7 @@ COMMONDEPS = \
fs_mem.d \ fs_mem.d \
fs_zip.d \ fs_zip.d \
ftp.d \ ftp.d \
gaugecmn.d \
gdicmn.d \ gdicmn.d \
geometry.d \ geometry.d \
gifdecod.d \ gifdecod.d \
@@ -764,6 +790,7 @@ COMMONDEPS = \
mimecmn.d \ mimecmn.d \
module.d \ module.d \
mstream.d \ mstream.d \
nbkbase.d \
object.d \ object.d \
objstrm.d \ objstrm.d \
paper.d \ paper.d \
@@ -771,6 +798,7 @@ COMMONDEPS = \
process.d \ process.d \
protocol.d \ protocol.d \
quantize.d \ quantize.d \
radiocmn.d \
resource.d \ resource.d \
sckaddr.d \ sckaddr.d \
sckfile.d \ sckfile.d \
@@ -782,6 +810,7 @@ COMMONDEPS = \
strconv.d \ strconv.d \
stream.d \ stream.d \
string.d \ string.d \
sysopt.d \
tbarbase.d \ tbarbase.d \
textcmn.d \ textcmn.d \
textfile.d \ textfile.d \
@@ -813,11 +842,11 @@ GENERICOBJS = \
dcpsg.o \ dcpsg.o \
dirctrlg.o \ dirctrlg.o \
grid.o \ grid.o \
gridctrl.o \
gridsel.o \ gridsel.o \
helpext.o \ helpext.o \
helphtml.o \ helphtml.o \
helpwxht.o \ helpwxht.o \
helpxlp.o \
imaglist.o \ imaglist.o \
laywin.o \ laywin.o \
listctrl.o \ listctrl.o \
@@ -832,7 +861,8 @@ GENERICOBJS = \
propform.o \ propform.o \
proplist.o \ proplist.o \
sashwin.o \ sashwin.o \
scrolwin.o \ scrlwing.o \
spinctlg.o \
splash.o \ splash.o \
splitter.o \ splitter.o \
statusbr.o \ statusbr.o \
@@ -853,11 +883,11 @@ GENERICDEPS = \
dcpsg.d \ dcpsg.d \
dirctrlg.d \ dirctrlg.d \
grid.d \ grid.d \
gridctrl.d \
gridsel.d \ gridsel.d \
helpext.d \ helpext.d \
helphtml.d \ helphtml.d \
helpwxht.d \ helpwxht.d \
helpxlp.d \
imaglist.d \ imaglist.d \
laywin.d \ laywin.d \
listctrl.d \ listctrl.d \
@@ -872,7 +902,8 @@ GENERICDEPS = \
propform.d \ propform.d \
proplist.d \ proplist.d \
sashwin.d \ sashwin.d \
scrolwin.d \ scrlwing.d \
spinctlg.d \
splash.d \ splash.d \
splitter.d \ splitter.d \
statusbr.d \ statusbr.d \

View File

@@ -23,8 +23,8 @@ CFG=png - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "PngVC"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe

View File

@@ -8,12 +8,12 @@ CFG=tiff - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "tiff.mak". !MESSAGE NMAKE /f "TiffVC.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "tiff.mak" CFG="tiff - Win32 Debug" !MESSAGE NMAKE /f "TiffVC.mak" CFG="tiff - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
@@ -23,8 +23,8 @@ CFG=tiff - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "TiffVC"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe

View 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! # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
UNIVOBJS = \ UNIVOBJS = \
bmpbuttn.o \ bmpbuttn.o \
@@ -7,16 +7,13 @@ UNIVOBJS = \
checklst.o \ checklst.o \
colschem.o \ colschem.o \
control.o \ control.o \
combobox.o \
evtloop.o \
framuniv.o \ framuniv.o \
gauge.o \ gauge.o \
gtk.o \ gtk.o \
inphand.o \ inphand.o \
listbox.o \ listbox.o \
menu.o \ menu.o \
notebook.o \ notebook.o \
popupcmn.o \
radiobox.o \ radiobox.o \
radiobut.o \ radiobut.o \
renderer.o \ renderer.o \
@@ -46,6 +43,7 @@ UNIVDEPS = \
gtk.d \ gtk.d \
inphand.d \ inphand.d \
listbox.d \ listbox.d \
menu.d \
notebook.d \ notebook.d \
radiobox.d \ radiobox.d \
radiobut.d \ radiobut.d \

View File

@@ -23,8 +23,8 @@ CFG=wxvc - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "wxvc"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath ".."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe
@@ -456,6 +456,10 @@ SOURCE=.\common\string.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\common\sysopt.cpp
# End Source File
# Begin Source File
SOURCE=.\common\tbarbase.cpp SOURCE=.\common\tbarbase.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -471,6 +471,10 @@ SOURCE=.\common\string.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\common\sysopt.cpp
# End Source File
# Begin Source File
SOURCE=.\common\tbarbase.cpp SOURCE=.\common\tbarbase.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -464,6 +464,10 @@ SOURCE=.\common\string.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\common\sysopt.cpp
# End Source File
# Begin Source File
SOURCE=.\common\tbarbase.cpp SOURCE=.\common\tbarbase.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -8,12 +8,12 @@ CFG=zlib - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "zlib.mak". !MESSAGE NMAKE /f "ZlibVC.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 Debug" !MESSAGE NMAKE /f "ZlibVC.mak" CFG="zlib - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
@@ -23,8 +23,8 @@ CFG=zlib - Win32 Debug
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "" # PROP Scc_ProjName "ZlibVC"
# PROP Scc_LocalPath "" # PROP Scc_LocalPath "."
CPP=cl.exe CPP=cl.exe
RSC=rc.exe RSC=rc.exe