gfx/thebes/gfxReusableImageSurfaceWrapper.h

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:e436c3efc691
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5 #ifndef GFXMEMCOWSURFACEWRAPPER
6 #define GFXMEMCOWSURFACEWRAPPER
7
8 #include "gfxReusableSurfaceWrapper.h"
9
10 class gfxImageSurface;
11
12 /**
13 * A cross-thread capable implementation of gfxReusableSurfaceWrapper based
14 * on gfxImageSurface.
15 */
16 class gfxReusableImageSurfaceWrapper : public gfxReusableSurfaceWrapper {
17 public:
18 gfxReusableImageSurfaceWrapper(gfxImageSurface* aSurface);
19 ~gfxReusableImageSurfaceWrapper();
20
21 const unsigned char* GetReadOnlyData() const MOZ_OVERRIDE;
22 gfxImageFormat Format() MOZ_OVERRIDE;
23 gfxReusableSurfaceWrapper* GetWritable(gfxImageSurface** aSurface) MOZ_OVERRIDE;
24 void ReadLock() MOZ_OVERRIDE;
25 void ReadUnlock() MOZ_OVERRIDE;
26
27 Type GetType()
28 {
29 return TYPE_IMAGE;
30 }
31
32 private:
33 nsRefPtr<gfxImageSurface> mSurface;
34 };
35
36 #endif // GFXMEMCOWSURFACEWRAPPER

mercurial