gfx/thebes/gfxPath.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/thebes/gfxPath.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,44 @@
     1.4 +/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     1.5 + * This Source Code Form is subject to the terms of the Mozilla Public
     1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.8 +
     1.9 +#ifndef GFX_PATH_H
    1.10 +#define GFX_PATH_H
    1.11 +
    1.12 +#include "gfxTypes.h"
    1.13 +#include "nsISupportsImpl.h"
    1.14 +#include "mozilla/RefPtr.h"
    1.15 +
    1.16 +class gfxContext;
    1.17 +typedef struct cairo_path cairo_path_t;
    1.18 +
    1.19 +namespace mozilla {
    1.20 +namespace gfx {
    1.21 +class Path;
    1.22 +}
    1.23 +}
    1.24 +
    1.25 +/**
    1.26 + * Class representing a path. Can be created by copying the current path
    1.27 + * of a gfxContext.
    1.28 + */
    1.29 +class gfxPath MOZ_FINAL {
    1.30 +    NS_INLINE_DECL_REFCOUNTING(gfxPath)
    1.31 +
    1.32 +    friend class gfxContext;
    1.33 +
    1.34 +    gfxPath(cairo_path_t* aPath);
    1.35 +
    1.36 +public:
    1.37 +    gfxPath(mozilla::gfx::Path* aPath);
    1.38 +
    1.39 +private:
    1.40 +    // Private destructor, to discourage deletion outside of Release():
    1.41 +    ~gfxPath();
    1.42 +
    1.43 +    cairo_path_t* mPath;
    1.44 +    mozilla::RefPtr<mozilla::gfx::Path> mMoz2DPath;
    1.45 +};
    1.46 +
    1.47 +#endif

mercurial