chromium/third_party/angle/util/Matrix.h

//
// Copyright 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Matrix:
//   Helper class for doing matrix math.
//

#ifndef UTIL_MATRIX_H
#define UTIL_MATRIX_H

#include "common/vector_utils.h"
#include "util/util_export.h"

struct ANGLE_UTIL_EXPORT Matrix4
{};

ANGLE_UTIL_EXPORT Matrix4 operator*(const Matrix4 &a, const Matrix4 &b);
ANGLE_UTIL_EXPORT Matrix4 &operator*=(Matrix4 &a, const Matrix4 &b);
ANGLE_UTIL_EXPORT Matrix4 operator*(const Matrix4 &a, float b);
ANGLE_UTIL_EXPORT Matrix4 &operator*=(Matrix4 &a, float b);
ANGLE_UTIL_EXPORT angle::Vector4 operator*(const Matrix4 &a, const angle::Vector4 &b);

ANGLE_UTIL_EXPORT bool operator==(const Matrix4 &a, const Matrix4 &b);
ANGLE_UTIL_EXPORT bool operator!=(const Matrix4 &a, const Matrix4 &b);

#endif  // UTIL_MATRIX_H