11 #include "cores/GameSettings.h"    12 #include "cores/RetroPlayer/rendering/RenderSettings.h"    13 #include "utils/Geometry.h"    17 #include <libavutil/pixfmt.h>    30 class IRenderBufferPool;
    37                   std::shared_ptr<IRenderBufferPool> bufferPool);
    46   bool Configure(AVPixelFormat format);
    53   void RenderFrame(
bool clear, uint8_t alpha);
    56   virtual bool Supports(RENDERFEATURE feature) 
const = 0;
    58   virtual SCALINGMETHOD GetDefaultScalingMethod() 
const = 0;
    64   const CRenderSettings& GetRenderSettings()
 const { 
return m_renderSettings; }
    67   void SetScalingMethod(SCALINGMETHOD method);
    69   void SetRenderRotation(
unsigned int rotationDegCCW);
    70   void SetPixels(
const std::string& pixelPath);
    73   bool IsVisible() 
const;
    78   virtual bool ConfigureInternal() { 
return true; }
    79   virtual void RenderInternal(
bool clear, uint8_t alpha) = 0;
    80   virtual void FlushInternal() {}
    84   std::shared_ptr<IRenderBufferPool> m_bufferPool;
    87   bool m_bConfigured = 
false;
    88   AVPixelFormat m_format = AV_PIX_FMT_NONE;
    96   std::array<CPoint, 4> m_rotatedDestCoords{};
   102   virtual void ManageRenderArea(
const IRenderBuffer& renderBuffer);
   112   void GetScreenDimensions(
float& screenWidth, 
float& screenHeight, 
float& screenPixelRatio);
   114   uint64_t m_renderFrameCount = 0;
   115   uint64_t m_lastRender = 0;
 
Definition: IRenderBuffer.h:27
void PreRender(bool clear)
Performs whatever necessary before rendering the frame. 
Definition: RPBaseRenderer.cpp:213
Definition: AudioDecoder.h:18
Definition: IRenderBufferPool.h:30
STRETCHMODE
Methods for stretching the game to the viewing area. 
Definition: GameSettings.h:29
Definition: RenderContext.h:43
Definition: settings.py:1
Video settings provided by the rendering system. 
Definition: RenderVideoSettings.h:22
IRenderBufferPool * GetBufferPool()
Get the buffer pool used by this renderer. 
Definition: RPBaseRenderer.h:43
Definition: RPBaseRenderer.h:32
Definition: RenderSettings.h:17