blob: 179a8b8048e2acee04581ad71cc5af0c4aec747e [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/lib/fostr/fidl/fuchsia.math/amendments.h"
#include <zircon/assert.h>
#include <ostream>
namespace fuchsia {
namespace math {
std::ostream& operator<<(std::ostream& os, const Point& value) {
return os << "{x=" << value.x << ", y=" << value.y << "}";
}
std::ostream& operator<<(std::ostream& os, const PointF& value) {
return os << "{x=" << value.x << ", y=" << value.y << "}";
}
std::ostream& operator<<(std::ostream& os, const Point3F& value) {
return os << "{x=" << value.x << ", y=" << value.y << ", z=" << value.z << "}";
}
std::ostream& operator<<(std::ostream& os, const Rect& value) {
return os << "{x=" << value.x << ", y=" << value.y << ", width=" << value.width
<< ", height=" << value.height << "}";
}
std::ostream& operator<<(std::ostream& os, const RectF& value) {
return os << "{x=" << value.x << ", y=" << value.y << ", width=" << value.width
<< ", height=" << value.height << "}";
}
std::ostream& operator<<(std::ostream& os, const RRectF& value) {
return os << "{x=" << value.x << ", y=" << value.y << ", width=" << value.width
<< ", height=" << value.height << ", top_left_radius_x=" << value.top_left_radius_x
<< ", top_left_radius_y=" << value.top_left_radius_y
<< ", top_right_radius_x=" << value.top_right_radius_x
<< ", top_right_radius_y=" << value.top_right_radius_y
<< ", bottom_left_radius_x=" << value.bottom_left_radius_x
<< ", bottom_left_radius_y=" << value.bottom_left_radius_y
<< ", bottom_right_radius_x=" << value.bottom_right_radius_x
<< ", bottom_right_radius_y=" << value.bottom_right_radius_y << "}";
}
std::ostream& operator<<(std::ostream& os, const Size& value) {
return os << "{width=" << value.width << ", height=" << value.height << "}";
}
std::ostream& operator<<(std::ostream& os, const SizeF& value) {
return os << "{width=" << value.width << ", height=" << value.height << "}";
}
std::ostream& operator<<(std::ostream& os, const Inset& value) {
return os << "{left=" << value.left << ", top=" << value.top << ", right=" << value.right
<< ", bottom=" << value.bottom << "}";
}
std::ostream& operator<<(std::ostream& os, const InsetF& value) {
return os << "{left=" << value.left << ", top=" << value.top << ", right=" << value.right
<< ", bottom=" << value.bottom << "}";
}
std::ostream& operator<<(std::ostream& os, const Transform& value) {
ZX_DEBUG_ASSERT(value.matrix.size() == 16);
os << "[";
for (size_t i = 0; i < 4; i++) {
if (i != 0)
os << ", ";
os << "[";
for (size_t j = 0; j < 4; j++) {
if (j != 0)
os << ", ";
os << value.matrix.at(i * 4 + j);
}
os << "]";
}
os << "]";
return os;
}
} // namespace math
} // namespace fuchsia