DEFAULT_wxUSE_WXTREE=no
DEFAULT_wxUSE_METAFILE=no
DEFAULT_wxUSE_MIMETYPE=no
+ DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
DEFAULT_wxUSE_COMMONDLGS=no
DEFAULT_wxUSE_CHOICEDLG=no
DEFAULT_wxUSE_WXTREE=yes
DEFAULT_wxUSE_METAFILE=yes
DEFAULT_wxUSE_MIMETYPE=yes
+ DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
DEFAULT_wxUSE_COMMONDLGS=yes
DEFAULT_wxUSE_CHOICEDLG=yes
WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE)
+WX_ARG_ENABLE(system_options, [ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
dnl ---------------------------------------------------------------------------
dnl "big" options (i.e. those which change a lot of things throughout the library)
AC_DEFINE(wxUSE_MIMETYPE)
fi
+if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
+ AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
+fi
+
if test "$wxUSE_MINIFRAME" = "yes"; then
AC_DEFINE(wxUSE_MINIFRAME)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
SOURCE=.\plot.rc
# ADD BASE RSC /l 0x809
-# ADD RSC /l 0x809 /i "..\..\include"
+# ADD RSC /l 0x809 /i "..\..\..\include"
# End Source File
# End Target
# End Project
stream.cpp Common Base
strconv.cpp Common Base
string.cpp Common Base
+sysopt.cpp Common Base
tbarbase.cpp Common
textcmn.cpp Common
textfile.cpp Common Base
strconv.h WXH Base
stream.h WXH Base
string.h WXH Base
+sysopt.h WXH Base
tab.h WXH
tabctrl.h WXH
taskbar.h WXH
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
\twocolitem{\helpref{wxStopWatch}{wxstopwatch}}{Stop watch class}
\twocolitem{\helpref{wxMimeTypesManager}{wxmimetypesmanager}}{MIME-types manager class}
-\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
+\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class for obtaining various global parameters}
+\twocolitem{\helpref{wxSystemOptions}{wxsystemoptions}}{System options class for run-time configuration}
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
\twocolitem{\helpref{wxFontMapper}{wxfontmapper}}{Font mapping, finding suitable font for given encoding}
\input propslv.tex
\input tokenizr.tex
\input sysclevt.tex
+\input sysopt.tex
\input settings.tex
\input tab.tex
\input tabctrl.tex
\func{bool}{Blit}{\param{wxCoord}{ xdest}, \param{wxCoord}{ ydest}, \param{wxCoord}{ width}, \param{wxCoord}{ height},
\param{wxDC* }{source}, \param{wxCoord}{ xsrc}, \param{wxCoord}{ ysrc}, \param{int}{ logicalFunc = wxCOPY},
- \param{bool }{useMask = FALSE}}
+ \param{bool }{useMask = FALSE}, \param{wxCoord}{ xsrcMask = -1}, \param{wxCoord}{ ysrcMask = -1}}
Copy from a source DC to this DC, specifying the destination
-coordinates, size of area to copy, source DC, source coordinates, and
-logical function.
+coordinates, size of area to copy, source DC, source coordinates,
+logical function, whether to use a bitmap mask, and mask source position.
\wxheading{Parameters}
\docparam{logicalFunc}{Logical function to use: see \helpref{wxDC::SetLogicalFunction}{wxdcsetlogicalfunction}.}
\docparam{useMask}{If TRUE, Blit does a transparent blit using the mask that is associated with the bitmap
-selected into the source device context. The Windows implementation does the following:
+selected into the source device context. The Windows implementation does the following if MaskBlt cannot be used:
\begin{enumerate}
\item Creates a temporary bitmap and copies the destination area into it.
This sequence of operations ensures that the source's transparent area need not be black,
and logical functions are supported.
+
+{\bf Note:} on Windows, blitting with masks can be speeded up considerably by using
+\helpref{DC cacheing}{wxdcenablecache}. You can also influence whether MaskBlt
+or the explicit mask blitting code above is used, by using \helpref{wxSystemOptions}{wxsystemoptions} and
+setting the {\bf no-maskblt} option to 1.
+
}
+\docparam{xsrcMask}{Source x position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc
+will be assumed for the mask source position. Currently only implemented on Windows.}
+
+\docparam{ysrcMask}{Source y position on the mask. If both xsrcMask and ysrcMask are -1, xsrc and ysrc
+will be assumed for the mask source position. Currently only implemented on Windows.}
+
+
\wxheading{Remarks}
There is partial support for Blit in wxPostScriptDC, under X.
\helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxBitmap}{wxbitmap}, \helpref{wxMask}{wxmask}
+\membersection{wxDC::CacheEnabled}\label{wxdccacheenabled}
+
+\func{static bool}{CacheEnabled}{\void}
+
+On supported platforms (currently only Windows), returns TRUE
+if the DC cache is enabled. The DC cache
+can speed up the \helpref{Blit}{wxdcblit} operation when
+drawing a large number of masked bitmaps.
+
+If using the cache functions in your code, please test for the
+wxUSE\_DC\_CACHEING preprocessor symbol for portability.
+
+\wxheading{See also}
+
+\helpref{wxDC::EnableCache}{wxdcenablecache}, \helpref{wxDC::ClearCache}
+
\membersection{wxDC::CalcBoundingBox}\label{wxdccalcboundingbox}
\func{void}{CalcBoundingBox}{\param{wxCoord }{x}, \param{wxCoord }{y}}
Clears the device context using the current background brush.
+\membersection{wxDC::ClearCache}\label{wxdcclearcache}
+
+\func{static void}{ClearCache}{\void}
+
+On supported platforms (currently only Windows), clears
+the contents of the DC cache (one bitmap and two Windows device contexts). The DC cache
+can speed up the \helpref{Blit}{wxdcblit} operation when
+drawing a large number of masked bitmaps. You should
+call ClearCache at the end of length DC operations if you wish to only use
+the cache transiently; you should also call it as your application exits.
+
+If using the cache functions in your code, please test for the
+wxUSE\_DC\_CACHEING preprocessor symbol for portability.
+
+\wxheading{See also}
+
+\helpref{wxDC::EnableCache}{wxdcenablecache}, \helpref{wxDC::CacheEnabled}
+
\membersection{wxDC::CrossHair}\label{wxdccrosshair}
\func{void}{CrossHair}{\param{wxCoord}{ x}, \param{wxCoord}{ y}}
but it is ignored by wxMSW. Thus, you should avoid using logical functions
with this function in portable programs.
+\membersection{wxDC::EnableCache}\label{wxdcenablecache}
+
+\func{static void}{EnableCache}{\param{bool}{ enableCache}}
+
+On supported platforms (currently only Windows), enables the DC cache
+which can speed up the \helpref{Blit}{wxdcblit} operation when
+drawing a large number of masked bitmaps.
+
+If using the cache functions in your code, please test for the
+wxUSE\_DC\_CACHEING preprocessor symbol for portability.
+
+\wxheading{See also}
+
+\helpref{wxDC::CacheEnabled}{wxdccacheenabled}, \helpref{wxDC::ClearCache}
+
\membersection{wxDC::EndDoc}\label{wxdcenddoc}
\func{void}{EndDoc}{\void}
--- /dev/null
+\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}
+
bool Blit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE)
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1)
{
return DoBlit(xdest, ydest, width, height,
- source, xsrc, ysrc, rop, useMask);
+ source, xsrc, ysrc, rop, useMask, xsrcMask, ysrcMask);
}
bool Blit(const wxPoint& destPt, const wxSize& sz,
wxDC *source, const wxPoint& srcPt,
- int rop = wxCOPY, bool useMask = FALSE)
+ int rop = wxCOPY, bool useMask = FALSE, const wxPoint& srcPtMask = wxPoint(-1, -1))
{
return DoBlit(destPt.x, destPt.y, sz.x, sz.y,
- source, srcPt.x, srcPt.y, rop, useMask);
+ source, srcPt.x, srcPt.y, rop, useMask, srcPtMask.x, srcPtMask.y);
}
#if wxUSE_SPLINES
virtual void SetOptimization(bool WXUNUSED(opt)) { }
virtual bool GetOptimization() { return FALSE; }
+ // Some platforms have a DC cache, which should be cleared
+ // at appropriate points such as after a series of DC operations.
+ // Put ClearCache in the wxDC implementation class, since it has to be
+ // static.
+ // static void ClearCache() ;
+#if wxUSE_DC_CACHEING
+ static void EnableCache(bool cacheing) { sm_cacheing = cacheing; }
+ static bool CacheEnabled() { return sm_cacheing ; }
+#endif
+
// bounding box
// ------------
virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE) = 0;
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1) = 0;
virtual void DoGetSize(int *width, int *height) const = 0;
virtual void DoGetSizeMM(int* width, int* height) const = 0;
bool m_clipping:1;
bool m_isInteractive:1;
bool m_isBBoxValid:1;
+#if wxUSE_DC_CACHEING
+ static bool sm_cacheing;
+#endif
// coordinate system variables
//@}
// -----------------------------------------------------------------------------
-// convinience macros
+// convenience macros
// -----------------------------------------------------------------------------
// append all element of one array to another one
virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int logical_func = wxCOPY, bool useMask = FALSE );
+ int logical_func = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1 );
virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y );
virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
virtual bool DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int logical_func = wxCOPY, bool useMask = FALSE );
+ int logical_func = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1 );
virtual void DoDrawText( const wxString &text, wxCoord x, wxCoord y );
virtual void DoDrawRotatedText(const wxString& text, wxCoord x, wxCoord y,
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE);
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
// this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding
// wxMimeTypesManager class
#define wxUSE_MIMETYPE 1
+// wxSystemOptions class
+#define wxUSE_SYSTEM_OPTIONS 1
+
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// wxValidator class and related methods
#define wxUSE_VALIDATORS 1
+// wxDC cacheing implementation
+#define wxUSE_DC_CACHEING 0
+
// ----------------------------------------------------------------------------
// common dialogs
// ----------------------------------------------------------------------------
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE);
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
// this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE);
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
virtual void DoSetClippingRegionAsRegion(const wxRegion& region);
virtual void DoSetClippingRegion(wxCoord x, wxCoord y,
#define wx_round(a) (int)((a)+.5)
+#if wxUSE_DC_CACHEING
+/*
+ * Cached blitting, maintaining a cache
+ * of bitmaps required for transparent blitting
+ * instead of constant creation/deletion
+ */
+
+class wxDCCacheEntry: public wxObject
+{
+public:
+ wxDCCacheEntry(WXHBITMAP hBitmap, int w, int h, int depth);
+ wxDCCacheEntry(WXHDC hDC, int depth);
+ ~wxDCCacheEntry();
+
+ WXHBITMAP m_bitmap;
+ WXHDC m_dc;
+ int m_width;
+ int m_height;
+ int m_depth;
+};
+#endif
+
class WXDLLEXPORT wxDC : public wxDCBase
{
public:
// update the internal clip box variables
void UpdateClipBox();
+#if wxUSE_DC_CACHEING
+ static wxDCCacheEntry* FindBitmapInCache(WXHDC hDC, int w, int h);
+ static wxDCCacheEntry* FindDCInCache(wxDCCacheEntry* notThis, WXHDC hDC);
+
+ static void AddToBitmapCache(wxDCCacheEntry* entry);
+ static void AddToDCCache(wxDCCacheEntry* entry);
+ static void ClearCache();
+#endif
+
protected:
virtual void DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
int style = wxFLOOD_SURFACE);
virtual bool DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE);
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
// this is gnarly - we can't even call this function DoSetClippingRegion()
// because of virtual function hiding
WXHFONT m_oldFont;
WXHPALETTE m_oldPalette;
+#if wxUSE_DC_CACHEING
+ static wxList sm_bitmapCache;
+ static wxList sm_dcCache;
+#endif
+
DECLARE_DYNAMIC_CLASS(wxDC)
};
virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop = wxCOPY, bool useMask = FALSE);
+ int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
// init the dc
void Init();
// Get a system metric, e.g. scrollbar size
static int GetSystemMetric(int index);
- // User-customizable hints to wxWindows or associated libraries
- // These could also be used to influence GetSystem... calls, indeed
- // to implement SetSystemColour/Font/Metric
-
- static void SetOption(const wxString& name, const wxString& value);
- static void SetOption(const wxString& name, int value);
- static wxString GetOption(const wxString& name) ;
- static int GetOptionInt(const wxString& name) ;
- static bool HasOption(const wxString& name) ;
};
#endif
// wxMimeTypesManager class
#define wxUSE_MIMETYPE 1
+// wxSystemOptions class
+#define wxUSE_SYSTEM_OPTIONS 1
+
// ----------------------------------------------------------------------------
// Individual GUI controls
// ----------------------------------------------------------------------------
// wxValidator class and related methods
#define wxUSE_VALIDATORS 1
+// wxDC cacheing implementation
+#define wxUSE_DC_CACHEING 1
+
// ----------------------------------------------------------------------------
// common dialogs
// ----------------------------------------------------------------------------
,wxCoord vYsrc
,int nRop = wxCOPY
,bool bUseMask = FALSE
+ ,wxCoord xsrcMask = -1
+ ,wxCoord ysrcMask = -1
);
virtual void DoSetClippingRegionAsRegion(const wxRegion& rRegion);
,wxCoord vYsrc
,int nRop = wxCOPY
,bool bUseMask = FALSE
+ ,wxCoord xsrcMask = -1
+ ,wxCoord ysrcMask = -1
);
// init the dc
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// 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_
+
#define wxUSE_FONTMAP 0
#define wxUSE_MIMETYPE 0
#define wxUSE_IMAGE 1
+#define wxUSE_SYSTEM_OPTIONS 1
#define wxUSE_CONTROLS 1
#define wxUSE_POPUPWIN 1
#define wxUSE_GRID 0
#define wxUSE_NEW_GRID 0
#define wxUSE_VALIDATORS 0
+#define wxUSE_DC_CACHEING 0
#define wxUSE_ACCEL 1
#define wxUSE_GENERIC_DIALOGS_IN_MSW 0
#define wxUSE_COMMON_DIALOGS 0
#define wxUSE_FONTMAP 0
#define wxUSE_MIMETYPE 0
#define wxUSE_IMAGE 1
+#define wxUSE_SYSTEM_OPTIONS 1
#define wxUSE_CONTROLS 1
#define wxUSE_POPUPWIN 1
#define wxUSE_GRID 0
#define wxUSE_NEW_GRID 0
#define wxUSE_VALIDATORS 0
+#define wxUSE_DC_CACHEING 1
#define wxUSE_ACCEL 1
#define wxUSE_GENERIC_DIALOGS_IN_MSW 0
#define wxUSE_COMMON_DIALOGS 0
PrepareDC( dc );
DrawShapes(dc);
-
}
void MyCanvas::OnEraseBackground(wxEraseEvent& event)
wxClientDC dc(this);
wxGetApp().TileBitmap(rect, dc, wxGetApp().GetBackgroundBitmap());
}
+#if wxUSE_DC_CACHEING
+ wxDC::ClearCache();
+#endif
}
else
event.Skip(); // The official way of doing it
shape->Draw(dc);
node = node->Next();
}
+#if wxUSE_DC_CACHEING
+ wxDC::ClearCache();
+#endif
}
void MyCanvas::EraseShape(DragShape* shape, wxDC& dc)
}
// MyFrame
-
IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
BEGIN_EVENT_TABLE(MyFrame,wxFrame)
wxImage::AddHandler( new wxPNGHandler );
#endif
+ // The DC cache is an efficiency measure to be used
+ // when a lot of masked blitting is done
+#if wxUSE_DC_CACHEING
+ wxDC::EnableCache(TRUE);
+#endif
+
wxImage image;
if (image.LoadFile("backgrnd.png", wxBITMAP_TYPE_PNG))
{
m_background = image.ConvertToBitmap();
}
-
MyFrame *frame = new MyFrame();
wxString rootName("shape0");
return TRUE;
}
+int MyApp::OnExit()
+{
+#if wxUSE_DC_CACHEING
+ wxDC::ClearCache();
+#endif
+ return 0;
+}
+
bool MyApp::TileBitmap(const wxRect& rect, wxDC& dc, wxBitmap& bitmap)
{
int w = bitmap.GetWidth();
public:
MyApp();
virtual bool OnInit();
+ virtual int OnExit();
//// Operations
#include <math.h>
+bool wxDCBase::sm_cacheing = FALSE;
+
// ============================================================================
// implementation
// ============================================================================
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// 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
+
wxDC *source,
wxCoord xsrc, wxCoord ysrc,
int logical_func,
- bool useMask )
+ bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask )
{
/* this is the nth try to get this utterly useless function to
work. it now completely ignores the scaling or translation
bool use_bitmap_method = FALSE;
bool is_mono = FALSE;
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
if (srcDC->m_isMemDC)
{
if (!memDC->m_selected.Ok()) return FALSE;
-# This file was automatically generated by tmake at 20:23, 2001/07/04
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \
generic/accel.cpp \
common/strconv.cpp \
common/stream.cpp \
common/string.cpp \
+ common/sysopt.cpp \
common/tbarbase.cpp \
common/textcmn.cpp \
common/textfile.cpp \
gtk/dcscreen.cpp \
gtk/dialog.cpp \
gtk/dnd.cpp \
+ gtk/evtloop.cpp \
gtk/font.cpp \
gtk/fontdlg.cpp \
gtk/frame.cpp \
helpchm.h \
helphtml.h \
helpwin.h \
- helpxlp.h \
icon.h \
imagbmp.h \
image.h \
panel.h \
paper.h \
pen.h \
+ popupwin.h \
print.h \
printdlg.h \
prntbase.h \
spinctrl.h \
splash.h \
splitter.h \
+ stack.h \
statbmp.h \
statbox.h \
statline.h \
strconv.h \
stream.h \
string.h \
+ sysopt.h \
tab.h \
tabctrl.h \
taskbar.h \
validate.h \
valtext.h \
variant.h \
+ vector.h \
version.h \
wave.h \
wfstream.h \
gtk/minifram.h \
gtk/notebook.h \
gtk/pen.h \
+ gtk/popupwin.h \
gtk/radiobox.h \
gtk/radiobut.h \
gtk/region.h \
generic/helpext.h \
generic/helphtml.h \
generic/helpwxht.h \
- generic/helpxlp.h \
generic/imaglist.h \
generic/laywin.h \
generic/listctrl.h \
strconv.o \
stream.o \
string.o \
+ sysopt.o \
tbarbase.o \
textcmn.o \
textfile.o \
strconv.d \
stream.d \
string.d \
+ sysopt.d \
tbarbase.d \
textcmn.d \
textfile.d \
dcscreen.o \
dialog.o \
dnd.o \
+ evtloop.o \
font.o \
fontdlg.o \
frame.o \
dcscreen.d \
dialog.d \
dnd.d \
+ evtloop.d \
font.d \
fontdlg.d \
frame.d \
choice.o \
clipbrd.o \
colour.o \
+ combobox.o \
cursor.o \
data.o \
dataobj.o \
dcscreen.o \
dialog.o \
dnd.o \
+ evtloop.o \
font.o \
frame.o \
gdiobj.o \
icon.o \
main.o \
pen.o \
- popupwin.o \
region.o \
settings.o \
timer.o \
choice.d \
clipbrd.d \
colour.d \
+ combobox.d \
cursor.d \
data.d \
dataobj.d \
dcscreen.d \
dialog.d \
dnd.d \
+ evtloop.d \
font.d \
frame.d \
gdiobj.d \
icon.d \
main.d \
pen.d \
- popupwin.d \
region.d \
settings.d \
timer.d \
wxDC *source,
wxCoord xsrc, wxCoord ysrc,
int logical_func,
- bool useMask )
+ bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask )
{
/* this is the nth try to get this utterly useless function to
work. it now completely ignores the scaling or translation
bool use_bitmap_method = FALSE;
bool is_mono = FALSE;
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
if (srcDC->m_isMemDC)
{
if (!memDC->m_selected.Ok()) return FALSE;
-# This file was automatically generated by tmake at 20:23, 2001/07/04
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \
generic/accel.cpp \
common/strconv.cpp \
common/stream.cpp \
common/string.cpp \
+ common/sysopt.cpp \
common/tbarbase.cpp \
common/textcmn.cpp \
common/textfile.cpp \
gtk/dcscreen.cpp \
gtk/dialog.cpp \
gtk/dnd.cpp \
+ gtk/evtloop.cpp \
gtk/font.cpp \
gtk/fontdlg.cpp \
gtk/frame.cpp \
helpchm.h \
helphtml.h \
helpwin.h \
- helpxlp.h \
icon.h \
imagbmp.h \
image.h \
panel.h \
paper.h \
pen.h \
+ popupwin.h \
print.h \
printdlg.h \
prntbase.h \
spinctrl.h \
splash.h \
splitter.h \
+ stack.h \
statbmp.h \
statbox.h \
statline.h \
strconv.h \
stream.h \
string.h \
+ sysopt.h \
tab.h \
tabctrl.h \
taskbar.h \
validate.h \
valtext.h \
variant.h \
+ vector.h \
version.h \
wave.h \
wfstream.h \
gtk/minifram.h \
gtk/notebook.h \
gtk/pen.h \
+ gtk/popupwin.h \
gtk/radiobox.h \
gtk/radiobut.h \
gtk/region.h \
generic/helpext.h \
generic/helphtml.h \
generic/helpwxht.h \
- generic/helpxlp.h \
generic/imaglist.h \
generic/laywin.h \
generic/listctrl.h \
strconv.o \
stream.o \
string.o \
+ sysopt.o \
tbarbase.o \
textcmn.o \
textfile.o \
strconv.d \
stream.d \
string.d \
+ sysopt.d \
tbarbase.d \
textcmn.d \
textfile.d \
dcscreen.o \
dialog.o \
dnd.o \
+ evtloop.o \
font.o \
fontdlg.o \
frame.o \
dcscreen.d \
dialog.d \
dnd.d \
+ evtloop.d \
font.d \
fontdlg.d \
frame.d \
choice.o \
clipbrd.o \
colour.o \
+ combobox.o \
cursor.o \
data.o \
dataobj.o \
dcscreen.o \
dialog.o \
dnd.o \
+ evtloop.o \
font.o \
frame.o \
gdiobj.o \
icon.o \
main.o \
pen.o \
- popupwin.o \
region.o \
settings.o \
timer.o \
choice.d \
clipbrd.d \
colour.d \
+ combobox.d \
cursor.d \
data.d \
dataobj.d \
dcscreen.d \
dialog.d \
dnd.d \
+ evtloop.d \
font.d \
frame.d \
gdiobj.d \
icon.d \
main.d \
pen.d \
- popupwin.d \
region.d \
settings.d \
timer.d \
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "jpeg.mak".
+!MESSAGE NMAKE /f "JpegVC.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "jpeg.mak" CFG="jpeg - Win32 Debug"
+!MESSAGE NMAKE /f "JpegVC.mak" CFG="jpeg - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
+# PROP Scc_ProjName "JpegVC"
+# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.exe
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
- wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask )
+ wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask )
{
wxCHECK_MSG(Ok(), false, wxT("wxDC::DoBlit Illegal dc"));
wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC"));
wxMacPortSetter helper(this) ;
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ;
PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ;
RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ;
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
- wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask )
+ wxDC *source, wxCoord xsrc, wxCoord ysrc, int logical_func , bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask )
{
wxCHECK_MSG(Ok(), false, wxT("wxDC::DoBlit Illegal dc"));
wxCHECK_MSG(source->Ok(), false, wxT("wxDC::DoBlit Illegal source DC"));
wxMacPortSetter helper(this) ;
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
CGrafPtr sourcePort = (CGrafPtr) source->m_macPort ;
PixMapHandle bmappixels = GetGWorldPixMap( sourcePort ) ;
RGBColor white = { 0xFFFF, 0xFFFF,0xFFFF} ;
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop, bool useMask)
+ int rop, bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask)
{
wxCHECK_MSG( Ok(), FALSE, wxT("invalid dc") );
wxCHECK_MSG( source, FALSE, wxT("invalid source dc") );
xsrc = source->LogicalToDeviceX(xsrc);
ysrc = source->LogicalToDeviceY(ysrc);
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+ else
+ {
+ xsrcMask = source->LogicalToDeviceX(xsrcMask);
+ ysrcMask = source->LogicalToDeviceY(ysrcMask);
+ }
+
CalcBoundingBox(xdest, ydest);
CalcBoundingBox(xdest + width, ydest + height);
// TODO: use scaled Blit e.g. as per John Price's implementation in Contrib/Utilities
bool wxWindowDC::DoBlit( wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height,
- wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask )
+ wxDC *source, wxCoord xsrc, wxCoord ysrc, int rop, bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask )
{
wxCHECK_MSG( Ok(), FALSE, "invalid dc" );
double scaleX, scaleY;
GetUserScale(& scaleX, & scaleY);
+ /* TODO: use the mask origin when drawing transparently */
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
// Sorry, can't scale masks just yet
if (!useMask && (scaleX != 1.0 || scaleY != 1.0) && sourceDC->IsKindOf(CLASSINFO(wxMemoryDC)))
{
-# This file was automatically generated by tmake at 18:07, 2001/07/04
+# This file was automatically generated by tmake at 10:33, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MOTIF.T!
ALL_SOURCES = \
generic/busyinfo.cpp \
generic/helpext.cpp \
generic/helphtml.cpp \
generic/helpwxht.cpp \
- generic/helpxlp.cpp \
generic/imaglist.cpp \
generic/laywin.cpp \
generic/listctrl.cpp \
common/object.cpp \
common/objstrm.cpp \
common/paper.cpp \
- common/popupcmn.cpp \
common/prntbase.cpp \
common/process.cpp \
common/protocol.cpp \
common/strconv.cpp \
common/stream.cpp \
common/string.cpp \
+ common/sysopt.cpp \
common/tbarbase.cpp \
common/textcmn.cpp \
common/textfile.cpp \
helpchm.h \
helphtml.h \
helpwin.h \
- helpxlp.h \
icon.h \
imagbmp.h \
image.h \
panel.h \
paper.h \
pen.h \
+ popupwin.h \
print.h \
printdlg.h \
prntbase.h \
spinctrl.h \
splash.h \
splitter.h \
+ stack.h \
statbmp.h \
statbox.h \
statline.h \
strconv.h \
stream.h \
string.h \
+ sysopt.h \
tab.h \
tabctrl.h \
taskbar.h \
validate.h \
valtext.h \
variant.h \
+ vector.h \
version.h \
wave.h \
wfstream.h \
generic/helpext.h \
generic/helphtml.h \
generic/helpwxht.h \
- generic/helpxlp.h \
generic/imaglist.h \
generic/laywin.h \
generic/listctrl.h \
object.o \
objstrm.o \
paper.o \
- popupcmn.o \
prntbase.o \
process.o \
protocol.o \
strconv.o \
stream.o \
string.o \
+ sysopt.o \
tbarbase.o \
textcmn.o \
textfile.o \
object.d \
objstrm.d \
paper.d \
- popupcmn.d \
prntbase.d \
process.d \
protocol.d \
strconv.d \
stream.d \
string.d \
+ sysopt.d \
tbarbase.d \
textcmn.d \
textfile.d \
helpext.o \
helphtml.o \
helpwxht.o \
- helpxlp.o \
imaglist.o \
laywin.o \
listctrl.o \
helpext.d \
helphtml.d \
helpwxht.d \
- helpxlp.d \
imaglist.d \
laywin.d \
listctrl.d \
#include "wx/icon.h"
#endif
-#include "wx/settings.h"
+#include "wx/sysopt.h"
#include "wx/dcprint.h"
#include <string.h>
// than the wxWindows fall-back implementation. So we need
// to be able to switch this on and off at runtime.
bool ok = FALSE;
- if (wxSystemSettings::GetOptionInt(wxT("no-maskblt")) == 0)
+#if wxUSE_SYSTEM_OPTIONS
+ if (wxSystemOptions::GetOptionInt(wxT("no-maskblt")) == 0)
+#endif
{
HDC hdcMem = ::CreateCompatibleDC(GetHdc());
::SelectObject(hdcMem, GetHbitmapOf(bmp));
bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
wxCoord width, wxCoord height,
wxDC *source, wxCoord xsrc, wxCoord ysrc,
- int rop, bool useMask)
+ int rop, bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask)
{
#ifdef __WXMICROWIN__
if (!GetHDC()) return FALSE;
}
}
+ if (xsrcMask == -1 && ysrcMask == -1)
+ {
+ xsrcMask = xsrc; ysrcMask = ysrc;
+ }
+
COLORREF old_textground = ::GetTextColor(GetHdc());
COLORREF old_background = ::GetBkColor(GetHdc());
if (m_textForegroundColour.Ok())
// On some systems, MaskBlt succeeds yet is much much slower
// than the wxWindows fall-back implementation. So we need
// to be able to switch this on and off at runtime.
- if (wxSystemSettings::GetOptionInt(wxT("no-maskblt")) == 0)
+#if wxUSE_SYSTEM_OPTIONS
+ if (wxSystemOptions::GetOptionInt(wxT("no-maskblt")) == 0)
+#endif
{
success = ::MaskBlt(GetHdc(), xdest, ydest, width, height,
GetHdcOf(*source), xsrc, ysrc,
- (HBITMAP)mask->GetMaskBitmap(), xsrc, ysrc,
+ (HBITMAP)mask->GetMaskBitmap(), xsrcMask, ysrcMask,
MAKEROP4(dwRop, DSTCOPY)) != 0;
}
#endif // Win32
{
// Blit bitmap with mask
+ HDC dc_mask ;
+ HDC dc_buffer ;
+ HBITMAP buffer_bmap ;
- // create a temp buffer bitmap and DCs to access it and the mask
- HDC dc_mask = ::CreateCompatibleDC(GetHdcOf(*source));
- HDC dc_buffer = ::CreateCompatibleDC(GetHdc());
- HBITMAP buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), width, height);
- ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap());
- ::SelectObject(dc_buffer, buffer_bmap);
+#if wxUSE_DC_CACHEING
+ if (CacheEnabled())
+ {
+ // create a temp buffer bitmap and DCs to access it and the mask
+ wxDCCacheEntry* dcCacheEntry1 = FindDCInCache(NULL, source->GetHDC());
+ dc_mask = (HDC) dcCacheEntry1->m_dc;
+
+ wxDCCacheEntry* dcCacheEntry2 = FindDCInCache(dcCacheEntry1, dest->GetHDC());
+ dc_buffer = (HDC) dcCacheEntry2->m_dc;
+
+ wxDCCacheEntry* bitmapCacheEntry = FindBitmapInCache(dest->GetHDC(),
+ width, height);
+
+ buffer_bmap = (HBITMAP) bitmapCacheEntry->m_bitmap;
+ }
+ else
+#endif
+ {
+ // create a temp buffer bitmap and DCs to access it and the mask
+ dc_mask = ::CreateCompatibleDC(GetHdcOf(*source));
+ dc_buffer = ::CreateCompatibleDC(GetHdc());
+ buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), width, height);
+ ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap());
+ ::SelectObject(dc_buffer, buffer_bmap);
+ }
// copy dest to buffer
if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height,
COLORREF prevBkCol = ::SetBkColor(GetHdc(), RGB(255, 255, 255));
COLORREF prevCol = ::SetTextColor(GetHdc(), RGB(0, 0, 0));
if ( !::BitBlt(dc_buffer, 0, 0, (int)width, (int)height,
- dc_mask, xsrc, ysrc, SRCAND) )
+ dc_mask, xsrcMask, ysrcMask, SRCAND) )
{
wxLogLastError(wxT("BitBlt"));
}
::SetBkColor(GetHdc(), RGB(0, 0, 0));
::SetTextColor(GetHdc(), RGB(255, 255, 255));
if ( !::BitBlt(GetHdc(), xdest, ydest, (int)width, (int)height,
- dc_mask, xsrc, ysrc, SRCAND) )
+ dc_mask, xsrcMask, ysrcMask, SRCAND) )
{
wxLogLastError(wxT("BitBlt"));
}
// tidy up temporary DCs and bitmap
::SelectObject(dc_mask, 0);
- ::DeleteDC(dc_mask);
::SelectObject(dc_buffer, 0);
- ::DeleteDC(dc_buffer);
- ::DeleteObject(buffer_bmap);
+
+#if wxUSE_DC_CACHEING
+ if (!CacheEnabled())
+#endif
+ {
+ ::DeleteDC(dc_mask);
+ ::DeleteDC(dc_buffer);
+ ::DeleteObject(buffer_bmap);
+ }
}
}
else // no mask, just BitBlt() it
}
#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
wxCoord width, wxCoord height,
wxDC *source,
wxCoord xsrc, wxCoord ysrc,
- int WXUNUSED(rop), bool useMask)
+ int WXUNUSED(rop), bool useMask,
+ wxCoord xsrcMask, wxCoord ysrcMask)
{
bool success = TRUE;
-# This file was automatically generated by tmake at 18:07, 2001/07/04
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MSW.T!
ALL_SOURCES = \
generic/busyinfo.cpp \
common/object.cpp \
common/objstrm.cpp \
common/paper.cpp \
- common/popupcmn.cpp \
common/prntbase.cpp \
common/process.cpp \
common/protocol.cpp \
common/strconv.cpp \
common/stream.cpp \
common/string.cpp \
+ common/sysopt.cpp \
common/tbarbase.cpp \
common/textcmn.cpp \
common/textfile.cpp \
msw/ole/dropsrc.cpp \
msw/ole/droptgt.cpp \
msw/enhmeta.cpp \
+ msw/evtloop.cpp \
msw/filedlg.cpp \
msw/font.cpp \
msw/fontdlg.cpp \
helpchm.h \
helphtml.h \
helpwin.h \
- helpxlp.h \
icon.h \
imagbmp.h \
image.h \
panel.h \
paper.h \
pen.h \
+ popupwin.h \
print.h \
printdlg.h \
prntbase.h \
spinctrl.h \
splash.h \
splitter.h \
+ stack.h \
statbmp.h \
statbox.h \
statline.h \
strconv.h \
stream.h \
string.h \
+ sysopt.h \
tab.h \
tabctrl.h \
taskbar.h \
validate.h \
valtext.h \
variant.h \
+ vector.h \
version.h \
wave.h \
wfstream.h \
generic/helpext.h \
generic/helphtml.h \
generic/helpwxht.h \
- generic/helpxlp.h \
generic/imaglist.h \
generic/laywin.h \
generic/listctrl.h \
object.o \
objstrm.o \
paper.o \
- popupcmn.o \
prntbase.o \
process.o \
protocol.o \
strconv.o \
stream.o \
string.o \
+ sysopt.o \
tbarbase.o \
textcmn.o \
textfile.o \
object.d \
objstrm.d \
paper.d \
- popupcmn.d \
prntbase.d \
process.d \
protocol.d \
strconv.d \
stream.d \
string.d \
+ sysopt.d \
tbarbase.d \
textcmn.d \
textfile.d \
dirdlg.o \
dragimag.o \
enhmeta.o \
+ evtloop.o \
filedlg.o \
font.o \
fontdlg.o \
dirdlg.d \
dragimag.d \
enhmeta.d \
+ evtloop.d \
filedlg.d \
font.d \
fontdlg.d \
-# This file was automatically generated by tmake at 16:24, 2001/03/13
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BASEVC.T!
# File: makebase.vc
..\common\$D\datstrm.obj \
..\common\$D\db.obj \
..\common\$D\dbtable.obj \
+ ..\common\$D\dircmn.obj \
..\common\$D\dynarray.obj \
..\common\$D\dynlib.obj \
..\common\$D\encconv.obj \
..\common\$D\strconv.obj \
..\common\$D\stream.obj \
..\common\$D\string.obj \
+ ..\common\$D\sysopt.obj \
..\common\$D\textfile.obj \
..\common\$D\timercmn.obj \
..\common\$D\tokenzr.obj \
..\msw\$D\mimetype.obj \
..\msw\$D\regconf.obj \
..\msw\$D\registry.obj \
+ ..\msw\$D\snglinst.obj \
..\msw\$D\thread.obj \
..\msw\$D\utils.obj \
..\msw\$D\utilsexc.obj
-# 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!
#
$(MSWDIR)\objstrm.obj \
$(MSWDIR)\odbc.obj \
$(MSWDIR)\paper.obj \
- $(MSWDIR)\popupcmn.obj \
$(MSWDIR)\prntbase.obj \
$(MSWDIR)\process.obj \
$(MSWDIR)\protocol.obj \
$(MSWDIR)\strconv.obj \
$(MSWDIR)\stream.obj \
$(MSWDIR)\string.obj \
+ $(MSWDIR)\sysopt.obj \
$(MSWDIR)\tbarbase.obj \
$(MSWDIR)\textcmn.obj \
$(MSWDIR)\textfile.obj \
$(MSWDIR)\dropsrc.obj \
$(MSWDIR)\droptgt.obj \
$(MSWDIR)\enhmeta.obj \
+ $(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \
$(MSWDIR)\enhmeta.obj: $(MSWDIR)\enhmeta.$(SRCSUFF)
+$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF)
+
$(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF)
$(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF)
$(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF)
-$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF)
-
$(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\process.obj: $(COMMDIR)\process.$(SRCSUFF)
$(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF)
+$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF)
+
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF)
-# 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!
#
$(MSWDIR)\object.obj \
$(MSWDIR)\objstrm.obj \
$(MSWDIR)\paper.obj \
- $(MSWDIR)\popupcmn.obj \
$(MSWDIR)\prntbase.obj \
$(MSWDIR)\quantize.obj \
$(MSWDIR)\radiocmn.obj \
$(MSWDIR)\strconv.obj \
$(MSWDIR)\stream.obj \
$(MSWDIR)\string.obj \
+ $(MSWDIR)\sysopt.obj \
$(MSWDIR)\tbarbase.obj \
$(MSWDIR)\textcmn.obj \
$(MSWDIR)\textfile.obj \
$(MSWDIR)\dibutils.obj \
$(MSWDIR)\dir.obj \
$(MSWDIR)\dragimag.obj \
+ $(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \
$(MSWDIR)\dragimag.obj: $(MSWDIR)\dragimag.$(SRCSUFF)
+$(MSWDIR)\evtloop.obj: $(MSWDIR)\evtloop.$(SRCSUFF)
+
$(MSWDIR)\filedlg.obj: $(MSWDIR)\filedlg.$(SRCSUFF)
$(MSWDIR)\font.obj: $(MSWDIR)\font.$(SRCSUFF)
$(MSWDIR)\paper.obj: $(COMMDIR)\paper.$(SRCSUFF)
-$(MSWDIR)\popupcmn.obj: $(COMMDIR)\popupcmn.$(SRCSUFF)
-
$(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\quantize.obj: $(COMMDIR)\quantize.$(SRCSUFF)
$(MSWDIR)\string.obj: $(COMMDIR)\string.$(SRCSUFF)
+$(MSWDIR)\sysopt.obj: $(COMMDIR)\sysopt.$(SRCSUFF)
+
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\textcmn.obj: $(COMMDIR)\textcmn.$(SRCSUFF)
-# 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!
#
COMMONOBJS2 = \
$(COMMDIR)\paper.obj \
- $(COMMDIR)\popupcmn.obj \
$(COMMDIR)\prntbase.obj \
$(COMMDIR)\quantize.obj \
$(COMMDIR)\radiocmn.obj \
$(COMMDIR)\strconv.obj \
$(COMMDIR)\stream.obj \
$(COMMDIR)\string.obj \
+ $(COMMDIR)\sysopt.obj \
$(COMMDIR)\tbarbase.obj \
$(COMMDIR)\textcmn.obj \
$(COMMDIR)\textfile.obj \
$(MSWDIR)\dibutils.obj \
$(MSWDIR)\dir.obj \
$(MSWDIR)\dragimag.obj \
+ $(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
+$(MSWDIR)/evtloop.obj: $*.$(SRCSUFF)
+ cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
+<<
+
$(MSWDIR)/filedlg.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
-$(COMMDIR)/popupcmn.obj: $*.$(SRCSUFF)
- cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
<<
+$(COMMDIR)/sysopt.obj: $*.$(SRCSUFF)
+ cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
+<<
+
$(COMMDIR)/tbarbase.obj: $*.$(SRCSUFF)
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-# 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!
#
$(COMMDIR)/object.$(OBJSUFF) \
$(COMMDIR)/objstrm.$(OBJSUFF) \
$(COMMDIR)/paper.$(OBJSUFF) \
- $(COMMDIR)/popupcmn.$(OBJSUFF) \
$(COMMDIR)/prntbase.$(OBJSUFF) \
$(COMMDIR)/process.$(OBJSUFF) \
$(COMMDIR)/protocol.$(OBJSUFF) \
$(COMMDIR)/strconv.$(OBJSUFF) \
$(COMMDIR)/stream.$(OBJSUFF) \
$(COMMDIR)/string.$(OBJSUFF) \
+ $(COMMDIR)/sysopt.$(OBJSUFF) \
$(COMMDIR)/tbarbase.$(OBJSUFF) \
$(COMMDIR)/textcmn.$(OBJSUFF) \
$(COMMDIR)/textfile.$(OBJSUFF) \
$(MSWDIR)/dir.$(OBJSUFF) \
$(MSWDIR)/dragimag.$(OBJSUFF) \
$(MSWDIR)/enhmeta.$(OBJSUFF) \
+ $(MSWDIR)/evtloop.$(OBJSUFF) \
$(MSWDIR)/filedlg.$(OBJSUFF) \
$(MSWDIR)/font.$(OBJSUFF) \
$(MSWDIR)/fontdlg.$(OBJSUFF) \
-# This file was automatically generated by tmake at 18:07, 2001/07/04
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
# Symantec C++ makefile for the msw objects
$(COMMDIR)\objstrm.obj \
$(COMMDIR)\odbc.obj \
$(COMMDIR)\paper.obj \
- $(COMMDIR)\popupcmn.obj \
$(COMMDIR)\prntbase.obj \
$(COMMDIR)\process.obj \
$(COMMDIR)\protocol.obj \
$(COMMDIR)\strconv.obj \
$(COMMDIR)\stream.obj \
$(COMMDIR)\string.obj \
+ $(COMMDIR)\sysopt.obj \
$(COMMDIR)\tbarbase.obj \
$(COMMDIR)\textcmn.obj \
$(COMMDIR)\textfile.obj \
$(MSWDIR)\ole\dropsrc.obj \
$(MSWDIR)\ole\droptgt.obj \
$(MSWDIR)\enhmeta.obj \
+ $(MSWDIR)\evtloop.obj \
$(MSWDIR)\filedlg.obj \
$(MSWDIR)\font.obj \
$(MSWDIR)\fontdlg.obj \
-# This file was automatically generated by tmake at 18:07, 2001/07/04
+# This file was automatically generated by tmake at 10:32, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
# File: makefile.vc
JPEGDIR = $(WXDIR)\src\jpeg
TIFFDIR = $(WXDIR)\src\tiff
-{..\generic}.cpp{..\generic\$D}.obj:
+{$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\common}.cpp{..\common\$D}.obj:
+{$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\common}.c{..\common\$D}.obj:
+{$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
-{..\msw}.cpp{..\msw\$D}.obj:
+{$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\msw}.c{..\msw\$D}.obj:
+{$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
-{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
+{$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\html}.cpp{..\html\$D}.obj:
+{$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-GENERICOBJS= ..\generic\$D\busyinfo.obj \
- ..\generic\$D\calctrl.obj \
- ..\generic\$D\choicdgg.obj \
- ..\generic\$D\dirctrlg.obj \
- ..\generic\$D\dragimgg.obj \
- ..\generic\$D\grid.obj \
- ..\generic\$D\gridctrl.obj \
- ..\generic\$D\gridsel.obj \
- ..\generic\$D\laywin.obj \
- ..\generic\$D\logg.obj \
- ..\generic\$D\numdlgg.obj \
- ..\generic\$D\panelg.obj \
- ..\generic\$D\progdlgg.obj \
- ..\generic\$D\prop.obj \
- ..\generic\$D\propform.obj \
- ..\generic\$D\proplist.obj \
- ..\generic\$D\sashwin.obj \
- ..\generic\$D\scrlwing.obj \
- ..\generic\$D\spinctlg.obj \
- ..\generic\$D\splash.obj \
- ..\generic\$D\splitter.obj \
- ..\generic\$D\statusbr.obj \
- ..\generic\$D\tbarsmpl.obj \
- ..\generic\$D\textdlgg.obj \
- ..\generic\$D\tipdlg.obj \
- ..\generic\$D\tipwin.obj \
- ..\generic\$D\treectlg.obj \
- ..\generic\$D\treelay.obj \
- ..\generic\$D\wizard.obj
+GENERICOBJS= $(GENDIR)\$D\busyinfo.obj \
+ $(GENDIR)\$D\calctrl.obj \
+ $(GENDIR)\$D\choicdgg.obj \
+ $(GENDIR)\$D\dirctrlg.obj \
+ $(GENDIR)\$D\dragimgg.obj \
+ $(GENDIR)\$D\grid.obj \
+ $(GENDIR)\$D\gridctrl.obj \
+ $(GENDIR)\$D\gridsel.obj \
+ $(GENDIR)\$D\laywin.obj \
+ $(GENDIR)\$D\logg.obj \
+ $(GENDIR)\$D\numdlgg.obj \
+ $(GENDIR)\$D\panelg.obj \
+ $(GENDIR)\$D\progdlgg.obj \
+ $(GENDIR)\$D\prop.obj \
+ $(GENDIR)\$D\propform.obj \
+ $(GENDIR)\$D\proplist.obj \
+ $(GENDIR)\$D\sashwin.obj \
+ $(GENDIR)\$D\scrlwing.obj \
+ $(GENDIR)\$D\spinctlg.obj \
+ $(GENDIR)\$D\splash.obj \
+ $(GENDIR)\$D\splitter.obj \
+ $(GENDIR)\$D\statusbr.obj \
+ $(GENDIR)\$D\tbarsmpl.obj \
+ $(GENDIR)\$D\textdlgg.obj \
+ $(GENDIR)\$D\tipdlg.obj \
+ $(GENDIR)\$D\tipwin.obj \
+ $(GENDIR)\$D\treectlg.obj \
+ $(GENDIR)\$D\treelay.obj \
+ $(GENDIR)\$D\wizard.obj
# These are generic things that don't need to be compiled on MSW,
# but sometimes it's useful to do so for testing purposes.
-NONESSENTIALOBJS= ..\generic\$D\colrdlgg.obj \
- ..\generic\$D\dirdlgg.obj \
- ..\generic\$D\fontdlgg.obj \
- ..\generic\$D\helpext.obj \
- ..\generic\$D\helphtml.obj \
- ..\generic\$D\helpwxht.obj \
- ..\generic\$D\helpxlp.obj \
- ..\generic\$D\imaglist.obj \
- ..\generic\$D\listctrl.obj \
- ..\generic\$D\msgdlgg.obj \
- ..\generic\$D\notebook.obj \
- ..\generic\$D\tabg.obj
+NONESSENTIALOBJS= $(GENDIR)\$D\colrdlgg.obj \
+ $(GENDIR)\$D\dirdlgg.obj \
+ $(GENDIR)\$D\fontdlgg.obj \
+ $(GENDIR)\$D\helpext.obj \
+ $(GENDIR)\$D\helphtml.obj \
+ $(GENDIR)\$D\helpwxht.obj \
+ $(GENDIR)\$D\imaglist.obj \
+ $(GENDIR)\$D\listctrl.obj \
+ $(GENDIR)\$D\msgdlgg.obj \
+ $(GENDIR)\$D\notebook.obj \
+ $(GENDIR)\$D\tabg.obj
COMMONOBJS = \
- ..\common\$D\y_tab.obj \
- ..\common\$D\appcmn.obj \
- ..\common\$D\choiccmn.obj \
- ..\common\$D\clipcmn.obj \
- ..\common\$D\cmdline.obj \
- ..\common\$D\cmdproc.obj \
- ..\common\$D\cmndata.obj \
- ..\common\$D\config.obj \
- ..\common\$D\cshelp.obj \
- ..\common\$D\ctrlcmn.obj \
- ..\common\$D\ctrlsub.obj \
- ..\common\$D\datetime.obj \
- ..\common\$D\datstrm.obj \
- ..\common\$D\db.obj \
- ..\common\$D\dbgrid.obj \
- ..\common\$D\dbtable.obj \
- ..\common\$D\dcbase.obj \
- ..\common\$D\dircmn.obj \
- ..\common\$D\dlgcmn.obj \
- ..\common\$D\dndcmn.obj \
- ..\common\$D\dobjcmn.obj \
- ..\common\$D\docmdi.obj \
- ..\common\$D\docview.obj \
- ..\common\$D\dynarray.obj \
- ..\common\$D\dynlib.obj \
- ..\common\$D\effects.obj \
- ..\common\$D\encconv.obj \
- ..\common\$D\event.obj \
- ..\common\$D\extended.obj \
- ..\common\$D\ffile.obj \
- ..\common\$D\file.obj \
- ..\common\$D\fileconf.obj \
- ..\common\$D\filefn.obj \
- ..\common\$D\filename.obj \
- ..\common\$D\filesys.obj \
- ..\common\$D\fontcmn.obj \
- ..\common\$D\fontmap.obj \
- ..\common\$D\framecmn.obj \
- ..\common\$D\fs_inet.obj \
- ..\common\$D\fs_mem.obj \
- ..\common\$D\fs_zip.obj \
- ..\common\$D\ftp.obj \
- ..\common\$D\gaugecmn.obj \
- ..\common\$D\gdicmn.obj \
- ..\common\$D\geometry.obj \
- ..\common\$D\gifdecod.obj \
- ..\common\$D\hash.obj \
- ..\common\$D\helpbase.obj \
- ..\common\$D\http.obj \
- ..\common\$D\imagall.obj \
- ..\common\$D\imagbmp.obj \
- ..\common\$D\image.obj \
- ..\common\$D\imaggif.obj \
- ..\common\$D\imagjpeg.obj \
- ..\common\$D\imagpcx.obj \
- ..\common\$D\imagpng.obj \
- ..\common\$D\imagpnm.obj \
- ..\common\$D\imagtiff.obj \
- ..\common\$D\imagxpm.obj \
- ..\common\$D\intl.obj \
- ..\common\$D\ipcbase.obj \
- ..\common\$D\layout.obj \
- ..\common\$D\lboxcmn.obj \
- ..\common\$D\list.obj \
- ..\common\$D\log.obj \
- ..\common\$D\longlong.obj \
- ..\common\$D\matrix.obj \
- ..\common\$D\memory.obj \
- ..\common\$D\menucmn.obj \
- ..\common\$D\mimecmn.obj \
- ..\common\$D\module.obj \
- ..\common\$D\mstream.obj \
- ..\common\$D\nbkbase.obj \
- ..\common\$D\object.obj \
- ..\common\$D\objstrm.obj \
- ..\common\$D\odbc.obj \
- ..\common\$D\paper.obj \
- ..\common\$D\popupcmn.obj \
- ..\common\$D\prntbase.obj \
- ..\common\$D\process.obj \
- ..\common\$D\protocol.obj \
- ..\common\$D\quantize.obj \
- ..\common\$D\radiocmn.obj \
- ..\common\$D\resource.obj \
- ..\common\$D\sckaddr.obj \
- ..\common\$D\sckfile.obj \
- ..\common\$D\sckipc.obj \
- ..\common\$D\sckstrm.obj \
- ..\common\$D\serbase.obj \
- ..\common\$D\sizer.obj \
- ..\common\$D\socket.obj \
- ..\common\$D\strconv.obj \
- ..\common\$D\stream.obj \
- ..\common\$D\string.obj \
- ..\common\$D\tbarbase.obj \
- ..\common\$D\textcmn.obj \
- ..\common\$D\textfile.obj \
- ..\common\$D\timercmn.obj \
- ..\common\$D\tokenzr.obj \
- ..\common\$D\treebase.obj \
- ..\common\$D\txtstrm.obj \
- ..\common\$D\unzip.obj \
- ..\common\$D\url.obj \
- ..\common\$D\utilscmn.obj \
- ..\common\$D\valgen.obj \
- ..\common\$D\validate.obj \
- ..\common\$D\valtext.obj \
- ..\common\$D\variant.obj \
- ..\common\$D\wfstream.obj \
- ..\common\$D\wincmn.obj \
- ..\common\$D\wxchar.obj \
- ..\common\$D\wxexpr.obj \
- ..\common\$D\xpmdecod.obj \
- ..\common\$D\zipstrm.obj \
- ..\common\$D\zstream.obj
-
-MSWOBJS = ..\msw\$D\accel.obj \
- ..\msw\$D\app.obj \
- ..\msw\ole\$D\automtn.obj \
- ..\msw\$D\bitmap.obj \
- ..\msw\$D\bmpbuttn.obj \
- ..\msw\$D\brush.obj \
- ..\msw\$D\button.obj \
- ..\msw\$D\caret.obj \
- ..\msw\$D\checkbox.obj \
- ..\msw\$D\checklst.obj \
- ..\msw\$D\choice.obj \
- ..\msw\$D\clipbrd.obj \
- ..\msw\$D\colordlg.obj \
- ..\msw\$D\colour.obj \
- ..\msw\$D\combobox.obj \
- ..\msw\$D\control.obj \
- ..\msw\$D\curico.obj \
- ..\msw\$D\cursor.obj \
- ..\msw\$D\data.obj \
- ..\msw\ole\$D\dataobj.obj \
- ..\msw\$D\dc.obj \
- ..\msw\$D\dcclient.obj \
- ..\msw\$D\dcmemory.obj \
- ..\msw\$D\dcprint.obj \
- ..\msw\$D\dcscreen.obj \
- ..\msw\$D\dde.obj \
- ..\msw\$D\dialog.obj \
- ..\msw\$D\dialup.obj \
- ..\msw\$D\dib.obj \
- ..\msw\$D\dibutils.obj \
- ..\msw\$D\dir.obj \
- ..\msw\$D\dirdlg.obj \
- ..\msw\$D\dragimag.obj \
- ..\msw\ole\$D\dropsrc.obj \
- ..\msw\ole\$D\droptgt.obj \
- ..\msw\$D\enhmeta.obj \
- ..\msw\$D\filedlg.obj \
- ..\msw\$D\font.obj \
- ..\msw\$D\fontdlg.obj \
- ..\msw\$D\fontenum.obj \
- ..\msw\$D\fontutil.obj \
- ..\msw\$D\frame.obj \
- ..\msw\$D\gauge95.obj \
- ..\msw\$D\gdiimage.obj \
- ..\msw\$D\gdiobj.obj \
- ..\msw\$D\glcanvas.obj \
- ..\msw\$D\gsocket.obj \
- ..\msw\$D\gsockmsw.obj \
- ..\msw\$D\helpchm.obj \
- ..\msw\$D\helpwin.obj \
- ..\msw\$D\icon.obj \
- ..\msw\$D\imaglist.obj \
- ..\msw\$D\joystick.obj \
- ..\msw\$D\listbox.obj \
- ..\msw\$D\listctrl.obj \
- ..\msw\$D\main.obj \
- ..\msw\$D\mdi.obj \
- ..\msw\$D\menu.obj \
- ..\msw\$D\menuitem.obj \
- ..\msw\$D\metafile.obj \
- ..\msw\$D\mimetype.obj \
- ..\msw\$D\minifram.obj \
- ..\msw\$D\msgdlg.obj \
- ..\msw\$D\nativdlg.obj \
- ..\msw\$D\notebook.obj \
- ..\msw\ole\$D\oleutils.obj \
- ..\msw\$D\ownerdrw.obj \
- ..\msw\$D\palette.obj \
- ..\msw\$D\pen.obj \
- ..\msw\$D\penwin.obj \
- ..\msw\$D\printdlg.obj \
- ..\msw\$D\printwin.obj \
- ..\msw\$D\radiobox.obj \
- ..\msw\$D\radiobut.obj \
- ..\msw\$D\regconf.obj \
- ..\msw\$D\region.obj \
- ..\msw\$D\registry.obj \
- ..\msw\$D\scrolbar.obj \
- ..\msw\$D\settings.obj \
- ..\msw\$D\slider95.obj \
- ..\msw\$D\snglinst.obj \
- ..\msw\$D\spinbutt.obj \
- ..\msw\$D\spinctrl.obj \
- ..\msw\$D\statbmp.obj \
- ..\msw\$D\statbox.obj \
- ..\msw\$D\statbr95.obj \
- ..\msw\$D\statline.obj \
- ..\msw\$D\stattext.obj \
- ..\msw\$D\tabctrl.obj \
- ..\msw\$D\taskbar.obj \
- ..\msw\$D\tbar95.obj \
- ..\msw\$D\textctrl.obj \
- ..\msw\$D\tglbtn.obj \
- ..\msw\$D\thread.obj \
- ..\msw\$D\timer.obj \
- ..\msw\$D\tooltip.obj \
- ..\msw\$D\treectrl.obj \
- ..\msw\$D\utils.obj \
- ..\msw\$D\utilsexc.obj \
- ..\msw\ole\$D\uuid.obj \
- ..\msw\$D\wave.obj \
- ..\msw\$D\window.obj
-
-HTMLOBJS = ..\html\$D\helpctrl.obj \
- ..\html\$D\helpdata.obj \
- ..\html\$D\helpfrm.obj \
- ..\html\$D\htmlcell.obj \
- ..\html\$D\htmlfilt.obj \
- ..\html\$D\htmlpars.obj \
- ..\html\$D\htmltag.obj \
- ..\html\$D\htmlwin.obj \
- ..\html\$D\htmprint.obj \
- ..\html\$D\m_dflist.obj \
- ..\html\$D\m_fonts.obj \
- ..\html\$D\m_hline.obj \
- ..\html\$D\m_image.obj \
- ..\html\$D\m_layout.obj \
- ..\html\$D\m_links.obj \
- ..\html\$D\m_list.obj \
- ..\html\$D\m_meta.obj \
- ..\html\$D\m_pre.obj \
- ..\html\$D\m_tables.obj \
- ..\html\$D\winpars.obj
+ $(COMMDIR)\$D\y_tab.obj \
+ $(COMMDIR)\$D\appcmn.obj \
+ $(COMMDIR)\$D\choiccmn.obj \
+ $(COMMDIR)\$D\clipcmn.obj \
+ $(COMMDIR)\$D\cmdline.obj \
+ $(COMMDIR)\$D\cmdproc.obj \
+ $(COMMDIR)\$D\cmndata.obj \
+ $(COMMDIR)\$D\config.obj \
+ $(COMMDIR)\$D\cshelp.obj \
+ $(COMMDIR)\$D\ctrlcmn.obj \
+ $(COMMDIR)\$D\ctrlsub.obj \
+ $(COMMDIR)\$D\datetime.obj \
+ $(COMMDIR)\$D\datstrm.obj \
+ $(COMMDIR)\$D\db.obj \
+ $(COMMDIR)\$D\dbgrid.obj \
+ $(COMMDIR)\$D\dbtable.obj \
+ $(COMMDIR)\$D\dcbase.obj \
+ $(COMMDIR)\$D\dircmn.obj \
+ $(COMMDIR)\$D\dlgcmn.obj \
+ $(COMMDIR)\$D\dndcmn.obj \
+ $(COMMDIR)\$D\dobjcmn.obj \
+ $(COMMDIR)\$D\docmdi.obj \
+ $(COMMDIR)\$D\docview.obj \
+ $(COMMDIR)\$D\dynarray.obj \
+ $(COMMDIR)\$D\dynlib.obj \
+ $(COMMDIR)\$D\effects.obj \
+ $(COMMDIR)\$D\encconv.obj \
+ $(COMMDIR)\$D\event.obj \
+ $(COMMDIR)\$D\extended.obj \
+ $(COMMDIR)\$D\ffile.obj \
+ $(COMMDIR)\$D\file.obj \
+ $(COMMDIR)\$D\fileconf.obj \
+ $(COMMDIR)\$D\filefn.obj \
+ $(COMMDIR)\$D\filename.obj \
+ $(COMMDIR)\$D\filesys.obj \
+ $(COMMDIR)\$D\fontcmn.obj \
+ $(COMMDIR)\$D\fontmap.obj \
+ $(COMMDIR)\$D\framecmn.obj \
+ $(COMMDIR)\$D\fs_inet.obj \
+ $(COMMDIR)\$D\fs_mem.obj \
+ $(COMMDIR)\$D\fs_zip.obj \
+ $(COMMDIR)\$D\ftp.obj \
+ $(COMMDIR)\$D\gaugecmn.obj \
+ $(COMMDIR)\$D\gdicmn.obj \
+ $(COMMDIR)\$D\geometry.obj \
+ $(COMMDIR)\$D\gifdecod.obj \
+ $(COMMDIR)\$D\hash.obj \
+ $(COMMDIR)\$D\helpbase.obj \
+ $(COMMDIR)\$D\http.obj \
+ $(COMMDIR)\$D\imagall.obj \
+ $(COMMDIR)\$D\imagbmp.obj \
+ $(COMMDIR)\$D\image.obj \
+ $(COMMDIR)\$D\imaggif.obj \
+ $(COMMDIR)\$D\imagjpeg.obj \
+ $(COMMDIR)\$D\imagpcx.obj \
+ $(COMMDIR)\$D\imagpng.obj \
+ $(COMMDIR)\$D\imagpnm.obj \
+ $(COMMDIR)\$D\imagtiff.obj \
+ $(COMMDIR)\$D\imagxpm.obj \
+ $(COMMDIR)\$D\intl.obj \
+ $(COMMDIR)\$D\ipcbase.obj \
+ $(COMMDIR)\$D\layout.obj \
+ $(COMMDIR)\$D\lboxcmn.obj \
+ $(COMMDIR)\$D\list.obj \
+ $(COMMDIR)\$D\log.obj \
+ $(COMMDIR)\$D\longlong.obj \
+ $(COMMDIR)\$D\matrix.obj \
+ $(COMMDIR)\$D\memory.obj \
+ $(COMMDIR)\$D\menucmn.obj \
+ $(COMMDIR)\$D\mimecmn.obj \
+ $(COMMDIR)\$D\module.obj \
+ $(COMMDIR)\$D\mstream.obj \
+ $(COMMDIR)\$D\nbkbase.obj \
+ $(COMMDIR)\$D\object.obj \
+ $(COMMDIR)\$D\objstrm.obj \
+ $(COMMDIR)\$D\odbc.obj \
+ $(COMMDIR)\$D\paper.obj \
+ $(COMMDIR)\$D\prntbase.obj \
+ $(COMMDIR)\$D\process.obj \
+ $(COMMDIR)\$D\protocol.obj \
+ $(COMMDIR)\$D\quantize.obj \
+ $(COMMDIR)\$D\radiocmn.obj \
+ $(COMMDIR)\$D\resource.obj \
+ $(COMMDIR)\$D\sckaddr.obj \
+ $(COMMDIR)\$D\sckfile.obj \
+ $(COMMDIR)\$D\sckipc.obj \
+ $(COMMDIR)\$D\sckstrm.obj \
+ $(COMMDIR)\$D\serbase.obj \
+ $(COMMDIR)\$D\sizer.obj \
+ $(COMMDIR)\$D\socket.obj \
+ $(COMMDIR)\$D\strconv.obj \
+ $(COMMDIR)\$D\stream.obj \
+ $(COMMDIR)\$D\string.obj \
+ $(COMMDIR)\$D\sysopt.obj \
+ $(COMMDIR)\$D\tbarbase.obj \
+ $(COMMDIR)\$D\textcmn.obj \
+ $(COMMDIR)\$D\textfile.obj \
+ $(COMMDIR)\$D\timercmn.obj \
+ $(COMMDIR)\$D\tokenzr.obj \
+ $(COMMDIR)\$D\treebase.obj \
+ $(COMMDIR)\$D\txtstrm.obj \
+ $(COMMDIR)\$D\unzip.obj \
+ $(COMMDIR)\$D\url.obj \
+ $(COMMDIR)\$D\utilscmn.obj \
+ $(COMMDIR)\$D\valgen.obj \
+ $(COMMDIR)\$D\validate.obj \
+ $(COMMDIR)\$D\valtext.obj \
+ $(COMMDIR)\$D\variant.obj \
+ $(COMMDIR)\$D\wfstream.obj \
+ $(COMMDIR)\$D\wincmn.obj \
+ $(COMMDIR)\$D\wxchar.obj \
+ $(COMMDIR)\$D\wxexpr.obj \
+ $(COMMDIR)\$D\xpmdecod.obj \
+ $(COMMDIR)\$D\zipstrm.obj \
+ $(COMMDIR)\$D\zstream.obj
+
+MSWOBJS = $(MSWDIR)\$D\accel.obj \
+ $(MSWDIR)\$D\app.obj \
+ $(OLEDIR)\$D\automtn.obj \
+ $(MSWDIR)\$D\bitmap.obj \
+ $(MSWDIR)\$D\bmpbuttn.obj \
+ $(MSWDIR)\$D\brush.obj \
+ $(MSWDIR)\$D\button.obj \
+ $(MSWDIR)\$D\caret.obj \
+ $(MSWDIR)\$D\checkbox.obj \
+ $(MSWDIR)\$D\checklst.obj \
+ $(MSWDIR)\$D\choice.obj \
+ $(MSWDIR)\$D\clipbrd.obj \
+ $(MSWDIR)\$D\colordlg.obj \
+ $(MSWDIR)\$D\colour.obj \
+ $(MSWDIR)\$D\combobox.obj \
+ $(MSWDIR)\$D\control.obj \
+ $(MSWDIR)\$D\curico.obj \
+ $(MSWDIR)\$D\cursor.obj \
+ $(MSWDIR)\$D\data.obj \
+ $(OLEDIR)\$D\dataobj.obj \
+ $(MSWDIR)\$D\dc.obj \
+ $(MSWDIR)\$D\dcclient.obj \
+ $(MSWDIR)\$D\dcmemory.obj \
+ $(MSWDIR)\$D\dcprint.obj \
+ $(MSWDIR)\$D\dcscreen.obj \
+ $(MSWDIR)\$D\dde.obj \
+ $(MSWDIR)\$D\dialog.obj \
+ $(MSWDIR)\$D\dialup.obj \
+ $(MSWDIR)\$D\dib.obj \
+ $(MSWDIR)\$D\dibutils.obj \
+ $(MSWDIR)\$D\dir.obj \
+ $(MSWDIR)\$D\dirdlg.obj \
+ $(MSWDIR)\$D\dragimag.obj \
+ $(OLEDIR)\$D\dropsrc.obj \
+ $(OLEDIR)\$D\droptgt.obj \
+ $(MSWDIR)\$D\enhmeta.obj \
+ $(MSWDIR)\$D\evtloop.obj \
+ $(MSWDIR)\$D\filedlg.obj \
+ $(MSWDIR)\$D\font.obj \
+ $(MSWDIR)\$D\fontdlg.obj \
+ $(MSWDIR)\$D\fontenum.obj \
+ $(MSWDIR)\$D\fontutil.obj \
+ $(MSWDIR)\$D\frame.obj \
+ $(MSWDIR)\$D\gauge95.obj \
+ $(MSWDIR)\$D\gdiimage.obj \
+ $(MSWDIR)\$D\gdiobj.obj \
+ $(MSWDIR)\$D\glcanvas.obj \
+ $(MSWDIR)\$D\gsocket.obj \
+ $(MSWDIR)\$D\gsockmsw.obj \
+ $(MSWDIR)\$D\helpchm.obj \
+ $(MSWDIR)\$D\helpwin.obj \
+ $(MSWDIR)\$D\icon.obj \
+ $(MSWDIR)\$D\imaglist.obj \
+ $(MSWDIR)\$D\joystick.obj \
+ $(MSWDIR)\$D\listbox.obj \
+ $(MSWDIR)\$D\listctrl.obj \
+ $(MSWDIR)\$D\main.obj \
+ $(MSWDIR)\$D\mdi.obj \
+ $(MSWDIR)\$D\menu.obj \
+ $(MSWDIR)\$D\menuitem.obj \
+ $(MSWDIR)\$D\metafile.obj \
+ $(MSWDIR)\$D\mimetype.obj \
+ $(MSWDIR)\$D\minifram.obj \
+ $(MSWDIR)\$D\msgdlg.obj \
+ $(MSWDIR)\$D\nativdlg.obj \
+ $(MSWDIR)\$D\notebook.obj \
+ $(OLEDIR)\$D\oleutils.obj \
+ $(MSWDIR)\$D\ownerdrw.obj \
+ $(MSWDIR)\$D\palette.obj \
+ $(MSWDIR)\$D\pen.obj \
+ $(MSWDIR)\$D\penwin.obj \
+ $(MSWDIR)\$D\printdlg.obj \
+ $(MSWDIR)\$D\printwin.obj \
+ $(MSWDIR)\$D\radiobox.obj \
+ $(MSWDIR)\$D\radiobut.obj \
+ $(MSWDIR)\$D\regconf.obj \
+ $(MSWDIR)\$D\region.obj \
+ $(MSWDIR)\$D\registry.obj \
+ $(MSWDIR)\$D\scrolbar.obj \
+ $(MSWDIR)\$D\settings.obj \
+ $(MSWDIR)\$D\slider95.obj \
+ $(MSWDIR)\$D\snglinst.obj \
+ $(MSWDIR)\$D\spinbutt.obj \
+ $(MSWDIR)\$D\spinctrl.obj \
+ $(MSWDIR)\$D\statbmp.obj \
+ $(MSWDIR)\$D\statbox.obj \
+ $(MSWDIR)\$D\statbr95.obj \
+ $(MSWDIR)\$D\statline.obj \
+ $(MSWDIR)\$D\stattext.obj \
+ $(MSWDIR)\$D\tabctrl.obj \
+ $(MSWDIR)\$D\taskbar.obj \
+ $(MSWDIR)\$D\tbar95.obj \
+ $(MSWDIR)\$D\textctrl.obj \
+ $(MSWDIR)\$D\tglbtn.obj \
+ $(MSWDIR)\$D\thread.obj \
+ $(MSWDIR)\$D\timer.obj \
+ $(MSWDIR)\$D\tooltip.obj \
+ $(MSWDIR)\$D\treectrl.obj \
+ $(MSWDIR)\$D\utils.obj \
+ $(MSWDIR)\$D\utilsexc.obj \
+ $(OLEDIR)\$D\uuid.obj \
+ $(MSWDIR)\$D\wave.obj \
+ $(MSWDIR)\$D\window.obj
+
+HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \
+ $(HTMLDIR)\$D\helpdata.obj \
+ $(HTMLDIR)\$D\helpfrm.obj \
+ $(HTMLDIR)\$D\htmlcell.obj \
+ $(HTMLDIR)\$D\htmlfilt.obj \
+ $(HTMLDIR)\$D\htmlpars.obj \
+ $(HTMLDIR)\$D\htmltag.obj \
+ $(HTMLDIR)\$D\htmlwin.obj \
+ $(HTMLDIR)\$D\htmprint.obj \
+ $(HTMLDIR)\$D\m_dflist.obj \
+ $(HTMLDIR)\$D\m_fonts.obj \
+ $(HTMLDIR)\$D\m_hline.obj \
+ $(HTMLDIR)\$D\m_image.obj \
+ $(HTMLDIR)\$D\m_layout.obj \
+ $(HTMLDIR)\$D\m_links.obj \
+ $(HTMLDIR)\$D\m_list.obj \
+ $(HTMLDIR)\$D\m_meta.obj \
+ $(HTMLDIR)\$D\m_pre.obj \
+ $(HTMLDIR)\$D\m_tables.obj \
+ $(HTMLDIR)\$D\winpars.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
$(CPPFLAGS2) /Od /Fo$(HTMLDIR)\$D\helpfrm.obj /c /Tp $(HTMLDIR)\helpfrm.cpp
<<
-..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
+$(COMMDIR)\$D\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
cl @<<
-$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+$(CPPFLAGS2) /c $(COMMDIR)\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
<<
-..\common\y_tab.c: ..\common\dosyacc.c
- copy "..\common"\dosyacc.c "..\common"\y_tab.c
+$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
+ copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c
-..\common\lex_yy.c: ..\common\doslex.c
- copy "..\common"\doslex.c "..\common"\lex_yy.c
+$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
+ copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h
-..\common\$D\unzip.obj: ..\common\unzip.c
+$(COMMDIR)\$D\unzip.obj: $(COMMDIR)\unzip.c
cl @<<
$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
<<
#!/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!
#
helpext.obj &
helphtml.obj &
helpwxht.obj &
- helpxlp.obj &
imaglist.obj &
listctrl.obj &
msgdlgg.obj &
objstrm.obj &
odbc.obj &
paper.obj &
- popupcmn.obj &
prntbase.obj &
process.obj &
protocol.obj &
strconv.obj &
stream.obj &
string.obj &
+ sysopt.obj &
tbarbase.obj &
textcmn.obj &
textfile.obj &
dropsrc.obj &
droptgt.obj &
enhmeta.obj &
+ evtloop.obj &
filedlg.obj &
font.obj &
fontdlg.obj &
enhmeta.obj: $(MSWDIR)\enhmeta.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+evtloop.obj: $(MSWDIR)\evtloop.cpp
+ *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
filedlg.obj: $(MSWDIR)\filedlg.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
paper.obj: $(COMMDIR)\paper.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-popupcmn.obj: $(COMMDIR)\popupcmn.cpp
- *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
-
prntbase.obj: $(COMMDIR)\prntbase.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
string.obj: $(COMMDIR)\string.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+sysopt.obj: $(COMMDIR)\sysopt.cpp
+ *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
tbarbase.obj: $(COMMDIR)\tbarbase.cpp
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
private:
DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule)
-
- static wxArrayString sm_optionNames;
- static wxArrayString sm_optionValues;
};
// ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule)
-wxArrayString wxSystemSettingsModule::sm_optionNames;
-wxArrayString wxSystemSettingsModule::sm_optionValues;
-
bool wxSystemSettingsModule::OnInit()
{
return TRUE;
void wxSystemSettingsModule::OnExit()
{
- sm_optionNames.Clear();
- sm_optionValues.Clear();
delete gs_fontDefault;
+ gs_fontDefault = NULL;
}
// ----------------------------------------------------------------------------
// __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);
-}
-
, wxCoord vYsrc
, int nRop
, bool bUseMask
+, wxCoord xsrcMask
+, wxCoord ysrcMask
)
{
bool bSuccess = TRUE;
-# This file was automatically generated by tmake at 22:45, 2001/05/20
+# This file was automatically generated by tmake at 10:33, 2001/07/11
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE OS2.T!
ALL_SOURCES = \
generic/busyinfo.cpp \
generic/dcpsg.cpp \
generic/dirctrlg.cpp \
generic/grid.cpp \
+ generic/gridctrl.cpp \
generic/gridsel.cpp \
generic/helpext.cpp \
generic/helphtml.cpp \
generic/helpwxht.cpp \
- generic/helpxlp.cpp \
generic/imaglist.cpp \
generic/laywin.cpp \
generic/listctrl.cpp \
generic/propform.cpp \
generic/proplist.cpp \
generic/sashwin.cpp \
- generic/scrolwin.cpp \
+ generic/scrlwing.cpp \
+ generic/spinctlg.cpp \
generic/splash.cpp \
generic/splitter.cpp \
generic/statusbr.cpp \
common/choiccmn.cpp \
common/clipcmn.cpp \
common/cmdline.cpp \
+ common/cmdproc.cpp \
common/cmndata.cpp \
common/config.cpp \
common/cshelp.cpp \
common/datetime.cpp \
common/datstrm.cpp \
common/db.cpp \
+ common/dbgrid.cpp \
common/dbtable.cpp \
common/dcbase.cpp \
common/dircmn.cpp \
common/fs_mem.cpp \
common/fs_zip.cpp \
common/ftp.cpp \
+ common/gaugecmn.cpp \
common/gdicmn.cpp \
common/geometry.cpp \
common/gifdecod.cpp \
common/mimecmn.cpp \
common/module.cpp \
common/mstream.cpp \
+ common/nbkbase.cpp \
common/object.cpp \
common/objstrm.cpp \
common/paper.cpp \
common/process.cpp \
common/protocol.cpp \
common/quantize.cpp \
+ common/radiocmn.cpp \
common/resource.cpp \
common/sckaddr.cpp \
common/sckfile.cpp \
common/strconv.cpp \
common/stream.cpp \
common/string.cpp \
+ common/sysopt.cpp \
common/tbarbase.cpp \
common/textcmn.cpp \
common/textfile.cpp \
caret.h \
checkbox.h \
checklst.h \
+ chkconf.h \
choicdlg.h \
choice.h \
clipbrd.h \
cmdline.h \
+ cmdproc.cpp \
cmndata.h \
colordlg.h \
colour.h \
datetime.inl \
datstrm.h \
db.h \
+ dbgrid.h \
+ dbkeyg.h \
dbtable.h \
dc.h \
dcclient.h \
gifdecod.h \
glcanvas.h \
grid.h \
+ gridctrl.h \
gsocket.h \
hash.h \
help.h \
helpchm.h \
helphtml.h \
helpwin.h \
- helpxlp.h \
icon.h \
imagbmp.h \
image.h \
panel.h \
paper.h \
pen.h \
+ popupwin.h \
print.h \
printdlg.h \
prntbase.h \
setup.h \
sizer.h \
slider.h \
+ snglinst.h \
socket.h \
spinbutt.h \
spinctrl.h \
splash.h \
splitter.h \
+ stack.h \
statbmp.h \
statbox.h \
statline.h \
strconv.h \
stream.h \
string.h \
+ sysopt.h \
tab.h \
tabctrl.h \
taskbar.h \
validate.h \
valtext.h \
variant.h \
+ vector.h \
version.h \
wave.h \
wfstream.h \
os2/tooltip.h \
os2/wave.h \
os2/window.h \
+ generic/accel.h \
generic/calctrl.h \
generic/caret.h \
generic/choicdgg.h \
generic/filedlgg.h \
generic/fontdlgg.h \
generic/grid.h \
+ generic/gridctrl.h \
generic/gridg.h \
generic/helpext.h \
generic/helphtml.h \
generic/helpwxht.h \
- generic/helpxlp.h \
generic/imaglist.h \
generic/laywin.h \
generic/listctrl.h \
choiccmn.o \
clipcmn.o \
cmdline.o \
+ cmdproc.o \
cmndata.o \
config.o \
cshelp.o \
datetime.o \
datstrm.o \
db.o \
+ dbgrid.o \
dbtable.o \
dcbase.o \
dircmn.o \
fs_mem.o \
fs_zip.o \
ftp.o \
+ gaugecmn.o \
gdicmn.o \
geometry.o \
gifdecod.o \
mimecmn.o \
module.o \
mstream.o \
+ nbkbase.o \
object.o \
objstrm.o \
paper.o \
process.o \
protocol.o \
quantize.o \
+ radiocmn.o \
resource.o \
sckaddr.o \
sckfile.o \
strconv.o \
stream.o \
string.o \
+ sysopt.o \
tbarbase.o \
textcmn.o \
textfile.o \
choiccmn.d \
clipcmn.d \
cmdline.d \
+ cmdproc.d \
cmndata.d \
config.d \
cshelp.d \
datetime.d \
datstrm.d \
db.d \
+ dbgrid.d \
dbtable.d \
dcbase.d \
dircmn.d \
fs_mem.d \
fs_zip.d \
ftp.d \
+ gaugecmn.d \
gdicmn.d \
geometry.d \
gifdecod.d \
mimecmn.d \
module.d \
mstream.d \
+ nbkbase.d \
object.d \
objstrm.d \
paper.d \
process.d \
protocol.d \
quantize.d \
+ radiocmn.d \
resource.d \
sckaddr.d \
sckfile.d \
strconv.d \
stream.d \
string.d \
+ sysopt.d \
tbarbase.d \
textcmn.d \
textfile.d \
dcpsg.o \
dirctrlg.o \
grid.o \
+ gridctrl.o \
gridsel.o \
helpext.o \
helphtml.o \
helpwxht.o \
- helpxlp.o \
imaglist.o \
laywin.o \
listctrl.o \
propform.o \
proplist.o \
sashwin.o \
- scrolwin.o \
+ scrlwing.o \
+ spinctlg.o \
splash.o \
splitter.o \
statusbr.o \
dcpsg.d \
dirctrlg.d \
grid.d \
+ gridctrl.d \
gridsel.d \
helpext.d \
helphtml.d \
helpwxht.d \
- helpxlp.d \
imaglist.d \
laywin.d \
listctrl.d \
propform.d \
proplist.d \
sashwin.d \
- scrolwin.d \
+ scrlwing.d \
+ spinctlg.d \
splash.d \
splitter.d \
statusbr.d \
# Begin Project
# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
+# PROP Scc_ProjName "PngVC"
+# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.exe
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "tiff.mak".
+!MESSAGE NMAKE /f "TiffVC.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "tiff.mak" CFG="tiff - Win32 Debug"
+!MESSAGE NMAKE /f "TiffVC.mak" CFG="tiff - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
+# PROP Scc_ProjName "TiffVC"
+# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.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 GTK.T!
UNIVOBJS = \
bmpbuttn.o \
checklst.o \
colschem.o \
control.o \
- combobox.o \
- evtloop.o \
framuniv.o \
gauge.o \
gtk.o \
inphand.o \
listbox.o \
- menu.o \
+ menu.o \
notebook.o \
- popupcmn.o \
radiobox.o \
radiobut.o \
renderer.o \
gtk.d \
inphand.d \
listbox.d \
+ menu.d \
notebook.d \
radiobox.d \
radiobut.d \
# Begin Project
# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
+# PROP Scc_ProjName "wxvc"
+# PROP Scc_LocalPath ".."
CPP=cl.exe
RSC=rc.exe
# End Source File
# Begin Source File
+SOURCE=.\common\sysopt.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\tbarbase.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\sysopt.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\tbarbase.cpp
# End Source File
# Begin Source File
# End Source File
# Begin Source File
+SOURCE=.\common\sysopt.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\common\tbarbase.cpp
# End Source File
# Begin Source File
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "zlib.mak".
+!MESSAGE NMAKE /f "ZlibVC.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 Debug"
+!MESSAGE NMAKE /f "ZlibVC.mak" CFG="zlib - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
+# PROP Scc_ProjName "ZlibVC"
+# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.exe