diff --git a/include/wx/graphics.h b/include/wx/graphics.h index 415b8c9e83..b2d26c386a 100644 --- a/include/wx/graphics.h +++ b/include/wx/graphics.h @@ -371,11 +371,11 @@ public: wxGraphicsPenInfo& Width(wxDouble width) { m_width = width; return *this; } - wxGraphicsPenInfo& + wxGraphicsPenInfo& LinearGradient(wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, const wxColour& c1, const wxColour& c2, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix) - { + { m_gradientType = wxGRADIENT_LINEAR; m_x1 = x1; m_y1 = y1; @@ -384,14 +384,14 @@ public: m_stops.SetStartColour(c1); m_stops.SetEndColour(c2); m_matrix = matrix; - return *this; - } + return *this; + } - wxGraphicsPenInfo& + wxGraphicsPenInfo& LinearGradient(wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix) - { + { m_gradientType = wxGRADIENT_LINEAR; m_x1 = x1; m_y1 = y1; @@ -399,42 +399,42 @@ public: m_y2 = y2; m_stops = stops; m_matrix = matrix; - return *this; + return *this; } - wxGraphicsPenInfo& + wxGraphicsPenInfo& RadialGradient(wxDouble startX, wxDouble startY, - wxDouble endX, wxDouble endY, wxDouble radius, + wxDouble endX, wxDouble endY, wxDouble radius, const wxColour& oColor, const wxColour& cColor, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix) - { + { m_gradientType = wxGRADIENT_RADIAL; m_x1 = startX; - m_y1 = startY; - m_x2 = endX; + m_y1 = startY; + m_x2 = endX; m_y2 = endY; m_radius = radius; m_stops.SetStartColour(oColor); m_stops.SetEndColour(cColor); m_matrix = matrix; - return *this; - } + return *this; + } - wxGraphicsPenInfo& + wxGraphicsPenInfo& RadialGradient(wxDouble startX, wxDouble startY, - wxDouble endX, wxDouble endY, + wxDouble endX, wxDouble endY, wxDouble radius, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix) - { + { m_gradientType = wxGRADIENT_RADIAL; - m_x1 = startX; - m_y1 = startY; - m_x2 = endX; + m_x1 = startX; + m_y1 = startY; + m_x2 = endX; m_y2 = endY; m_radius = radius; m_stops = stops; m_matrix = matrix; - return *this; + return *this; } // Accessors diff --git a/src/msw/graphics.cpp b/src/msw/graphics.cpp index 4af45bb4b0..14342a7dad 100644 --- a/src/msw/graphics.cpp +++ b/src/msw/graphics.cpp @@ -745,7 +745,7 @@ wxGDIPlusPenBrushBaseData::CreateLinearGradientBrush( } SetGradientStops(brush, stops); - m_brush = brush; + m_brush = brush; } void @@ -769,7 +769,7 @@ wxGDIPlusPenBrushBaseData::CreateRadialGradientBrush( brush->SetSurroundColors(&col, &count); // TODO: There doesn't seem to be an equivallent for SetWrapMode, so - // the area outside of the gradient's radius is not getting painted. + // the area outside of the gradient's radius is not getting painted. // Apply the matrix if there is one if ( !matrix.IsNull() ) diff --git a/src/msw/graphicsd2d.cpp b/src/msw/graphicsd2d.cpp index b84bfa0d1d..11df206206 100644 --- a/src/msw/graphicsd2d.cpp +++ b/src/msw/graphicsd2d.cpp @@ -1890,7 +1890,7 @@ void wxD2DPathData::Transform(const wxGraphicsMatrixData* matrix) // constraints this can be fully done only if open figure was empty. // So, Transform() can be safely called if path doesn't contain the open // sub-path or if open sub-path is empty. - + // Close current geometry. Flush(); @@ -2427,15 +2427,15 @@ public: const wxDouble y2; const wxGraphicsGradientStops stops; const wxGraphicsMatrix matrix; - LinearGradientInfo(wxDouble& x1_, wxDouble& y1_, - wxDouble& x2_, wxDouble& y2_, + LinearGradientInfo(wxDouble& x1_, wxDouble& y1_, + wxDouble& x2_, wxDouble& y2_, const wxGraphicsGradientStops& stops_, const wxGraphicsMatrix& matrix_) : x1(x1_), y1(y1_), x2(x2_), y2(y2_), stops(stops_), matrix(matrix_) {} }; - wxD2DLinearGradientBrushResourceHolder(wxDouble& x1, wxDouble& y1, - wxDouble& x2, wxDouble& y2, + wxD2DLinearGradientBrushResourceHolder(wxDouble& x1, wxDouble& y1, + wxDouble& x2, wxDouble& y2, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix) : m_linearGradientInfo(x1, y1, x2, y2, stops, matrix) {} @@ -2444,23 +2444,21 @@ protected: void DoAcquireResource() wxOVERRIDE { wxD2DGradientStopsHelper helper(m_linearGradientInfo.stops, GetContext()); - ID2D1LinearGradientBrush *linearGradientBrush; HRESULT hr = GetContext()->CreateLinearGradientBrush( D2D1::LinearGradientBrushProperties( D2D1::Point2F(m_linearGradientInfo.x1, m_linearGradientInfo.y1), D2D1::Point2F(m_linearGradientInfo.x2, m_linearGradientInfo.y2)), helper.GetGradientStopCollection(), - &linearGradientBrush); + &m_nativeResource); wxCHECK_HRESULT_RET(hr); if (! m_linearGradientInfo.matrix.IsNull()) { D2D1::Matrix3x2F matrix = wxGetD2DMatrixData(m_linearGradientInfo.matrix)->GetMatrix3x2F(); matrix.Invert(); - linearGradientBrush->SetTransform(matrix); + m_nativeResource->SetTransform(matrix); } - m_nativeResource = linearGradientBrush; } private: const LinearGradientInfo m_linearGradientInfo; @@ -2478,17 +2476,17 @@ public: const wxGraphicsGradientStops stops; const wxGraphicsMatrix matrix; - RadialGradientInfo(wxDouble x1_, wxDouble y1_, - wxDouble x2_, wxDouble y2_, - wxDouble r, + RadialGradientInfo(wxDouble x1_, wxDouble y1_, + wxDouble x2_, wxDouble y2_, + wxDouble r, const wxGraphicsGradientStops& stops_, const wxGraphicsMatrix& matrix_) : x1(x1_), y1(y1_), x2(x2_), y2(y2_), radius(r), stops(stops_), matrix(matrix_) {} }; - wxD2DRadialGradientBrushResourceHolder(wxDouble& x1, wxDouble& y1, - wxDouble& x2, wxDouble& y2, - wxDouble& r, + wxD2DRadialGradientBrushResourceHolder(wxDouble& x1, wxDouble& y1, + wxDouble& x2, wxDouble& y2, + wxDouble& r, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix) : m_radialGradientInfo(x1, y1, x2, y2, r, stops, matrix) {} @@ -2497,7 +2495,6 @@ protected: void DoAcquireResource() wxOVERRIDE { wxD2DGradientStopsHelper helper(m_radialGradientInfo.stops, GetContext()); - ID2D1RadialGradientBrush *radialGradientBrush; wxDouble xo = m_radialGradientInfo.x1 - m_radialGradientInfo.x2; wxDouble yo = m_radialGradientInfo.y1 - m_radialGradientInfo.y2; @@ -2508,16 +2505,15 @@ protected: D2D1::Point2F(xo, yo), m_radialGradientInfo.radius, m_radialGradientInfo.radius), helper.GetGradientStopCollection(), - &radialGradientBrush); + &m_nativeResource); wxCHECK_HRESULT_RET(hr); if (! m_radialGradientInfo.matrix.IsNull()) { D2D1::Matrix3x2F matrix = wxGetD2DMatrixData(m_radialGradientInfo.matrix)->GetMatrix3x2F(); matrix.Invert(); - radialGradientBrush->SetTransform(matrix); + m_nativeResource->SetTransform(matrix); } - m_nativeResource = radialGradientBrush; } private: @@ -2535,14 +2531,14 @@ public: wxD2DBrushData(wxGraphicsRenderer* renderer); - void CreateLinearGradientBrush(wxDouble x1, wxDouble y1, - wxDouble x2, wxDouble y2, + void CreateLinearGradientBrush(wxDouble x1, wxDouble y1, + wxDouble x2, wxDouble y2, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix); - void CreateRadialGradientBrush(wxDouble startX, wxDouble startY, - wxDouble endX, wxDouble endY, - wxDouble radius, + void CreateRadialGradientBrush(wxDouble startX, wxDouble startY, + wxDouble endX, wxDouble endY, + wxDouble radius, const wxGraphicsGradientStops& stops, const wxGraphicsMatrix& matrix = wxNullGraphicsMatrix);