Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / src / libGLESv2 / renderer / d3d / d3d9 / RenderTarget9.h
1 //
2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 // RenderTarget9.h: Defines a D3D9-specific wrapper for IDirect3DSurface9 pointers
8 // retained by Renderbuffers.
9
10 #ifndef LIBGLESV2_RENDERER_RENDERTARGET9_H_
11 #define LIBGLESV2_RENDERER_RENDERTARGET9_H_
12
13 #include "libGLESv2/renderer/RenderTarget.h"
14
15 namespace rx
16 {
17 class Renderer;
18 class Renderer9;
19
20 class RenderTarget9 : public RenderTarget
21 {
22   public:
23     RenderTarget9(Renderer *renderer, IDirect3DSurface9 *surface);
24     RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height, GLenum internalFormat, GLsizei samples);
25     virtual ~RenderTarget9();
26
27     static RenderTarget9 *makeRenderTarget9(RenderTarget *renderTarget);
28
29     virtual void invalidate(GLint x, GLint y, GLsizei width, GLsizei height);
30
31     IDirect3DSurface9 *getSurface();
32
33   private:
34     DISALLOW_COPY_AND_ASSIGN(RenderTarget9);
35
36     IDirect3DSurface9 *mRenderTarget;
37
38     Renderer9 *mRenderer;
39 };
40
41 }
42
43 #endif // LIBGLESV2_RENDERER_RENDERTARGET9_H_