Add scale and skew to C canvas API
R=reed@chromium.org
BUG=skia:
Review URL: https://codereview.chromium.org/762493005
diff --git a/include/c/sk_canvas.h b/include/c/sk_canvas.h
index a99d1b8..32743e9 100644
--- a/include/c/sk_canvas.h
+++ b/include/c/sk_canvas.h
@@ -21,6 +21,9 @@
void sk_canvas_translate(sk_canvas_t*, float dx, float dy);
void sk_canvas_scale(sk_canvas_t*, float sx, float sy);
+void sk_canvas_rotate_degrees(sk_canvas_t*, float degrees);
+void sk_canvas_rotate_radians(sk_canvas_t*, float radians);
+void sk_canvas_skew(sk_canvas_t*, float sx, float sy);
void sk_canvas_draw_paint(sk_canvas_t*, const sk_paint_t*);
void sk_canvas_draw_rect(sk_canvas_t*, const sk_rect_t*, const sk_paint_t*);
diff --git a/src/c/sk_surface.cpp b/src/c/sk_surface.cpp
index 1cd4f3d..c75ab23 100644
--- a/src/c/sk_surface.cpp
+++ b/src/c/sk_surface.cpp
@@ -308,6 +308,18 @@
AsCanvas(ccanvas)->scale(sx, sy);
}
+void sk_canvas_rotate_degress(sk_canvas_t* ccanvas, float degrees) {
+ AsCanvas(ccanvas)->rotate(degrees);
+}
+
+void sk_canvas_rotate_radians(sk_canvas_t* ccanvas, float radians) {
+ AsCanvas(ccanvas)->rotate(SkRadiansToDegrees(radians));
+}
+
+void sk_canvas_skew(sk_canvas_t* ccanvas, float sx, float sy) {
+ AsCanvas(ccanvas)->skew(sx, sy);
+}
+
void sk_canvas_draw_paint(sk_canvas_t* ccanvas, const sk_paint_t* cpaint) {
AsCanvas(ccanvas)->drawPaint(AsPaint(*cpaint));
}