Home | History | Annotate | Download | only in d3d9
      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