c9119060a0
Review URL: https://codereview.chromium.org/1271023002
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/*
|
|
* 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
|