| /* |
| * Copyright 2014 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| // EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL EXPERIMENTAL |
| // DO NOT USE -- FOR INTERNAL TESTING ONLY |
| |
| #ifndef sk_matrix_DEFINED |
| #define sk_matrix_DEFINED |
| |
| #include "sk_types.h" |
| |
| SK_C_PLUS_PLUS_BEGIN_GUARD |
| |
| /** Set the matrix to identity */ |
| void sk_matrix_set_identity(sk_matrix_t*); |
| |
| /** Set the matrix to translate by (tx, ty). */ |
| void sk_matrix_set_translate(sk_matrix_t*, float tx, float ty); |
| /** |
| Preconcats the matrix with the specified translation. |
| M' = M * T(dx, dy) |
| */ |
| void sk_matrix_pre_translate(sk_matrix_t*, float tx, float ty); |
| /** |
| Postconcats the matrix with the specified translation. |
| M' = T(dx, dy) * M |
| */ |
| void sk_matrix_post_translate(sk_matrix_t*, float tx, float ty); |
| |
| /** Set the matrix to scale by sx and sy. */ |
| void sk_matrix_set_scale(sk_matrix_t*, float sx, float sy); |
| /** |
| Preconcats the matrix with the specified scale. |
| M' = M * S(sx, sy) |
| */ |
| void sk_matrix_pre_scale(sk_matrix_t*, float sx, float sy); |
| /** |
| Postconcats the matrix with the specified scale. |
| M' = S(sx, sy) * M |
| */ |
| void sk_matrix_post_scale(sk_matrix_t*, float sx, float sy); |
| |
| SK_C_PLUS_PLUS_END_GUARD |
| |
| #endif |