1e80d23d58dcdb39105e7202e16b077219621a3e
[gecko.git] / ContainerLayerOGL.h
blob1e80d23d58dcdb39105e7202e16b077219621a3e
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 GFX_CONTAINERLAYEROGL_H
7 #define GFX_CONTAINERLAYEROGL_H
9 #include "LayerManagerOGL.h" // for LayerOGL
10 #include "Layers.h" // for Layer (ptr only), etc
11 class gfx3DMatrix;
12 struct nsIntPoint;
14 namespace mozilla {
15 namespace layers {
17 class ContainerLayerOGL : public ContainerLayer,
18 public LayerOGL
20 public:
21 ContainerLayerOGL(LayerManagerOGL *aManager);
22 ~ContainerLayerOGL();
24 /** LayerOGL implementation */
25 Layer* GetLayer() { return this; }
27 void Destroy();
29 LayerOGL* GetFirstChildOGL();
31 virtual void RenderLayer(int aPreviousFrameBuffer,
32 const nsIntPoint& aOffset);
34 virtual void ComputeEffectiveTransforms(const gfx3DMatrix& aTransformToSurface)
36 DefaultComputeEffectiveTransforms(aTransformToSurface);
39 virtual void CleanupResources();
42 } /* layers */
43 } /* mozilla */
45 #endif /* GFX_CONTAINERLAYEROGL_H */