mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1037570 - Remove gfxPath. r=mattwoodrow
This commit is contained in:
parent
e30c97e57a
commit
4b0563806f
@ -103,8 +103,7 @@ SVGEllipseElement::ConstructPath(gfxContext *aCtx)
|
||||
RefPtr<PathBuilder> builder = dt->CreatePathBuilder(fillRule);
|
||||
RefPtr<Path> path = BuildPath(builder);
|
||||
if (path) {
|
||||
nsRefPtr<gfxPath> gfxpath = new gfxPath(path);
|
||||
aCtx->SetPath(gfxpath);
|
||||
aCtx->SetPath(path);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,18 +235,16 @@ gfxContext::ClosePath()
|
||||
mPathBuilder->Close();
|
||||
}
|
||||
|
||||
already_AddRefed<gfxPath> gfxContext::CopyPath()
|
||||
TemporaryRef<Path> gfxContext::GetPath()
|
||||
{
|
||||
EnsurePath();
|
||||
nsRefPtr<gfxPath> path = new gfxPath(mPath);
|
||||
return path.forget();
|
||||
return mPath;
|
||||
}
|
||||
|
||||
void gfxContext::SetPath(gfxPath* path)
|
||||
void gfxContext::SetPath(Path* path)
|
||||
{
|
||||
MOZ_ASSERT(path->mMoz2DPath, "Can't mix cairo and azure paths!");
|
||||
MOZ_ASSERT(path->mMoz2DPath->GetBackendType() == mDT->GetBackendType());
|
||||
mPath = path->mMoz2DPath;
|
||||
MOZ_ASSERT(path->GetBackendType() == mDT->GetBackendType());
|
||||
mPath = path;
|
||||
mPathBuilder = nullptr;
|
||||
mPathIsRect = false;
|
||||
mTransformChanged = false;
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "gfxRect.h"
|
||||
#include "gfxMatrix.h"
|
||||
#include "gfxPattern.h"
|
||||
#include "gfxPath.h"
|
||||
#include "nsTArray.h"
|
||||
#include "nsAutoPtr.h"
|
||||
|
||||
@ -38,6 +37,8 @@ template <typename T> class FallibleTArray;
|
||||
* as opposed to app units.
|
||||
*/
|
||||
class gfxContext MOZ_FINAL {
|
||||
typedef mozilla::gfx::Path Path;
|
||||
|
||||
NS_INLINE_DECL_REFCOUNTING(gfxContext)
|
||||
|
||||
public:
|
||||
@ -133,14 +134,14 @@ public:
|
||||
void ClosePath();
|
||||
|
||||
/**
|
||||
* Copies the current path and returns the copy.
|
||||
* Returns the current path.
|
||||
*/
|
||||
already_AddRefed<gfxPath> CopyPath();
|
||||
mozilla::TemporaryRef<Path> GetPath();
|
||||
|
||||
/**
|
||||
* Appends the given path to the current path.
|
||||
*/
|
||||
void SetPath(gfxPath* path);
|
||||
void SetPath(Path* path);
|
||||
|
||||
/**
|
||||
* Moves the pen to a new point without drawing a line.
|
||||
@ -724,7 +725,6 @@ private:
|
||||
typedef mozilla::gfx::Float Float;
|
||||
typedef mozilla::gfx::Rect Rect;
|
||||
typedef mozilla::gfx::CompositionOp CompositionOp;
|
||||
typedef mozilla::gfx::Path Path;
|
||||
typedef mozilla::gfx::PathBuilder PathBuilder;
|
||||
typedef mozilla::gfx::SourceSurface SourceSurface;
|
||||
|
||||
@ -852,6 +852,8 @@ private:
|
||||
*/
|
||||
class gfxContextPathAutoSaveRestore
|
||||
{
|
||||
typedef mozilla::gfx::Path Path;
|
||||
|
||||
public:
|
||||
gfxContextPathAutoSaveRestore() : mContext(nullptr) {}
|
||||
|
||||
@ -880,7 +882,7 @@ public:
|
||||
void Save()
|
||||
{
|
||||
if (!mPath && mContext) {
|
||||
mPath = mContext->CopyPath();
|
||||
mPath = mContext->GetPath();
|
||||
}
|
||||
}
|
||||
|
||||
@ -899,7 +901,7 @@ public:
|
||||
private:
|
||||
gfxContext *mContext;
|
||||
|
||||
nsRefPtr<gfxPath> mPath;
|
||||
mozilla::RefPtr<Path> mPath;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1,27 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "gfxPath.h"
|
||||
#include "mozilla/gfx/2D.h"
|
||||
|
||||
#include "cairo.h"
|
||||
|
||||
using namespace mozilla::gfx;
|
||||
|
||||
gfxPath::gfxPath(cairo_path_t* aPath)
|
||||
: mPath(aPath)
|
||||
{
|
||||
}
|
||||
|
||||
gfxPath::gfxPath(Path* aPath)
|
||||
: mPath(nullptr)
|
||||
, mMoz2DPath(aPath)
|
||||
{
|
||||
}
|
||||
|
||||
gfxPath::~gfxPath()
|
||||
{
|
||||
cairo_path_destroy(mPath);
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef GFX_PATH_H
|
||||
#define GFX_PATH_H
|
||||
|
||||
#include "gfxTypes.h"
|
||||
#include "nsISupportsImpl.h"
|
||||
#include "mozilla/RefPtr.h"
|
||||
|
||||
class gfxContext;
|
||||
typedef struct cairo_path cairo_path_t;
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
class Path;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class representing a path. Can be created by copying the current path
|
||||
* of a gfxContext.
|
||||
*/
|
||||
class gfxPath MOZ_FINAL {
|
||||
NS_INLINE_DECL_REFCOUNTING(gfxPath)
|
||||
|
||||
friend class gfxContext;
|
||||
|
||||
gfxPath(cairo_path_t* aPath);
|
||||
|
||||
public:
|
||||
gfxPath(mozilla::gfx::Path* aPath);
|
||||
|
||||
private:
|
||||
// Private destructor, to discourage deletion outside of Release():
|
||||
~gfxPath();
|
||||
|
||||
cairo_path_t* mPath;
|
||||
mozilla::RefPtr<mozilla::gfx::Path> mMoz2DPath;
|
||||
};
|
||||
|
||||
#endif
|
@ -28,7 +28,6 @@ EXPORTS += [
|
||||
'gfxLineSegment.h',
|
||||
'gfxMathTable.h',
|
||||
'gfxMatrix.h',
|
||||
'gfxPath.h',
|
||||
'gfxPattern.h',
|
||||
'gfxPlatform.h',
|
||||
'gfxPoint.h',
|
||||
@ -233,7 +232,6 @@ UNIFIED_SOURCES += [
|
||||
'gfxImageSurface.cpp',
|
||||
'gfxMathTable.cpp',
|
||||
'gfxMatrix.cpp',
|
||||
'gfxPath.cpp',
|
||||
'gfxPattern.cpp',
|
||||
'gfxRect.cpp',
|
||||
'gfxReusableImageSurfaceWrapper.cpp',
|
||||
|
Loading…
Reference in New Issue
Block a user