// Copyright 2015 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 GeometryPrinters_h #define GeometryPrinters_h #include "platform/geometry/FloatRoundedRect.h" #include namespace blink { class FloatBox; class FloatPoint; class FloatPoint3D; class FloatQuad; class FloatRect; class FloatSize; class LayoutRect; // GTest print support for geometry classes. // // To avoid ODR violations, these should also be declared in the respective // headers defining these types. This is required because otherwise a template // instantiation may be instantiated differently, depending on whether this // declaration is found. // // As a result, it is not necessary to include this file in tests in order to // use these printers. If, however, you get a link error about these symbols, // you need to make sure the blink_platform_test_support target is linked in // your unit test binary. void PrintTo(const FloatBox&, std::ostream*); void PrintTo(const FloatPoint&, std::ostream*); void PrintTo(const FloatPoint3D&, std::ostream*); void PrintTo(const FloatQuad&, std::ostream*); void PrintTo(const FloatRect&, std::ostream*); void PrintTo(const FloatRoundedRect&, std::ostream*); void PrintTo(const FloatRoundedRect::Radii&, std::ostream*); void PrintTo(const FloatSize&, std::ostream*); void PrintTo(const LayoutRect&, std::ostream*); } // namespace blink #endif // GeometryPrinters_h