projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make m_idleMutex an object instead of a pointer. Use bool for hook-installed flag...
[wxWidgets.git]
/
src
/
common
/
dcbase.cpp
diff --git
a/src/common/dcbase.cpp
b/src/common/dcbase.cpp
index 224cf624a129de802905f74fbdaf7222224b2d0f..415b71763a961fbec886fb005e94891e153a87ea 100644
(file)
--- a/
src/common/dcbase.cpp
+++ b/
src/common/dcbase.cpp
@@
-30,6
+30,7
@@
#include "wx/dcscreen.h"
#include "wx/dcprint.h"
#include "wx/prntbase.h"
#include "wx/dcscreen.h"
#include "wx/dcprint.h"
#include "wx/prntbase.h"
+#include "wx/scopeguard.h"
#ifndef WX_PRECOMP
#include "wx/math.h"
#ifndef WX_PRECOMP
#include "wx/math.h"
@@
-569,7
+570,7
@@
void wxDCImpl::GetMultiLineTextExtent(const wxString& text,
wxString curLine;
for ( wxString::const_iterator pc = text.begin(); ; ++pc )
{
wxString curLine;
for ( wxString::const_iterator pc = text.begin(); ; ++pc )
{
- if ( pc == text.end() || *pc ==
_
T('\n') )
+ if ( pc == text.end() || *pc ==
wx
T('\n') )
{
if ( curLine.empty() )
{
{
if ( curLine.empty() )
{
@@
-585,7
+586,7
@@
void wxDCImpl::GetMultiLineTextExtent(const wxString& text,
if ( !heightLineDefault )
{
// but we don't know it yet - choose something reasonable
if ( !heightLineDefault )
{
// but we don't know it yet - choose something reasonable
- DoGetTextExtent(
_
T("W"), NULL, &heightLineDefault,
+ DoGetTextExtent(
wx
T("W"), NULL, &heightLineDefault,
NULL, NULL, font);
}
NULL, NULL, font);
}
@@
-656,7
+657,7
@@
wxDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
wxCoord ysrcMask)
{
wxCHECK_MSG( srcWidth && srcHeight && dstWidth && dstHeight, false,
wxCoord ysrcMask)
{
wxCHECK_MSG( srcWidth && srcHeight && dstWidth && dstHeight, false,
-
_
T("invalid blit size") );
+
wx
T("invalid blit size") );
// emulate the stretching by modifying the DC scale
double xscale = (double)srcWidth/dstWidth,
// emulate the stretching by modifying the DC scale
double xscale = (double)srcWidth/dstWidth,
@@
-788,7
+789,7
@@
void wx_spline_push(double x1, double y1, double x2, double y2, double x3, doubl
static bool wx_spline_add_point(double x, double y);
static void wx_spline_draw_point_array(wxDC *dc);
static bool wx_spline_add_point(double x, double y);
static void wx_spline_draw_point_array(wxDC *dc);
-wxPointList wx_spline_point_list;
+
static
wxPointList wx_spline_point_list;
#define half(z1, z2) ((z1+z2)/2.0)
#define THRESHOLD 5
#define half(z1, z2) ((z1+z2)/2.0)
#define THRESHOLD 5
@@
-1054,8
+1055,9
@@
void wxDCImpl::DoGradientFillConcentric(const wxRect& rect,
const wxColour& destColour,
const wxPoint& circleCenter)
{
const wxColour& destColour,
const wxPoint& circleCenter)
{
- //save the old pen color
- wxColour oldPenColour = m_pen.GetColour();
+ // save the old pen and ensure it is restored on exit
+ const wxPen penOrig = m_pen;
+ wxON_BLOCK_EXIT_SET(m_pen, penOrig);
wxUint8 nR1 = destColour.Red();
wxUint8 nG1 = destColour.Green();
wxUint8 nR1 = destColour.Red();
wxUint8 nG1 = destColour.Green();
@@
-1100,12
+1102,10
@@
void wxDCImpl::DoGradientFillConcentric(const wxRect& rect,
nB = (wxUint8)(nB1 + ((nB2 - nB1) * nGradient / 100));
//set the pixel
nB = (wxUint8)(nB1 + ((nB2 - nB1) * nGradient / 100));
//set the pixel
- m_pen
.SetColour(wxColour(nR,nG,nB)
);
+ m_pen
= wxColour(nR,nG,nB
);
DoDrawPoint(x + rect.GetLeft(), y + rect.GetTop());
}
}
DoDrawPoint(x + rect.GetLeft(), y + rect.GetTop());
}
}
- //return old pen color
- m_pen.SetColour(oldPenColour);
}
void wxDCImpl::InheritAttributes(wxWindow *win)
}
void wxDCImpl::InheritAttributes(wxWindow *win)
@@
-1115,7
+1115,8
@@
void wxDCImpl::InheritAttributes(wxWindow *win)
SetFont(win->GetFont());
SetTextForeground(win->GetForegroundColour());
SetTextBackground(win->GetBackgroundColour());
SetFont(win->GetFont());
SetTextForeground(win->GetForegroundColour());
SetTextBackground(win->GetBackgroundColour());
- SetBackground(wxBrush(win->GetBackgroundColour()));
+ SetBackground(win->GetBackgroundColour());
+ SetLayoutDirection(win->GetLayoutDirection());
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
@@
-1124,6
+1125,15
@@
void wxDCImpl::InheritAttributes(wxWindow *win)
IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
+void wxDC::CopyAttributes(const wxDC& dc)
+{
+ SetFont(dc.GetFont());
+ SetTextForeground(dc.GetTextForeground());
+ SetTextBackground(dc.GetTextBackground());
+ SetBackground(dc.GetBackground());
+ SetLayoutDirection(dc.GetLayoutDirection());
+}
+
void wxDC::DrawLabel(const wxString& text,
const wxBitmap& bitmap,
const wxRect& rect,
void wxDC::DrawLabel(const wxString& text,
const wxBitmap& bitmap,
const wxRect& rect,
@@
-1332,6
+1342,13
@@
void wxDC::GetClippingBox(long *x, long *y, long *w, long *h) const
if (h) *h = hh;
}
if (h) *h = hh;
}
+void wxDC::DrawObject(wxDrawObject* drawobject)
+{
+ drawobject->Draw(*this);
+ CalcBoundingBox(drawobject->MinX(),drawobject->MinY());
+ CalcBoundingBox(drawobject->MaxX(),drawobject->MaxY());
+}
+
#endif // WXWIN_COMPATIBILITY_2_8
/*
#endif // WXWIN_COMPATIBILITY_2_8
/*