Fixed adding a line to wxGraphicsPath with GDI+ renderer.
When current point is not yet set then wxGraphicsPath::AddLineToPoint() should behave as MoveToPoint(). See #17525
This commit is contained in:
@@ -79,10 +79,14 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Adds a straight line from the current point to (@a x,@a y).
|
Adds a straight line from the current point to (@a x,@a y).
|
||||||
|
If current point is not yet set before the call to AddLineToPoint()
|
||||||
|
this function will behave as MoveToPoint().
|
||||||
*/
|
*/
|
||||||
virtual void AddLineToPoint(wxDouble x, wxDouble y);
|
virtual void AddLineToPoint(wxDouble x, wxDouble y);
|
||||||
/**
|
/**
|
||||||
Adds a straight line from the current point to @a p.
|
Adds a straight line from the current point to @a p.
|
||||||
|
If current point is not yet set before the call to AddLineToPoint()
|
||||||
|
this function will behave as MoveToPoint().
|
||||||
*/
|
*/
|
||||||
void AddLineToPoint(const wxPoint2DDouble& p);
|
void AddLineToPoint(const wxPoint2DDouble& p);
|
||||||
|
|
||||||
@@ -108,7 +112,7 @@ public:
|
|||||||
Appends a rounded rectangle as a new closed subpath.
|
Appends a rounded rectangle as a new closed subpath.
|
||||||
If @a radius equals 0 this function will behave as AddRectangle(),
|
If @a radius equals 0 this function will behave as AddRectangle(),
|
||||||
otherwise after this call the current point will be at
|
otherwise after this call the current point will be at
|
||||||
(@a x+@a w, @a y + @a h/2).
|
(@a x+@a w, @a y+@a h/2).
|
||||||
*/
|
*/
|
||||||
virtual void AddRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
|
virtual void AddRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
|
||||||
wxDouble h, wxDouble radius);
|
wxDouble h, wxDouble radius);
|
||||||
|
@@ -1220,7 +1220,14 @@ void wxGDIPlusPathData::AddLineToPoint( wxDouble x , wxDouble y )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_path->GetLastPoint(&start);
|
Status st = m_path->GetLastPoint(&start);
|
||||||
|
// If current point is not yet set then
|
||||||
|
// this function should behave as MoveToPoint.
|
||||||
|
if ( st != Ok )
|
||||||
|
{
|
||||||
|
MoveToPoint(x, y);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_path->AddLine(start.X, start.Y, (REAL)x, (REAL)y);
|
m_path->AddLine(start.X, start.Y, (REAL)x, (REAL)y);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user