blob: 34f6516c941f266bdbcfa75c77e68fa4afe50f28 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MOJO_SERVICES_GEOMETRY_CPP_GEOMETRY_UTIL_H_
#define MOJO_SERVICES_GEOMETRY_CPP_GEOMETRY_UTIL_H_
#include "mojo/services/geometry/interfaces/geometry.mojom.h"
namespace mojo {
inline bool operator==(const Rect& lhs, const Rect& rhs) {
return lhs.x == rhs.x && lhs.y == rhs.y && lhs.width == rhs.width &&
lhs.height == lhs.height;
}
inline bool operator!=(const Rect& lhs, const Rect& rhs) {
return !(lhs == rhs);
}
inline bool operator==(const Size& lhs, const Size& rhs) {
return lhs.width == rhs.width && lhs.height == rhs.height;
}
inline bool operator!=(const Size& lhs, const Size& rhs) {
return !(lhs == rhs);
}
inline bool operator==(const Point& lhs, const Point& rhs) {
return lhs.x == rhs.x && lhs.y == rhs.y;
}
inline bool operator!=(const Point& lhs, const Point& rhs) {
return !(lhs == rhs);
}
void SetIdentityTransform(Transform* transform);
void SetTranslationTransform(Transform* transform, float x, float y, float z);
Point TransformPoint(const Transform& transform, const Point& point);
} // namespace mojo
#endif // MOJO_SERVICES_GEOMETRY_CPP_GEOMETRY_UTIL_H_