mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
94 lines
1.7 KiB
C++
94 lines
1.7 KiB
C++
// 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_
|