chromium/ui/gfx/geometry/box_f.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_GFX_GEOMETRY_BOX_F_H_
#define UI_GFX_GEOMETRY_BOX_F_H_

#include <iosfwd>
#include <string>

#include "ui/gfx/geometry/point3_f.h"
#include "ui/gfx/geometry/vector3d_f.h"

namespace gfx {

// A 3d version of gfx::RectF, with the positive z-axis pointed towards
// the camera.
class GEOMETRY_EXPORT BoxF {};

GEOMETRY_EXPORT BoxF UnionBoxes(const BoxF& a, const BoxF& b);

inline BoxF ScaleBox(const BoxF& b,
                     float x_scale,
                     float y_scale,
                     float z_scale) {}

inline BoxF ScaleBox(const BoxF& b, float scale) {}

inline bool operator==(const BoxF& a, const BoxF& b) {}

inline bool operator!=(const BoxF& a, const BoxF& b) {}

inline BoxF operator+(const BoxF& b, const Vector3dF& v) {}

// This is declared here for use in gtest-based unit tests but is defined in
// the //ui/gfx:test_support target. Depend on that to use this in your unit
// test. This should not be used in production code - call ToString() instead.
void PrintTo(const BoxF& box, ::std::ostream* os);

}  // namespace gfx

#endif  // UI_GFX_GEOMETRY_BOX_F_H_