projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
first compilable version of the mono theme, replacing the accidentally checked in...
[wxWidgets.git]
/
src
/
msw
/
dcclient.cpp
diff --git
a/src/msw/dcclient.cpp
b/src/msw/dcclient.cpp
index 800f91fb9402459161edec3b75b5809250d4cd9a..05685aa39f165e7c0e4713b120402c233ad2c099 100644
(file)
--- a/
src/msw/dcclient.cpp
+++ b/
src/msw/dcclient.cpp
@@
-1,5
+1,5
@@
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-// Name: dcclient.cpp
+// Name:
src/msw/
dcclient.cpp
// Purpose: wxClientDC class
// Author: Julian Smart
// Modified by:
// Purpose: wxClientDC class
// Author: Julian Smart
// Modified by:
@@
-17,10
+17,6
@@
// headers
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "dcclient.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
@@
-28,13
+24,15
@@
#pragma hdrstop
#endif
#pragma hdrstop
#endif
-#include "wx/string.h"
-#include "wx/log.h"
-#include "wx/window.h"
+#include "wx/dcclient.h"
-#include "wx/msw/private.h"
+#ifndef WX_PRECOMP
+ #include "wx/string.h"
+ #include "wx/log.h"
+ #include "wx/window.h"
+#endif
-#include "wx/
dcclient
.h"
+#include "wx/
msw/private
.h"
// ----------------------------------------------------------------------------
// array/list types
// ----------------------------------------------------------------------------
// array/list types
@@
-56,7
+54,7
@@
struct WXDLLEXPORT wxPaintDCInfo
#include "wx/arrimpl.cpp"
#include "wx/arrimpl.cpp"
-WX_DEFINE_OBJARRAY(wxArrayDCInfo)
;
+WX_DEFINE_OBJARRAY(wxArrayDCInfo)
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
// macros
@@
-75,8
+73,8
@@
static PAINTSTRUCT g_paintStruct;
#ifdef __WXDEBUG__
// a global variable which we check to verify that wxPaintDC are only
#ifdef __WXDEBUG__
// a global variable which we check to verify that wxPaintDC are only
- // created in res
op
nse to WM_PAINT message - doing this from elsewhere is a
- // common programming error among wxWi
ndow
s programmers and might lead to
+ // created in res
po
nse to WM_PAINT message - doing this from elsewhere is a
+ // common programming error among wxWi
dget
s programmers and might lead to
// very subtle and difficult to debug refresh/repaint bugs.
int g_isPainting = 0;
#endif // __WXDEBUG__
// very subtle and difficult to debug refresh/repaint bugs.
int g_isPainting = 0;
#endif // __WXDEBUG__
@@
-156,7
+154,11
@@
void wxClientDC::InitDC()
// in wxUniv build we must manually do some DC adjustments usually
// performed by Windows for us
// in wxUniv build we must manually do some DC adjustments usually
// performed by Windows for us
-#ifdef __WXUNIVERSAL__
+ //
+ // we also need to take the menu/toolbar manually into account under
+ // Windows CE because they're just another control there, not anything
+ // special as usually under Windows
+#if defined(__WXUNIVERSAL__) || defined(__WXWINCE__)
wxPoint ptOrigin = m_canvas->GetClientAreaOrigin();
if ( ptOrigin.x || ptOrigin.y )
{
wxPoint ptOrigin = m_canvas->GetClientAreaOrigin();
if ( ptOrigin.x || ptOrigin.y )
{
@@
-165,8
+167,8
@@
void wxClientDC::InitDC()
}
// clip the DC to avoid overwriting the non client area
}
// clip the DC to avoid overwriting the non client area
- SetClippingRegion(wxPoint(0,
0), m_canvas->GetClientSize());
-#endif // __WXUNIVERSAL__
+ SetClippingRegion(wxPoint(0,0), m_canvas->GetClientSize());
+#endif // __WXUNIVERSAL__
|| __WXWINCE__
}
wxClientDC::~wxClientDC()
}
wxClientDC::~wxClientDC()
@@
-232,7
+234,7
@@
wxPaintDC::wxPaintDC(wxWindow *canvas)
else // not in cache, create a new one
{
m_hDC = (WXHDC)::BeginPaint(GetHwndOf(m_canvas), &g_paintStruct);
else // not in cache, create a new one
{
m_hDC = (WXHDC)::BeginPaint(GetHwndOf(m_canvas), &g_paintStruct);
- if (m_hDC)
+
if (m_hDC)
ms_cache.Add(new wxPaintDCInfo(m_canvas, this));
}
ms_cache.Add(new wxPaintDCInfo(m_canvas, this));
}
@@
-253,7
+255,7
@@
wxPaintDC::~wxPaintDC()
wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
- if (
!--info->count
)
+ if (
--info->count == 0
)
{
::EndPaint(GetHwndOf(m_canvas), &g_paintStruct);
{
::EndPaint(GetHwndOf(m_canvas), &g_paintStruct);
@@
-293,11
+295,10
@@
wxPaintDCInfo *wxPaintDC::FindInCache(size_t *index) const
// find the entry for this DC in the cache (keyed by the window)
WXHDC wxPaintDC::FindDCInCache(wxWindow* win)
{
// find the entry for this DC in the cache (keyed by the window)
WXHDC wxPaintDC::FindDCInCache(wxWindow* win)
{
- wxPaintDCInfo *info = NULL;
size_t nCache = ms_cache.GetCount();
for ( size_t n = 0; n < nCache; n++ )
{
size_t nCache = ms_cache.GetCount();
for ( size_t n = 0; n < nCache; n++ )
{
- info = &ms_cache[n];
+
wxPaintDCInfo *
info = &ms_cache[n];
if ( info->hwnd == win->GetHWND() )
{
return info->hdc;
if ( info->hwnd == win->GetHWND() )
{
return info->hdc;
@@
-309,7
+310,7
@@
WXHDC wxPaintDC::FindDCInCache(wxWindow* win)
/*
* wxPaintDCEx
*/
/*
* wxPaintDCEx
*/
-
+
// TODO: don't duplicate wxPaintDC code here!!
wxPaintDCEx::wxPaintDCEx(wxWindow *canvas, WXHDC dc) : saveState(0)
// TODO: don't duplicate wxPaintDC code here!!
wxPaintDCEx::wxPaintDCEx(wxWindow *canvas, WXHDC dc) : saveState(0)
@@
-339,7
+340,7
@@
wxPaintDCEx::~wxPaintDCEx()
wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
wxCHECK_RET( info, wxT("existing DC should have a cache entry") );
- if (
!--info->count
)
+ if (
--info->count == 0
)
{
RestoreDC((HDC) m_hDC, saveState);
ms_cache.RemoveAt(index);
{
RestoreDC((HDC) m_hDC, saveState);
ms_cache.RemoveAt(index);
@@
-354,4
+355,3
@@
wxPaintDCEx::~wxPaintDCEx()
// prevent the base class dtor from ReleaseDC()ing it again
m_hDC = 0;
}
// prevent the base class dtor from ReleaseDC()ing it again
m_hDC = 0;
}
-