Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / include / c / sk_matrix.h
1 /*
2  * Copyright 2014 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7
8 // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL
9 // DO NOT USE -- FOR INTERNAL TESTING ONLY
10
11 #ifndef sk_matrix_DEFINED
12 #define sk_matrix_DEFINED
13
14 #include "include/c/sk_types.h"
15
16 SK_C_PLUS_PLUS_BEGIN_GUARD
17
18 /** Set the matrix to identity */
19 void sk_matrix_set_identity(sk_matrix_t*);
20
21 /** Set the matrix to translate by (tx, ty). */
22 void sk_matrix_set_translate(sk_matrix_t*, float tx, float ty);
23 /**
24     Preconcats the matrix with the specified translation.
25         M' = M * T(dx, dy)
26 */
27 void sk_matrix_pre_translate(sk_matrix_t*, float tx, float ty);
28 /**
29     Postconcats the matrix with the specified translation.
30         M' = T(dx, dy) * M
31 */
32 void sk_matrix_post_translate(sk_matrix_t*, float tx, float ty);
33
34 /** Set the matrix to scale by sx and sy. */
35 void sk_matrix_set_scale(sk_matrix_t*, float sx, float sy);
36 /**
37     Preconcats the matrix with the specified scale.
38         M' = M * S(sx, sy)
39 */
40 void sk_matrix_pre_scale(sk_matrix_t*, float sx, float sy);
41 /**
42     Postconcats the matrix with the specified scale.
43         M' = S(sx, sy) * M
44 */
45 void sk_matrix_post_scale(sk_matrix_t*, float sx, float sy);
46
47 SK_C_PLUS_PLUS_END_GUARD
48
49 #endif