| // Copyright 2014 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 SKY_ENGINE_PUBLIC_PLATFORM_WEBFLOATPOINT3D_H_ | 
 | #define SKY_ENGINE_PUBLIC_PLATFORM_WEBFLOATPOINT3D_H_ | 
 |  | 
 | #include "sky/engine/public/platform/WebCommon.h" | 
 |  | 
 | #if INSIDE_BLINK | 
 | #include "sky/engine/platform/geometry/FloatPoint3D.h" | 
 | #else | 
 | #include "ui/gfx/geometry/point3_f.h" | 
 | #endif | 
 |  | 
 | namespace blink { | 
 |  | 
 | struct WebFloatPoint3D { | 
 |     float x; | 
 |     float y; | 
 |     float z; | 
 |  | 
 |     WebFloatPoint3D() | 
 |         : x(0.0f) | 
 |         , y(0.0f) | 
 |         , z(0.0f) | 
 |     { | 
 |     } | 
 |  | 
 |     WebFloatPoint3D(float x, float y, float z) | 
 |         : x(x) | 
 |         , y(y) | 
 |         , z(z) | 
 |     { | 
 |     } | 
 |  | 
 | #if INSIDE_BLINK | 
 |     WebFloatPoint3D(const FloatPoint3D& p) | 
 |         : x(p.x()) | 
 |         , y(p.y()) | 
 |         , z(p.z()) | 
 |     { | 
 |     } | 
 |  | 
 |     WebFloatPoint3D& operator=(const FloatPoint3D& p) | 
 |     { | 
 |         x = p.x(); | 
 |         y = p.y(); | 
 |         z = p.z(); | 
 |         return *this; | 
 |     } | 
 |  | 
 |     operator FloatPoint3D() const | 
 |     { | 
 |         return FloatPoint3D(x, y, z); | 
 |     } | 
 | #else | 
 |     WebFloatPoint3D(const gfx::Point3F& p) | 
 |         : x(p.x()) | 
 |         , y(p.y()) | 
 |         , z(p.z()) | 
 |     { | 
 |     } | 
 |  | 
 |     WebFloatPoint3D& operator=(const gfx::Point3F& p) | 
 |     { | 
 |         x = p.x(); | 
 |         y = p.y(); | 
 |         return *this; | 
 |     } | 
 |  | 
 |     operator gfx::Point3F() const | 
 |     { | 
 |         return gfx::Point3F(x, y, z); | 
 |     } | 
 |  | 
 | #endif | 
 | }; | 
 |  | 
 | inline bool operator==(const WebFloatPoint3D& a, const WebFloatPoint3D& b) | 
 | { | 
 |     return a.x == b.x && a.y == b.y && a.z == b.z; | 
 | } | 
 |  | 
 | inline bool operator!=(const WebFloatPoint3D& a, const WebFloatPoint3D& b) | 
 | { | 
 |     return !(a == b); | 
 | } | 
 |  | 
 | } // namespace blink | 
 |  | 
 | #endif  // SKY_ENGINE_PUBLIC_PLATFORM_WEBFLOATPOINT3D_H_ |