Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d59ac5e
Roll skia on m138 (canvaskit/0.40.0-456-g114d33c629 to canvaskit/0.40…
HinTak Jun 25, 2025
45ece54
Upgrade skia to m139 (canvaskit/0.40.0-457-ga46d5732d9 to canvaskit/0…
HinTak Jun 25, 2025
28d707b
Bump version up to 139.0
HinTak Jun 25, 2025
76c1c52
m139 patch plus adjustments
HinTak Jun 25, 2025
d9b3d4f
m139 changes
HinTak Jun 25, 2025
cd8af0c
Upstream main (post m139) fix for pdf breakage
HinTak Jun 25, 2025
e1b58ee
Revert "Backporting skia m139 fix to earlier skia for arm64 windows +…
HinTak Jun 26, 2025
6c911d9
Roll skia along m139 (canvaskit/0.40.0-787-g0f94c19331 to canvaskit/0…
HinTak Aug 6, 2025
d160290
upgrade skia to m140 (canvaskit/0.40.0-795-gcbc694239b to canvaskit/0…
HinTak Aug 6, 2025
c9cc4d7
Bump to 140.0
HinTak Aug 7, 2025
b4e4f18
m140: `SkFontMgr_New_FontConfig` with 1 parameter has been deprecated…
HinTak Aug 7, 2025
4e824a4
m140: `SkImage::isValid(GrRecordingContext*)` has been deprecated in …
HinTak Aug 7, 2025
d85f85a
m140: Prototype change for SkMatrix.setPolyToPoly(), and overload SkM…
HinTak Aug 7, 2025
ddd268f
m140: incomplete type 'SkPathBuilder' error; need new header.
HinTak Aug 7, 2025
4835fd0
m140: need overload for SkPathMeasure::getSegment
HinTak Aug 7, 2025
12f94bb
m140: need overload for SkRRect::transform
HinTak Aug 7, 2025
fb7e64d
m140: Need overload for &SkRegion::getBoundaryPath
HinTak Aug 7, 2025
f7187ce
m140: libpathops no longer exists.
HinTak Aug 7, 2025
3444ecc
Fixes seg-fault from dereferencing null->asRecorder()
HinTak Aug 7, 2025
bcaa3aa
m140: SkStrokeRec::applyToPath prototype change
HinTak Aug 7, 2025
2bf816e
Revert "Upstream main (post m139) fix for pdf breakage"
HinTak Aug 9, 2025
ee51150
m140 patch plus adjustments
HinTak Aug 9, 2025
443a499
Skip pybind11 3.0.0 until it get fixed (waiting for 3.0.1)
HinTak Aug 10, 2025
ed9754d
Merge branch 'm139-public' into m140-public
HinTak Aug 10, 2025
f0e1a8b
Windows pip does not like single quotes
HinTak Aug 11, 2025
8e57343
Use x64_64 gn binary for arm64 windows
HinTak Aug 11, 2025
b1355da
Windows pip does not like single quotes - 2nd change
HinTak Aug 11, 2025
ce1ba85
Windows pip does not like single quotes
HinTak Aug 11, 2025
9a57666
Windows pip does not like single quotes - 2nd change
HinTak Aug 11, 2025
f160ab1
Use x64_64 gn binary for arm64 windows
HinTak Aug 11, 2025
eafe57f
Merge branch 'm139-public' into m140-public
HinTak Aug 11, 2025
795197a
Can need apt-get update first before finding the correct packages
HinTak Aug 12, 2025
3b18469
Can need apt-get update first before finding the correct packages
HinTak Aug 12, 2025
3e4f815
Merge branch 'm139-public' into m140-public
HinTak Aug 12, 2025
ac7b85a
pybind11 3.0.1 is out; remove limitation not to use 3.0.0
HinTak Aug 22, 2025
c4de1df
Roll skia on m140 (canvaskit/0.40.0-1240-gb57e04d1c7 to canvaskit/0.4…
HinTak Sep 6, 2025
329b85b
Update skia to m141 (canvaskit/0.40.0-1244-g1fdbea293a to canvaskit/0…
HinTak Sep 6, 2025
a4c4147
Bump version up to 141
HinTak Sep 6, 2025
5268607
m141 patch plus adjustments
HinTak Sep 6, 2025
9d24ab3
m141:SkPath::moveTo() changed prototype
HinTak Sep 7, 2025
c0d859d
pybind11 3.0.1 does not work - segfault on exit from pytest in CI. Ba…
HinTak Sep 7, 2025
bdc7e6b
Merge branch 'm140-public' into m141-public
HinTak Sep 7, 2025
e8c1615
Revert "pybind11 3.0.1 does not work - segfault on exit from pytest i…
HinTak Sep 16, 2025
a1338eb
Make artefacts available even when pytest fails.
HinTak Sep 16, 2025
300f730
Upload wheel-fedora:42
HinTak Sep 16, 2025
7333b2c
: is not valid as artifact name
HinTak Sep 17, 2025
e54b1b2
Roll skia on m141 (canvaskit/0.40.0-1579-g8843f919a1 to canvaskit/0.4…
HinTak Nov 15, 2025
7722b12
Update skia to m142 (canvaskit/0.40.0-1869-gf4ed99d244, from m141 [ca…
HinTak Nov 15, 2025
903852d
Bump version up to 142.0
HinTak Nov 17, 2025
a883b32
m142 patch plus adjustments
HinTak Nov 17, 2025
034c721
m142: needs overload for &SkPath::getLastPt
HinTak Oct 14, 2025
b4d1ab0
m142: New argument mx with default nullptr to SkPathBuilder::snapsho…
HinTak Nov 17, 2025
f6f0030
Adding Python 3.14 builds
HinTak Nov 17, 2025
c824669
m142: Adjust 0001-Disable-OpenGL-for-Windows-on-ARM64.patch to m142
HinTak Nov 17, 2025
ecfe5b1
Bump version up to 143.0
HinTak Dec 8, 2025
e9fabf4
Update skia to m143 (canvaskit/0.40.0-2246-gda51f0d60e) from m142 (ca…
HinTak Dec 8, 2025
023bdc8
Bump version up to 144.0
HinTak Dec 8, 2025
fc32d7b
Update skia to m144 (canvaskit/0.40.0-2647-gee20d565ac) from m143 (ca…
HinTak Dec 8, 2025
a89bf95
m143 patch plus adjustments
HinTak Dec 8, 2025
67cde7e
Reverse-apply Make-SkPath-immutable diff
HinTak Dec 8, 2025
1129e24
m143: enum class SkApplyPerspectiveClip removed
HinTak Dec 7, 2025
e509c65
m143: comment out tests involving ApplyPerspectiveClip
HinTak Dec 8, 2025
6d60cb6
m143: &SkPath::Rect needs overload_cast<>
HinTak Dec 7, 2025
6d4fba5
m143: &SkPath::contains() needs py::overload_cast<>
HinTak Dec 7, 2025
ba4fe4f
m143: Extra new argument to &SkPathBuilder::incReserve
HinTak Dec 7, 2025
8402951
m143: PathBuilder.incReserve() now takes an extra argument.
HinTak Dec 8, 2025
36a01d5
CI: Update to macos-14
HinTak Dec 8, 2025
93d64b4
m143: Adjust 0001-Disable-OpenGL-for-Windows-on-ARM64.patch
HinTak Dec 8, 2025
c5a562a
CI: use macos-15-intel to get a x64 build for auto64.
HinTak Dec 9, 2025
c69a5d4
Merge branch 'm143-public' into m144-public
HinTak Dec 9, 2025
f17b97c
m144 patch plus adjustments
HinTak Dec 9, 2025
29d0f8c
m144: &SkSVGCanvas::Make() needs overload_cast<>
HinTak Dec 8, 2025
133924c
m144: &GrBackendFormats::MakeGL() need py::overload_cast<>
HinTak Dec 8, 2025
a428090
m144: Adjust 0001-Reland-Make-SkPath-immutable-on-GN-build.patch to r…
HinTak Dec 9, 2025
f2f3dc4
Forgotten to adjust the line-count when modifying the patch
HinTak Dec 9, 2025
fabbb0f
Simpler test for basic functionality (and crash)
HinTak Jan 9, 2026
fcb8fdb
Bump version up to 145.0
HinTak Jan 18, 2026
da9c6bd
Update skia to m145 (from m144, canvaskit/0.40.0-2647-gee20d565ac to …
HinTak Jan 18, 2026
593b593
m145 patch plus adjustments
HinTak Jan 20, 2026
48dfb44
m145: Needs to revert 5 changes
HinTak Jan 20, 2026
7aad5b0
Adjust 3 reversions to current m145
HinTak Jan 20, 2026
f3a4515
Apply 5 reversions
HinTak Jan 20, 2026
0dddff8
m145: py::overload_cast() for &SkPathBuilder::addCircle
HinTak Jan 18, 2026
ddc5c3e
m145: return type of image.refEncodedData() changed.
HinTak Jan 18, 2026
4309317
m145: Adding backward compatible version of &SkPDF::AttributeList::ap…
HinTak Jan 20, 2026
c4d2635
Missing && in the patch commands
HinTak Jan 20, 2026
73f0b3d
Filling in VkFormat and VkImageLayout values
Feb 26, 2026
d6cc483
No need to have py::arithmetic() or py::implicitly_convertible for Vk…
Feb 26, 2026
7fcb2dd
Adjusting Vulkan tests to use symbolic enums
Feb 26, 2026
a3dc3f6
Fix build error against pybind11 3.0.2.
Feb 17, 2026
e50be4c
Roll skia on m145 (canvaskit/0.40.0-3020-g2ab8add5be to canvaskit/0.4…
HinTak Feb 28, 2026
ac19cab
Not needed any more.
HinTak Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-2022, macos-13]
os: [ubuntu-22.04, windows-2022, macos-15-intel]
arch: [auto64]
cp: ["cp3{10,11,12,13}"]
cp: ["cp3{10,11,12,13,14}"]
include:
- os: macos-13
- os: macos-14
arch: arm64
cp: "cp3{10,11,12,13}"
cp: "cp3{10,11,12,13,14}"
- os: ubuntu-22.04-arm
arch: aarch64
cp: "cp3{10,11,12,13}"
cp: "cp3{10,11,12,13,14}"
- os: windows-11-arm
arch: ARM64
cp: "cp3{11,12,13}"
cp: "cp3{11,12,13,14}"

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -66,11 +66,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-2022, macos-13]
os: [ubuntu-22.04, windows-2022, macos-15-intel]
arch: [auto64]
cp: ["cp3{8,9}"]
include:
- os: macos-13
- os: macos-14
arch: arm64
cp: "cp3{8,9}"
- os: ubuntu-22.04-arm
Expand Down Expand Up @@ -127,6 +127,7 @@ jobs:
- name: Build docs
run: |
# installing libegl1 will also install libegl-mesa0
sudo apt-get -y update
sudo apt-get -y install libegl1
python -m pip install --pre -f dist skia-python
python -m pip install sphinx sphinx-rtd-theme
Expand Down Expand Up @@ -174,8 +175,13 @@ jobs:
submodules: recursive
- run: bash scripts/build_Linux.sh
- run: python -m build --wheel
- uses: actions/upload-artifact@v4
with:
name: wheel-fedora-42
path: ./dist/*.whl
- run: python -m pip install dist/*.whl
- run: python -m pip install moderngl
- run: python -c 'import skia; print(skia.__version__)'
- run: python -c 'import moderngl; moderngl_context = moderngl.create_standalone_context(backend="egl"); import skia; interface = skia.GrGLInterface.MakeEGL() ; assert isinstance(skia.GrDirectContext.MakeGL(interface), skia.GrContext) ; print("Success3")'
- run: eglinfo || /bin/true
- run: xvfb-run -s "-screen 0 640x480x24" glxinfo
Expand Down
114 changes: 114 additions & 0 deletions patch/0001-Conditionally-include-SkGradientShader.h.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
From 075316994c97ee86961b369bb2bff246aaa9d6c4 Mon Sep 17 00:00:00 2001
From: Ben Wagner <bungeman@google.com>
Date: Fri, 2 Jan 2026 10:14:39 -0500
Subject: [PATCH] Conditionally include SkGradientShader.h

User builds still set `SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS` globally.

Change-Id: I868ade904ed15a5a84e97630502ebfa979d41621
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1134418
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
---
include/effects/SkGradientShader.h | 4 ----
include/gpu/graphite/precompile/PrecompileShader.h | 4 ++++
src/shaders/gradients/SkConicalGradient.cpp | 4 ++++
src/shaders/gradients/SkLinearGradient.cpp | 4 ++++
src/shaders/gradients/SkRadialGradient.cpp | 4 ++++
src/shaders/gradients/SkSweepGradient.cpp | 4 ++++
6 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/include/effects/SkGradientShader.h b/include/effects/SkGradientShader.h
index e633d68e3b..578ef0aef2 100644
--- a/include/effects/SkGradientShader.h
+++ b/include/effects/SkGradientShader.h
@@ -22,10 +22,6 @@
#include <cstdint>
#include <utility>

-#ifndef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
-#define SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
-#endif
-
class SkMatrix;

/** \class SkGradientShader
diff --git a/include/gpu/graphite/precompile/PrecompileShader.h b/include/gpu/graphite/precompile/PrecompileShader.h
index d85a8a6e3e..d04b780a7c 100644
--- a/include/gpu/graphite/precompile/PrecompileShader.h
+++ b/include/gpu/graphite/precompile/PrecompileShader.h
@@ -14,7 +14,10 @@
#include "include/core/SkImageInfo.h"
#include "include/effects/SkGradient.h"

+#ifdef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
#include "include/effects/SkGradientShader.h"
+#endif
+
class SkColorSpace;

namespace skgpu::graphite {
diff --git a/src/shaders/gradients/SkConicalGradient.cpp b/src/shaders/gradients/SkConicalGradient.cpp
index ab368b6af6..0e65e02f64 100644
--- a/src/shaders/gradients/SkConicalGradient.cpp
+++ b/src/shaders/gradients/SkConicalGradient.cpp
@@ -29,7 +29,10 @@
#include <cstdint>
#include <utility>

+#ifdef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
#include "include/effects/SkGradientShader.h"
+#endif
+
bool SkConicalGradient::FocalData::set(SkScalar r0, SkScalar r1, SkMatrix* matrix) {
fIsSwapped = false;
fFocalX = sk_ieee_float_divide(r0, (r0 - r1));
diff --git a/src/shaders/gradients/SkLinearGradient.cpp b/src/shaders/gradients/SkLinearGradient.cpp
index e515e9f0d3..e2adc0ad40 100644
--- a/src/shaders/gradients/SkLinearGradient.cpp
+++ b/src/shaders/gradients/SkLinearGradient.cpp
@@ -23,7 +23,10 @@
#include <cstdint>
#include <utility>

+#ifdef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
#include "include/effects/SkGradientShader.h"
+#endif
+
class SkArenaAlloc;
class SkRasterPipeline;
enum class SkTileMode;
diff --git a/src/shaders/gradients/SkRadialGradient.cpp b/src/shaders/gradients/SkRadialGradient.cpp
index 8837651c27..016c82e13d 100644
--- a/src/shaders/gradients/SkRadialGradient.cpp
+++ b/src/shaders/gradients/SkRadialGradient.cpp
@@ -23,7 +23,10 @@
#include <cstdint>
#include <utility>

+#ifdef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
#include "include/effects/SkGradientShader.h"
+#endif
+
class SkArenaAlloc;
enum class SkTileMode;

diff --git a/src/shaders/gradients/SkSweepGradient.cpp b/src/shaders/gradients/SkSweepGradient.cpp
index 411f42658e..6c53ba3fe5 100644
--- a/src/shaders/gradients/SkSweepGradient.cpp
+++ b/src/shaders/gradients/SkSweepGradient.cpp
@@ -28,7 +28,10 @@
#include <tuple>
#include <utility>

+#ifdef SK_SUPPORT_LEGACY_UNSPANNED_GRADIENTS
#include "include/effects/SkGradientShader.h"
+#endif
+
class SkArenaAlloc;

SkSweepGradient::SkSweepGradient(const SkPoint& center,
--
2.52.0

42 changes: 21 additions & 21 deletions patch/0001-Disable-OpenGL-for-Windows-on-ARM64.patch
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@ index ef913e9..33f3208 100644
sources += [ "src/gpu/ganesh/gl/GrGLMakeNativeInterface_none.cpp" ]
}
@@ -2185,10 +2187,10 @@ if (skia_enable_tools) {
"tools/gpu/gl/win/SkWGL.h",
"tools/gpu/gl/win/SkWGL_win.cpp",
]
- libs += [
- "Gdi32.lib",
- "OpenGL32.lib",
- ]
+ libs += [ "Gdi32.lib" ]
+ if (target_cpu != "arm64") {
+ libs += [ "OpenGL32.lib" ]
+ }
"tools/ganesh/gl/win/SkWGL.h",
"tools/ganesh/gl/win/SkWGL_win.cpp",
]
- libs += [
- "Gdi32.lib",
- "OpenGL32.lib",
- ]
+ libs += [ "Gdi32.lib" ]
+ if (target_cpu != "arm64") {
+ libs += [ "OpenGL32.lib" ]
+ }
}
}
}

diff --git b/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp a/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp
index f33f2e1..da3cbe2 100644
Expand All @@ -70,26 +70,26 @@ index f33f2e1..da3cbe2 100644
+#endif // ARM64
+
#endif // SK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE
diff --git b/tools/gpu/gl/win/SkWGL_win.cpp a/tools/gpu/gl/win/SkWGL_win.cpp
diff --git b/tools/ganesh/gl/win/SkWGL_win.cpp a/tools/ganesh/gl/win/SkWGL_win.cpp
index 4cb462b..ac2d700 100644
--- b/tools/gpu/gl/win/SkWGL_win.cpp
+++ a/tools/gpu/gl/win/SkWGL_win.cpp
--- b/tools/ganesh/gl/win/SkWGL_win.cpp
+++ a/tools/ganesh/gl/win/SkWGL_win.cpp
@@ -6,7 +6,7 @@
*/

#include "include/core/SkTypes.h"
-#if defined(SK_BUILD_FOR_WIN) && !defined(WINUWP)
+#if defined(SK_BUILD_FOR_WIN) && !defined(_M_ARM64) && !defined(WINUWP)

#include "tools/gpu/gl/win/SkWGL.h"
#include "tools/ganesh/gl/win/SkWGL.h"

diff --git b/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp a/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
diff --git b/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp a/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
index cb62daf..0d29da7 100644
--- b/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
+++ a/tools/gpu/gl/win/CreatePlatformGLTestContext_win.cpp
--- b/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
+++ a/tools/ganesh/gl/win/CreatePlatformGLTestContext_win.cpp
@@ -8,6 +8,16 @@

#include "tools/gpu/gl/GLTestContext.h"
#include "tools/ganesh/gl/GLTestContext.h"

+#if defined(_M_ARM64)
+
Expand All @@ -103,7 +103,7 @@ index cb62daf..0d29da7 100644
+
#include <windows.h>
#include <GL/GL.h>
#include "tools/gpu/gl/win/SkWGL.h"
#include "tools/ganesh/gl/win/SkWGL.h"
@@ -221,3 +231,4 @@ GLTestContext* CreatePlatformGLTestContext(GrGLStandard forcedGpuAPI,
}
} // namespace sk_gpu_test
Expand Down
141 changes: 141 additions & 0 deletions patch/0001-Proper-copy-and-move-for-path-classes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
From e9b3264ade0c0e520d32df1ad00184de9640851b Mon Sep 17 00:00:00 2001
From: Ben Wagner <bungeman@google.com>
Date: Thu, 8 Jan 2026 12:12:56 -0500
Subject: [PATCH] Proper copy and move for path classes

SkPathBuilder and SkPath should be movable (avoids extra work in both
cases) and the default implementations should not be inline as they are
not trivial.

Change-Id: I31ee6b2b775c83e0b681e1dc6c2c1cf1357c8724
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1138116
Reviewed-by: Florin Malita <fmalita@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
---
include/core/SkPath.h | 6 ++++--
include/core/SkPathBuilder.h | 10 ++++++----
src/core/SkPathBuilder.cpp | 9 ++++++---
src/core/SkPath_pathdata.cpp | 18 ++++--------------
4 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/include/core/SkPath.h b/include/core/SkPath.h
index 7a433f7a82..192a0d3c81 100644
--- a/include/core/SkPath.h
+++ b/include/core/SkPath.h
@@ -142,7 +142,8 @@ public:

example: https://fiddle.skia.org/c/@Path_copy_const_SkPath
*/
- SkPath(const SkPath& path);
+ SkPath(const SkPath&);
+ SkPath(SkPath&&);

/** Releases ownership of any shared data and deletes data if SkPath is sole owner.

@@ -169,7 +170,8 @@ public:

example: https://fiddle.skia.org/c/@Path_copy_operator
*/
- SkPath& operator=(const SkPath& path);
+ SkPath& operator=(const SkPath&);
+ SkPath& operator=(SkPath&&);

/** Compares a and b; returns true if SkPath::FillType, verb array, SkPoint array, and weights
are equivalent.
diff --git a/include/core/SkPathBuilder.h b/include/core/SkPathBuilder.h
index d64d221462..adc5b24f52 100644
--- a/include/core/SkPathBuilder.h
+++ b/include/core/SkPathBuilder.h
@@ -47,6 +47,12 @@ public:
*/
SkPathBuilder();

+ SkPathBuilder(const SkPathBuilder&);
+ SkPathBuilder& operator=(const SkPathBuilder&);
+ SkPathBuilder(SkPathBuilder&&);
+ SkPathBuilder& operator=(SkPathBuilder&&);
+ ~SkPathBuilder();
+
/** Constructs an empty SkPathBuilder with the given FillType. By default, SkPathBuilder has no
verbs, no SkPoint, and no weights.

@@ -63,9 +69,6 @@ public:
*/
explicit SkPathBuilder(const SkPath& path);

- SkPathBuilder(const SkPathBuilder&) = default;
- ~SkPathBuilder();
-
/** Sets an SkPathBuilder to be a copy of an existing SkPath.
Copies the FillType and replays all of the verbs from the SkPath into the SkPathBuilder.

@@ -73,7 +76,6 @@ public:
@return SkPathBuilder
*/
SkPathBuilder& operator=(const SkPath&);
- SkPathBuilder& operator=(const SkPathBuilder&) = default;

bool operator==(const SkPathBuilder&) const;
bool operator!=(const SkPathBuilder& o) const { return !(*this == o); }
diff --git a/src/core/SkPathBuilder.cpp b/src/core/SkPathBuilder.cpp
index 789ab6bebe..bcab6bfff5 100644
--- a/src/core/SkPathBuilder.cpp
+++ b/src/core/SkPathBuilder.cpp
@@ -52,6 +52,12 @@ SkPathBuilder::SkPathBuilder() {
this->reset();
}

+SkPathBuilder::SkPathBuilder(const SkPathBuilder&) = default;
+SkPathBuilder& SkPathBuilder::operator=(const SkPathBuilder&) = default;
+SkPathBuilder::SkPathBuilder(SkPathBuilder&&) = default;
+SkPathBuilder& SkPathBuilder::operator=(SkPathBuilder&&) = default;
+SkPathBuilder::~SkPathBuilder() = default;
+
SkPathBuilder::SkPathBuilder(SkPathFillType ft) {
this->reset();
fFillType = ft;
@@ -61,9 +67,6 @@ SkPathBuilder::SkPathBuilder(const SkPath& src) {
*this = src;
}

-SkPathBuilder::~SkPathBuilder() {
-}
-
SkPathBuilder& SkPathBuilder::reset() {
fPts.clear();
fVerbs.clear();
diff --git a/src/core/SkPath_pathdata.cpp b/src/core/SkPath_pathdata.cpp
index a38d184702..1005dc7624 100644
--- a/src/core/SkPath_pathdata.cpp
+++ b/src/core/SkPath_pathdata.cpp
@@ -57,20 +57,10 @@ SkPath::SkPath(SkPathFillType ft)
, fIsVolatile(false)
{}

-SkPath::SkPath(const SkPath& that)
- : fPathData(that.fPathData)
- , fFillType(that.fFillType)
- , fIsVolatile(that.fIsVolatile)
-{}
-
-SkPath& SkPath::operator=(const SkPath& o) {
- if (this != &o) {
- fPathData = o.fPathData;
- fFillType = o.fFillType;
- fIsVolatile = o.fIsVolatile;
- }
- return *this;
-}
+SkPath::SkPath(const SkPath&) = default;
+SkPath& SkPath::operator=(const SkPath&) = default;
+SkPath::SkPath(SkPath&&) = default;
+SkPath& SkPath::operator=(SkPath&&) = default;

void SkPath::setConvexity(SkPathConvexity c) const {
fPathData->setConvexity(c);
--
2.52.0

Loading
Loading