Chromium Code Reviews| Index: ui/gfx/size_base_impl.h |
| diff --git a/ui/gfx/size_base_impl.h b/ui/gfx/size_base_impl.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9e87468a9b3f13c843ea7c367dbe85257b73dc44 |
| --- /dev/null |
| +++ b/ui/gfx/size_base_impl.h |
| @@ -0,0 +1,37 @@ |
| +// 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. |
| + |
| +#include "ui/gfx/size_base.h" |
| + |
| +#include "base/logging.h" |
| + |
| +// This file provides the implementation for SizeBase template and |
| +// used to instantiate the base class for Size and SizeF classes. |
| +#if !defined(UI_IMPLEMENTATION) |
| +#error "This file is intended for UI implementation only" |
| +#endif |
| + |
| +namespace gfx { |
| + |
| +template<typename Class, typename Type> |
| +void SizeBase<Class, Type>::set_width(Type width) { |
| + DCHECK(!(width < 0)); |
|
sky
2012/11/12 04:21:46
DCHECK_GE for all of these.
danakj
2012/11/12 05:52:57
I did that at first, but then the DCHECK() fires f
|
| + width_ = width < 0 ? 0 : width; |
| +} |
| + |
| +template<typename Class, typename Type> |
| +void SizeBase<Class, Type>::set_height(Type height) { |
| + DCHECK(!(height < 0)); |
| + height_ = height < 0 ? 0 : height; |
| +} |
| + |
| +template<typename Class, typename Type> |
| +SizeBase<Class, Type>::SizeBase(Type width, Type height) |
| + : width_(width < 0 ? 0 : width), |
| + height_(height < 0 ? 0 : height) { |
| + DCHECK(!(width < 0)); |
| + DCHECK(!(height < 0)); |
| +} |
| + |
| +} // namespace gfx |