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_ 44