Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: ui/gfx/size_f.h

Issue 11377068: ui: Make gfx::Size::Scale() mutate the class. Add gfx::ScaleSize() similar to Rect/Point. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_GFX_SIZE_F_H_ 5 #ifndef UI_GFX_SIZE_F_H_
6 #define UI_GFX_SIZE_F_H_ 6 #define UI_GFX_SIZE_F_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "ui/base/ui_export.h" 10 #include "ui/base/ui_export.h"
11 #include "ui/gfx/size_base.h" 11 #include "ui/gfx/size_base.h"
12 12
13 namespace gfx { 13 namespace gfx {
14 14
15 // A floating version of gfx::Size. 15 // A floating version of gfx::Size.
16 class UI_EXPORT SizeF : public SizeBase<SizeF, float> { 16 class UI_EXPORT SizeF : public SizeBase<SizeF, float> {
17 public: 17 public:
18 SizeF(); 18 SizeF();
19 SizeF(float width, float height); 19 SizeF(float width, float height);
20 ~SizeF(); 20 ~SizeF();
21 21
22 SizeF Scale(float scale) const WARN_UNUSED_RESULT { 22 void Scale(float scale) {
23 return Scale(scale, scale); 23 Scale(scale, scale);
24 } 24 }
25 25
26 SizeF Scale(float x_scale, float y_scale) const WARN_UNUSED_RESULT { 26 void Scale(float x_scale, float y_scale) {
27 return SizeF(width() * x_scale, height() * y_scale); 27 SetSize(width() * x_scale, height() * y_scale);
28 } 28 }
29 29
30 std::string ToString() const; 30 std::string ToString() const;
31 }; 31 };
32 32
33 inline bool operator==(const SizeF& lhs, const SizeF& rhs) { 33 inline bool operator==(const SizeF& lhs, const SizeF& rhs) {
34 return lhs.width() == rhs.width() && lhs.height() == rhs.height(); 34 return lhs.width() == rhs.width() && lhs.height() == rhs.height();
35 } 35 }
36 36
37 inline bool operator!=(const SizeF& lhs, const SizeF& rhs) { 37 inline bool operator!=(const SizeF& lhs, const SizeF& rhs) {
38 return !(lhs == rhs); 38 return !(lhs == rhs);
39 } 39 }
40 40
41 UI_EXPORT SizeF ScaleSize(const SizeF& p, float x_scale, float y_scale);
tfarina 2012/11/09 13:22:05 why we want these free functions? The member funct
42
43 inline SizeF ScaleSize(const SizeF& p, float scale) {
44 return ScaleSize(p, scale, scale);
45 }
46
41 #if !defined(COMPILER_MSVC) 47 #if !defined(COMPILER_MSVC)
42 extern template class SizeBase<SizeF, float>; 48 extern template class SizeBase<SizeF, float>;
43 #endif 49 #endif
44 50
45 } // namespace gfx 51 } // namespace gfx
46 52
47 #endif // UI_GFX_SIZE_F_H_ 53 #endif // UI_GFX_SIZE_F_H_
OLDNEW
« ui/gfx/rect_f.h ('K') | « ui/gfx/size.h ('k') | ui/gfx/size_f.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698