Removed redundant auto-setting code in wxDC; corrected utilscmn.cpp pragma;
added inlines using wxPoint/wxSize/wxRect in dc.h. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -36,17 +36,19 @@
|
||||
#endif
|
||||
|
||||
#if !USE_SHARED_LIBRARY
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
IMPLEMENT_CLASS(wxColourDatabase, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFontList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
|
||||
/*
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRealPoint, wxObject)
|
||||
*/
|
||||
#endif
|
||||
|
||||
wxRect::wxRect(void)
|
||||
wxRect::wxRect()
|
||||
{
|
||||
x = 0; y = 0; width = 0; height = 0;
|
||||
}
|
||||
@@ -117,7 +119,7 @@ wxList (type)
|
||||
{
|
||||
}
|
||||
|
||||
wxColourDatabase::~wxColourDatabase (void)
|
||||
wxColourDatabase::~wxColourDatabase ()
|
||||
{
|
||||
// Cleanup Colour allocated in Initialize()
|
||||
wxNode *node = First ();
|
||||
@@ -131,7 +133,7 @@ wxColourDatabase::~wxColourDatabase (void)
|
||||
}
|
||||
|
||||
// Colour database stuff
|
||||
void wxColourDatabase::Initialize (void)
|
||||
void wxColourDatabase::Initialize ()
|
||||
{
|
||||
// Don't initialize for X: colours are found
|
||||
// in FindColour below.
|
||||
@@ -317,7 +319,7 @@ wxString wxColourDatabase::FindName (const wxColour& colour) const
|
||||
}
|
||||
|
||||
void
|
||||
wxInitializeStockObjects (void)
|
||||
wxInitializeStockObjects ()
|
||||
{
|
||||
wxTheBrushList = new wxBrushList;
|
||||
wxThePenList = new wxPenList;
|
||||
@@ -371,7 +373,7 @@ wxInitializeStockObjects (void)
|
||||
}
|
||||
|
||||
void
|
||||
wxDeleteStockObjects (void)
|
||||
wxDeleteStockObjects ()
|
||||
{
|
||||
DELETEP(wxNORMAL_FONT);
|
||||
DELETEP(wxSMALL_FONT);
|
||||
@@ -413,11 +415,11 @@ wxDeleteStockObjects (void)
|
||||
DELETEP(wxCROSS_CURSOR);
|
||||
}
|
||||
|
||||
wxBitmapList::wxBitmapList (void)
|
||||
wxBitmapList::wxBitmapList ()
|
||||
{
|
||||
}
|
||||
|
||||
wxBitmapList::~wxBitmapList (void)
|
||||
wxBitmapList::~wxBitmapList ()
|
||||
{
|
||||
wxNode *node = First ();
|
||||
while (node)
|
||||
@@ -431,7 +433,7 @@ wxBitmapList::~wxBitmapList (void)
|
||||
}
|
||||
|
||||
// Pen and Brush lists
|
||||
wxPenList::~wxPenList (void)
|
||||
wxPenList::~wxPenList ()
|
||||
{
|
||||
wxNode *node = First ();
|
||||
while (node)
|
||||
@@ -486,7 +488,7 @@ wxPen *wxPenList::FindOrCreatePen (const wxString& colour, int width, int style)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wxBrushList::~wxBrushList (void)
|
||||
wxBrushList::~wxBrushList ()
|
||||
{
|
||||
wxNode *node = First ();
|
||||
while (node)
|
||||
@@ -538,7 +540,7 @@ void wxBrushList::RemoveBrush (wxBrush * brush)
|
||||
DeleteObject (brush);
|
||||
}
|
||||
|
||||
wxFontList::~wxFontList (void)
|
||||
wxFontList::~wxFontList ()
|
||||
{
|
||||
#ifdef __WINDOWS__
|
||||
wxNode *node = First ();
|
||||
@@ -601,3 +603,10 @@ void wxBitmapList::AddBitmap(wxBitmap *bitmap)
|
||||
void wxBitmapList::RemoveBitmap(wxBitmap *bitmap)
|
||||
{ DeleteObject(bitmap); }
|
||||
|
||||
wxSize wxGetDisplaySize()
|
||||
{
|
||||
int x, y;
|
||||
wxDisplaySize(& x, & y);
|
||||
return wxSize(x, y);
|
||||
}
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "utils.h"
|
||||
#pragma implementation "utilscmn.h"
|
||||
#endif
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
|
@@ -259,10 +259,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
|
||||
|
||||
/*
|
||||
#if (!USE_TYPEDEFS)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxIntPoint, wxObject)
|
||||
#endif
|
||||
*/
|
||||
|
||||
#if defined(wx_x) || (defined(wx_msw) && USE_PORTABLE_FONTS_IN_MSW)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFontNameDirectory, wxObject)
|
||||
@@ -338,7 +340,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
|
||||
#include "wx/utils.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxList)
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
|
||||
#include "wx/process.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
|
||||
|
@@ -259,10 +259,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
|
||||
|
||||
/*
|
||||
#if (!USE_TYPEDEFS)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxIntPoint, wxObject)
|
||||
#endif
|
||||
*/
|
||||
|
||||
#if defined(wx_x) || (defined(wx_msw) && USE_PORTABLE_FONTS_IN_MSW)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFontNameDirectory, wxObject)
|
||||
@@ -338,7 +340,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
|
||||
#include "wx/utils.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxList)
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
|
||||
#include "wx/process.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
|
||||
|
@@ -253,10 +253,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxPenList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBrushList, wxList)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxBitmapList, wxList)
|
||||
|
||||
/*
|
||||
#if (!USE_TYPEDEFS)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPoint, wxObject)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRealPoint, wxObject)
|
||||
#endif
|
||||
*/
|
||||
|
||||
#include "wx/hash.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxHashTable, wxObject)
|
||||
@@ -352,7 +354,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxProcessEvent, wxEvent)
|
||||
#include "wx/utils.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxList)
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
// IMPLEMENT_DYNAMIC_CLASS(wxRect, wxObject)
|
||||
|
||||
#include "wx/process.h"
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxProcess, wxEvtHandler)
|
||||
|
115
src/msw/dc.cpp
115
src/msw/dc.cpp
@@ -70,7 +70,6 @@ wxDC::wxDC(void)
|
||||
{
|
||||
m_minX = 0; m_minY = 0; m_maxX = 0; m_maxY = 0;
|
||||
m_clipping = FALSE;
|
||||
m_autoSetting = FALSE ;
|
||||
|
||||
m_filename = "";
|
||||
m_canvas = NULL;
|
||||
@@ -319,16 +318,10 @@ void wxDC::Clear(void)
|
||||
::SetWindowOrgEx((HDC) m_hDC, (int)m_logicalOriginX, (int)m_logicalOriginY, NULL);
|
||||
}
|
||||
|
||||
void wxDC::FloodFill(long x, long y, wxColour *col, int style)
|
||||
void wxDC::FloodFill(long x, long y, const wxColour& col, int style)
|
||||
{
|
||||
// int xx = (int)x;
|
||||
// int yy = (int)y;
|
||||
|
||||
if (m_brush.Ok() && m_autoSetting)
|
||||
SetBrush(m_brush);
|
||||
|
||||
(void)ExtFloodFill((HDC) m_hDC, XLOG2DEV(x), YLOG2DEV(y),
|
||||
col->GetPixel(),
|
||||
col.GetPixel(),
|
||||
style==wxFLOOD_SURFACE?
|
||||
FLOODFILLSURFACE:FLOODFILLBORDER
|
||||
);
|
||||
@@ -363,9 +356,6 @@ bool wxDC::GetPixel(long x, long y, wxColour *col) const
|
||||
|
||||
void wxDC::CrossHair(long x, long y)
|
||||
{
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen);
|
||||
|
||||
// We suppose that our screen is 2000x2000 max.
|
||||
long x1 = x-2000;
|
||||
long y1 = y-2000;
|
||||
@@ -384,10 +374,6 @@ void wxDC::CrossHair(long x, long y)
|
||||
|
||||
void wxDC::DrawLine(long x1, long y1, long x2, long y2)
|
||||
{
|
||||
// BUGBUG - is this necessary? YES YES YES YEs Yes yes ye....
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen);
|
||||
|
||||
(void)MoveToEx((HDC) m_hDC, XLOG2DEV(x1), YLOG2DEV(y1), NULL);
|
||||
(void)LineTo((HDC) m_hDC, XLOG2DEV(x2), YLOG2DEV(y2));
|
||||
|
||||
@@ -411,10 +397,6 @@ void wxDC::DrawArc(long x1,long y1,long x2,long y2,double xc,double yc)
|
||||
return ;
|
||||
}
|
||||
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
long xx1 = XLOG2DEV(x1) ;
|
||||
long yy1 = YLOG2DEV(y1) ;
|
||||
long xx2 = XLOG2DEV(x2) ;
|
||||
@@ -430,9 +412,6 @@ void wxDC::DrawArc(long x1,long y1,long x2,long y2,double xc,double yc)
|
||||
long yyy2 = (long) (yyc+ray);
|
||||
if (m_brush.Ok() && m_brush.GetStyle() !=wxTRANSPARENT)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_brush.GetStyle()!=wxTRANSPARENT&&m_autoSetting)
|
||||
SetBrush(m_brush) ;
|
||||
Pie((HDC) m_hDC,xxx1,yyy1,xxx2,yyy2,
|
||||
xx1,yy1,xx2,yy2) ;
|
||||
}
|
||||
@@ -446,10 +425,6 @@ void wxDC::DrawArc(long x1,long y1,long x2,long y2,double xc,double yc)
|
||||
|
||||
void wxDC::DrawPoint(long x, long y)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
COLORREF color = 0x00ffffff;
|
||||
if (m_pen.Ok())
|
||||
{
|
||||
@@ -463,54 +438,64 @@ void wxDC::DrawPoint(long x, long y)
|
||||
|
||||
void wxDC::DrawPolygon(int n, wxPoint points[], long xoffset, long yoffset,int fillStyle)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
POINT *cpoints = new POINT[n];
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
// Do things less efficiently if we have offsets
|
||||
if (xoffset != 0 || yoffset != 0)
|
||||
{
|
||||
cpoints[i].x = (int)(XLOG2DEV(points[i].x + xoffset));
|
||||
cpoints[i].y = (int)(YLOG2DEV(points[i].y + yoffset));
|
||||
POINT *cpoints = new POINT[n];
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
cpoints[i].x = (int)(points[i].x + xoffset);
|
||||
cpoints[i].y = (int)(points[i].y + yoffset);
|
||||
|
||||
CalcBoundingBox(points[i].x + xoffset, points[i].y + yoffset);
|
||||
CalcBoundingBox(cpoints[i].x, cpoints[i].y);
|
||||
}
|
||||
int prev = SetPolyFillMode((HDC) m_hDC,fillStyle==wxODDEVEN_RULE?ALTERNATE:WINDING) ;
|
||||
(void)Polygon((HDC) m_hDC, cpoints, n);
|
||||
SetPolyFillMode((HDC) m_hDC,prev) ;
|
||||
delete[] cpoints;
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
CalcBoundingBox(points[i].x, points[i].y);
|
||||
|
||||
int prev = SetPolyFillMode((HDC) m_hDC,fillStyle==wxODDEVEN_RULE?ALTERNATE:WINDING) ;
|
||||
(void)Polygon((HDC) m_hDC, cpoints, n);
|
||||
SetPolyFillMode((HDC) m_hDC,prev) ;
|
||||
|
||||
delete[] cpoints;
|
||||
int prev = SetPolyFillMode((HDC) m_hDC,fillStyle==wxODDEVEN_RULE?ALTERNATE:WINDING) ;
|
||||
(void)Polygon((HDC) m_hDC, (POINT*) points, n);
|
||||
SetPolyFillMode((HDC) m_hDC,prev) ;
|
||||
}
|
||||
}
|
||||
|
||||
void wxDC::DrawLines(int n, wxPoint points[], long xoffset, long yoffset)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
POINT *cpoints = new POINT[n];
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
// Do things less efficiently if we have offsets
|
||||
if (xoffset != 0 || yoffset != 0)
|
||||
{
|
||||
cpoints[i].x = (int)(XLOG2DEV(points[i].x + xoffset));
|
||||
cpoints[i].y = (int)(YLOG2DEV(points[i].y + yoffset));
|
||||
POINT *cpoints = new POINT[n];
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
cpoints[i].x = (int)(points[i].x + xoffset);
|
||||
cpoints[i].y = (int)(points[i].y + yoffset);
|
||||
|
||||
CalcBoundingBox(points[i].x + xoffset, points[i].y + yoffset);
|
||||
CalcBoundingBox(cpoints[i].x, cpoints[i].y);
|
||||
}
|
||||
(void)Polyline((HDC) m_hDC, cpoints, n);
|
||||
delete[] cpoints;
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < n; i++)
|
||||
CalcBoundingBox(points[i].x, points[i].y);
|
||||
|
||||
(void)Polyline((HDC) m_hDC, cpoints, n);
|
||||
|
||||
delete[] cpoints;
|
||||
(void)Polyline((HDC) m_hDC, (POINT*) points, n);
|
||||
}
|
||||
}
|
||||
|
||||
void wxDC::DrawRectangle(long x, long y, long width, long height)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
long x2 = x + width;
|
||||
long y2 = y + height;
|
||||
|
||||
@@ -555,10 +540,6 @@ void wxDC::DrawRectangle(long x, long y, long width, long height)
|
||||
|
||||
void wxDC::DrawRoundedRectangle(long x, long y, long width, long height, double radius)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
// Now, a negative radius value is interpreted to mean
|
||||
// 'the proportion of the smallest X or Y dimension'
|
||||
|
||||
@@ -584,10 +565,6 @@ void wxDC::DrawRoundedRectangle(long x, long y, long width, long height, double
|
||||
|
||||
void wxDC::DrawEllipse(long x, long y, long width, long height)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
long x2 = (x+width);
|
||||
long y2 = (y+height);
|
||||
|
||||
@@ -600,10 +577,6 @@ void wxDC::DrawEllipse(long x, long y, long width, long height)
|
||||
// Chris Breeze 20/5/98: first implementation of DrawEllipticArc on Windows
|
||||
void wxDC::DrawEllipticArc(long x,long y,long w,long h,double sa,double ea)
|
||||
{
|
||||
// BUGBUG - is this necessary?
|
||||
if (m_pen.Ok() && m_autoSetting)
|
||||
SetPen(m_pen) ;
|
||||
|
||||
long x2 = (x+w);
|
||||
long y2 = (y+h);
|
||||
|
||||
|
@@ -89,6 +89,7 @@ COMMONOBJS = \
|
||||
$(COMMDIR)\object.obj \
|
||||
$(COMMDIR)\odbc.obj \
|
||||
$(COMMDIR)\postscrp.obj \
|
||||
$(COMMDIR)\process.obj \
|
||||
$(COMMDIR)\prntbase.obj \
|
||||
$(COMMDIR)\resource.obj \
|
||||
$(COMMDIR)\tbarbase.obj \
|
||||
@@ -724,6 +725,11 @@ $(COMMDIR)/postscrp.obj: $*.$(SRCSUFF)
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||
<<
|
||||
|
||||
$(COMMDIR)/process.obj: $*.$(SRCSUFF)
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||
<<
|
||||
|
||||
$(COMMDIR)/prntbase.obj: $*.$(SRCSUFF)
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||
|
@@ -94,6 +94,7 @@ COMMONOBJS = \
|
||||
$(COMMDIR)/object.$(OBJSUFF) \
|
||||
$(COMMDIR)/odbc.$(OBJSUFF) \
|
||||
$(COMMDIR)/postscrp.$(OBJSUFF) \
|
||||
$(COMMDIR)/process.$(OBJSUFF) \
|
||||
$(COMMDIR)/prntbase.$(OBJSUFF) \
|
||||
$(COMMDIR)/resource.$(OBJSUFF) \
|
||||
$(COMMDIR)/tbarbase.$(OBJSUFF) \
|
||||
@@ -113,9 +114,6 @@ COMMONOBJS = \
|
||||
$(COMMDIR)/datstrm.$(OBJSUFF) \
|
||||
$(COMMDIR)/extended.$(OBJSUFF)
|
||||
|
||||
# $(COMMDIR)/wxstrgnu/wxstrgnu.$(OBJSUFF) \
|
||||
# $(COMMDIR)/wxstrgnu/wxregex.$(OBJSUFF)
|
||||
|
||||
MSWOBJS = \
|
||||
app.$(OBJSUFF) \
|
||||
bitmap.$(OBJSUFF) \
|
||||
|
@@ -127,9 +127,6 @@ void wx_draw_open_spline_ps(wxPostScriptDC *dc, wxSpline *s)
|
||||
{
|
||||
double a, b, c, d, x1, y1, x2, y2, x3, y3;
|
||||
wxPoint *p, *q;
|
||||
if (dc->GetAutoSetting())
|
||||
dc->SetPen(* dc->GetPen());
|
||||
|
||||
wxNode *node = s->points->First();
|
||||
p = (wxPoint *)node->Data();
|
||||
|
||||
|
Reference in New Issue
Block a user