diff options
author | bunnei <ericbunnie@gmail.com> | 2014-04-08 19:25:03 -0400 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-04-08 19:25:03 -0400 |
commit | 63e46abdb8764bc97e91bae862c8d461e61b1965 (patch) | |
tree | e73f4aa25d7b4015a265e7bbfb6004dab7561027 /src/video_core/renderer_base.h | |
parent | 03c245345e1f319da5007c15019ed54432029fb8 (diff) |
got rid of 'src' folders in each sub-project
Diffstat (limited to 'src/video_core/renderer_base.h')
-rw-r--r-- | src/video_core/renderer_base.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h new file mode 100644 index 00000000..94748d69 --- /dev/null +++ b/src/video_core/renderer_base.h @@ -0,0 +1,58 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#pragma once + +#include "common.h" +#include "hash.h" + +class RendererBase { +public: + + /// Used to reference a framebuffer + enum kFramebuffer { + kFramebuffer_VirtualXFB = 0, + kFramebuffer_EFB, + kFramebuffer_Texture + }; + + RendererBase() : m_current_fps(0), m_current_frame(0) { + } + + ~RendererBase() { + } + + /// Swap buffers (render frame) + virtual void SwapBuffers() = 0; + + /** + * Set the emulator window to use for renderer + * @param window EmuWindow handle to emulator window to use for rendering + */ + virtual void SetWindow(EmuWindow* window) = 0; + + /// Initialize the renderer + virtual void Init() = 0; + + /// Shutdown the renderer + virtual void ShutDown() = 0; + + // Getter/setter functions: + // ------------------------ + + f32 GetCurrentframe() const { + return m_current_fps; + } + + int current_frame() const { + return m_current_frame; + } + +protected: + f32 m_current_fps; ///< Current framerate, should be set by the renderer + int m_current_frame; ///< Current frame, should be set by the renderer + +private: + DISALLOW_COPY_AND_ASSIGN(RendererBase); +}; |