gfx/thebes/gfxPath.h

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:7ad4487a9c2e
1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 #ifndef GFX_PATH_H
7 #define GFX_PATH_H
8
9 #include "gfxTypes.h"
10 #include "nsISupportsImpl.h"
11 #include "mozilla/RefPtr.h"
12
13 class gfxContext;
14 typedef struct cairo_path cairo_path_t;
15
16 namespace mozilla {
17 namespace gfx {
18 class Path;
19 }
20 }
21
22 /**
23 * Class representing a path. Can be created by copying the current path
24 * of a gfxContext.
25 */
26 class gfxPath MOZ_FINAL {
27 NS_INLINE_DECL_REFCOUNTING(gfxPath)
28
29 friend class gfxContext;
30
31 gfxPath(cairo_path_t* aPath);
32
33 public:
34 gfxPath(mozilla::gfx::Path* aPath);
35
36 private:
37 // Private destructor, to discourage deletion outside of Release():
38 ~gfxPath();
39
40 cairo_path_t* mPath;
41 mozilla::RefPtr<mozilla::gfx::Path> mMoz2DPath;
42 };
43
44 #endif

mercurial