OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. |
3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 14 matching lines...) Expand all Loading... |
25 */ | 25 */ |
26 | 26 |
27 #ifndef IntPoint_h | 27 #ifndef IntPoint_h |
28 #define IntPoint_h | 28 #define IntPoint_h |
29 | 29 |
30 #include "platform/geometry/IntSize.h" | 30 #include "platform/geometry/IntSize.h" |
31 #include "wtf/MathExtras.h" | 31 #include "wtf/MathExtras.h" |
32 | 32 |
33 #if OS(MACOSX) | 33 #if OS(MACOSX) |
34 typedef struct CGPoint CGPoint; | 34 typedef struct CGPoint CGPoint; |
35 #ifdef NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES | 35 |
36 typedef struct CGPoint NSPoint; | 36 #ifdef __OBJC__ |
37 #else | 37 #import <Foundation/Foundation.h> |
38 typedef struct _NSPoint NSPoint; | |
39 #endif | 38 #endif |
40 #endif | 39 #endif |
41 | 40 |
42 namespace WebCore { | 41 namespace WebCore { |
43 | 42 |
44 class PLATFORM_EXPORT IntPoint { | 43 class PLATFORM_EXPORT IntPoint { |
45 public: | 44 public: |
46 IntPoint() : m_x(0), m_y(0) { } | 45 IntPoint() : m_x(0), m_y(0) { } |
47 IntPoint(int x, int y) : m_x(x), m_y(y) { } | 46 IntPoint(int x, int y) : m_x(x), m_y(y) { } |
48 explicit IntPoint(const IntSize& size) : m_x(size.width()), m_y(size.height(
)) { } | 47 explicit IntPoint(const IntSize& size) : m_x(size.width()), m_y(size.height(
)) { } |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 | 84 |
86 IntPoint transposedPoint() const | 85 IntPoint transposedPoint() const |
87 { | 86 { |
88 return IntPoint(m_y, m_x); | 87 return IntPoint(m_y, m_x); |
89 } | 88 } |
90 | 89 |
91 #if OS(MACOSX) | 90 #if OS(MACOSX) |
92 explicit IntPoint(const CGPoint&); // don't do this implicitly since it's lo
ssy | 91 explicit IntPoint(const CGPoint&); // don't do this implicitly since it's lo
ssy |
93 operator CGPoint() const; | 92 operator CGPoint() const; |
94 | 93 |
95 #if !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES) | 94 #if defined(__OBJC__) && !defined(NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES) |
96 explicit IntPoint(const NSPoint&); // don't do this implicitly since it's lo
ssy | 95 explicit IntPoint(const NSPoint&); // don't do this implicitly since it's lo
ssy |
97 operator NSPoint() const; | 96 operator NSPoint() const; |
98 #endif | 97 #endif |
99 #endif | 98 #endif |
100 | 99 |
101 private: | 100 private: |
102 int m_x, m_y; | 101 int m_x, m_y; |
103 }; | 102 }; |
104 | 103 |
105 inline IntPoint& operator+=(IntPoint& a, const IntSize& b) | 104 inline IntPoint& operator+=(IntPoint& a, const IntSize& b) |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 } | 154 } |
156 | 155 |
157 inline int IntPoint::distanceSquaredToPoint(const IntPoint& point) const | 156 inline int IntPoint::distanceSquaredToPoint(const IntPoint& point) const |
158 { | 157 { |
159 return ((*this) - point).diagonalLengthSquared(); | 158 return ((*this) - point).diagonalLengthSquared(); |
160 } | 159 } |
161 | 160 |
162 } // namespace WebCore | 161 } // namespace WebCore |
163 | 162 |
164 #endif // IntPoint_h | 163 #endif // IntPoint_h |
OLD | NEW |