diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-08-14 12:58:15 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-08-14 12:58:41 +0200 |
commit | 1799c1b04c7123fa66fe333bdabf0ba575c9c54c (patch) | |
tree | fb65cecbaf6ff90ca225f657e7cc171b2204c339 /src/util/mat3.cpp | |
parent | e5c8099860880d08b9c8a1db7ff36a695b62a68c (diff) | |
download | qtlocation-mapboxgl-1799c1b04c7123fa66fe333bdabf0ba575c9c54c.tar.gz |
fix image pattern rendering
Diffstat (limited to 'src/util/mat3.cpp')
-rw-r--r-- | src/util/mat3.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/util/mat3.cpp b/src/util/mat3.cpp new file mode 100644 index 0000000000..38858d2385 --- /dev/null +++ b/src/util/mat3.cpp @@ -0,0 +1,51 @@ +// This is an incomplete port of http://glmatrix.net/ +// +// Copyright (c) 2013 Brandon Jones, Colin MacKenzie IV +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the +// use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not claim +// that you wrote the original software. If you use this software in a +// product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. + +#include <mbgl/util/mat3.hpp> + +#include <cmath> + +using namespace mbgl; + +void matrix::identity(mat3& out) { + out[0] = 1.0f; + out[1] = 0.0f; + out[2] = 0.0f; + out[3] = 0.0f; + out[4] = 1.0f; + out[5] = 0.0f; + out[6] = 0.0f; + out[7] = 0.0f; + out[8] = 1.0f; +} + +void matrix::scale(mat3& out, const mat3& a, const float x, const float y) { + out[0] = x * a[0]; + out[1] = x * a[1]; + out[2] = x * a[2]; + out[3] = y * a[3]; + out[4] = y * a[4]; + out[5] = y * a[5]; + out[6] = a[6]; + out[7] = a[7]; + out[8] = a[8]; +} |