diff options
Diffstat (limited to 'ui/gfx/geometry/size.h')
-rw-r--r-- | ui/gfx/geometry/size.h | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/ui/gfx/geometry/size.h b/ui/gfx/geometry/size.h deleted file mode 100644 index 8ce4178..0000000 --- a/ui/gfx/geometry/size.h +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) 2012 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 UI_GFX_GEOMETRY_SIZE_H_ -#define UI_GFX_GEOMETRY_SIZE_H_ - -#include <iosfwd> -#include <string> - -#include "base/compiler_specific.h" -#include "base/numerics/safe_math.h" -#include "build/build_config.h" -#include "ui/gfx/gfx_export.h" - -#if defined(OS_WIN) -typedef struct tagSIZE SIZE; -#elif defined(OS_MACOSX) -typedef struct CGSize CGSize; -#endif - -namespace gfx { - -// A size has width and height values. -class GFX_EXPORT Size { - public: - constexpr Size() : width_(0), height_(0) {} - constexpr Size(int width, int height) - : width_(width < 0 ? 0 : width), height_(height < 0 ? 0 : height) {} -#if defined(OS_MACOSX) - explicit Size(const CGSize& s); -#endif - -#if defined(OS_MACOSX) - Size& operator=(const CGSize& s); -#endif - -#if defined(OS_WIN) - SIZE ToSIZE() const; -#elif defined(OS_MACOSX) - CGSize ToCGSize() const; -#endif - - constexpr int width() const { return width_; } - constexpr int height() const { return height_; } - - void set_width(int width) { width_ = width < 0 ? 0 : width; } - void set_height(int height) { height_ = height < 0 ? 0 : height; } - - // This call will CHECK if the area of this size would overflow int. - int GetArea() const; - // Returns a checked numeric representation of the area. - base::CheckedNumeric<int> GetCheckedArea() const; - - void SetSize(int width, int height) { - set_width(width); - set_height(height); - } - - void Enlarge(int grow_width, int grow_height); - - void SetToMin(const Size& other); - void SetToMax(const Size& other); - - bool IsEmpty() const { return !width() || !height(); } - - std::string ToString() const; - - private: - int width_; - int height_; -}; - -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); -} - -// 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 Size& size, ::std::ostream* os); - -// Helper methods to scale a gfx::Size to a new gfx::Size. -GFX_EXPORT Size ScaleToCeiledSize(const Size& size, - float x_scale, - float y_scale); -GFX_EXPORT Size ScaleToCeiledSize(const Size& size, float scale); -GFX_EXPORT Size ScaleToFlooredSize(const Size& size, - float x_scale, - float y_scale); -GFX_EXPORT Size ScaleToFlooredSize(const Size& size, float scale); -GFX_EXPORT Size ScaleToRoundedSize(const Size& size, - float x_scale, - float y_scale); -GFX_EXPORT Size ScaleToRoundedSize(const Size& size, float scale); - -} // namespace gfx - -#endif // UI_GFX_GEOMETRY_SIZE_H_ |