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

Side by Side Diff: third_party/WebKit/public/platform/WebDoubleSize.h

Issue 2116283002: Don't let rounding prematurely influence document size when printing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@620456-2
Patch Set: bug 467579 Created 4 years, 5 months 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
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved.
esprehn 2016/07/22 17:03:09 Wrong year also please use the short copyright all
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 #ifndef WebDoubleSize_h
32 #define WebDoubleSize_h
33
34 #include "WebCommon.h"
35
36 #include <algorithm>
esprehn 2016/07/22 17:03:08 Why do you need algorithm?
37
38 #if INSIDE_BLINK
39 #include "platform/geometry/DoubleSize.h"
40 #else
41 #include <cmath>
esprehn 2016/07/22 17:03:08 Why do you need cmath?
42 #include <ui/gfx/geometry/size_f.h>
43 #include <ui/gfx/geometry/vector2d_f.h>
44 #endif
45
46 namespace blink {
47
48 struct WebDoubleSize {
esprehn 2016/07/22 17:03:09 class and then put the fields at the bottom
49 double width;
50 double height;
51
52 bool isEmpty() const { return width <= 0 || height <= 0; }
53
54 WebDoubleSize()
55 : width(0)
56 , height(0)
57 {
58 }
59
60 WebDoubleSize(float width, float height)
esprehn 2016/07/22 17:03:09 Why does the constructor not take doubles?
61 : width(width)
62 , height(height)
63 {
64 }
65
66 #if INSIDE_BLINK
67 WebDoubleSize(const DoubleSize& s)
68 : width(s.width())
69 , height(s.height())
70 {
71 }
72
73 WebDoubleSize& operator=(const DoubleSize& s)
esprehn 2016/07/22 17:03:09 Don't abbreviate, size
74 {
75 width = s.width();
76 height = s.height();
77 return *this;
78 }
79
80 operator DoubleSize() const
81 {
82 return DoubleSize(width, height);
83 }
84 #else
85 WebDoubleSize(const gfx::SizeF& s)
86 : width(s.width())
87 , height(s.height())
88 {
89 }
90
91 WebDoubleSize(const gfx::Vector2dF& v)
92 : width(v.x())
93 , height(v.y())
94 {
95 }
96
97 WebDoubleSize& operator=(const gfx::SizeF& s)
98 {
99 width = s.width();
100 height = s.height();
101 return *this;
102 }
103
104 WebDoubleSize& operator=(const gfx::Vector2dF& v)
105 {
106 width = v.x();
107 height = v.y();
108 return *this;
109 }
110 #endif
111 };
112
113 inline bool operator==(const WebDoubleSize& a, const WebDoubleSize& b)
114 {
115 return a.width == b.width && a.height == b.height;
116 }
117
118 inline bool operator!=(const WebDoubleSize& a, const WebDoubleSize& b)
119 {
120 return !(a == b);
121 }
122
123 } // namespace blink
124
125 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698