Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
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/. */
6 #ifndef MOZILLA_GFX_MACIOSURFACETEXTURECLIENTOGL_H
7 #define MOZILLA_GFX_MACIOSURFACETEXTURECLIENTOGL_H
9 #include "mozilla/layers/TextureClientOGL.h"
11 class MacIOSurface;
13 namespace mozilla {
14 namespace layers {
16 class MacIOSurfaceTextureClientOGL : public TextureClient
17 {
18 public:
19 MacIOSurfaceTextureClientOGL(TextureFlags aFlags);
21 virtual ~MacIOSurfaceTextureClientOGL();
23 void InitWith(MacIOSurface* aSurface);
25 virtual bool Lock(OpenMode aMode) MOZ_OVERRIDE;
27 virtual void Unlock() MOZ_OVERRIDE;
29 virtual bool IsLocked() const MOZ_OVERRIDE;
31 virtual bool IsAllocated() const MOZ_OVERRIDE { return !!mSurface; }
33 virtual bool ToSurfaceDescriptor(SurfaceDescriptor& aOutDescriptor) MOZ_OVERRIDE;
35 virtual gfx::IntSize GetSize() const;
37 virtual TextureClientData* DropTextureData() MOZ_OVERRIDE;
39 virtual bool HasInternalBuffer() const MOZ_OVERRIDE { return false; }
41 protected:
42 RefPtr<MacIOSurface> mSurface;
43 bool mIsLocked;
44 };
46 }
47 }
49 #endif // MOZILLA_GFX_MACIOSURFACETEXTURECLIENTOGL_H