Files
lime/project/include/renderer/common/AutoSurfaceRender.h
2013-11-27 18:05:59 -08:00

33 lines
679 B
C++

#ifndef RENDERER_AUTO_SURFACE_RENDER_H
#define RENDERER_AUTO_SURFACE_RENDER_H
#include "renderer/common/Surface.h"
namespace lime {
class AutoSurfaceRender {
public:
AutoSurfaceRender (Surface *inSurface) : mSurface (inSurface), mTarget (inSurface->BeginRender (Rect (inSurface->Width (), inSurface->Height ()), false)) {}
AutoSurfaceRender (Surface *inSurface, const Rect &inRect) : mSurface (inSurface), mTarget (inSurface->BeginRender (inRect, false)) {}
~AutoSurfaceRender () { mSurface->EndRender (); }
const RenderTarget &Target () { return mTarget; }
private:
Surface *mSurface;
RenderTarget mTarget;
};
}
#endif