Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
KODI::RETRO::CRPBaseRenderer Class Referenceabstract

#include <RPBaseRenderer.h>

Inheritance diagram for KODI::RETRO::CRPBaseRenderer:
KODI::RETRO::CRPRendererGuiTexture KODI::RETRO::CRPRendererOpenGL KODI::RETRO::CRPRendererOpenGLES KODI::RETRO::CRPWinRenderer KODI::RETRO::CRPRendererDMAOpenGL KODI::RETRO::CRPRendererDMAOpenGLES

Public Member Functions

 CRPBaseRenderer (const CRenderSettings &renderSettings, CRenderContext &context, std::shared_ptr< IRenderBufferPool > bufferPool)
 
virtual ~CRPBaseRenderer ()
 
IRenderBufferPoolGetBufferPool ()
 Get the buffer pool used by this renderer.
 
bool Configure (AVPixelFormat format)
 
void FrameMove ()
 
void SetBuffer (IRenderBuffer *buffer)
 
void RenderFrame (bool clear, uint8_t alpha)
 
virtual bool Supports (RENDERFEATURE feature) const =0
 
bool IsCompatible (const CRenderVideoSettings &settings) const
 
virtual SCALINGMETHOD GetDefaultScalingMethod () const =0
 
virtual void Flush ()
 
const CRenderSettingsGetRenderSettings () const
 
void SetScalingMethod (SCALINGMETHOD method)
 
void SetStretchMode (STRETCHMODE stretchMode)
 
void SetRenderRotation (unsigned int rotationDegCCW)
 
void SetShaderPreset (const std::string &presetPath)
 
void SetPixels (const std::string &pixelPath)
 
bool IsVisible () const
 
IRenderBufferGetRenderBuffer () const
 

Protected Member Functions

virtual bool ConfigureInternal ()
 
virtual void RenderInternal (bool clear, uint8_t alpha)=0
 
virtual void FlushInternal ()
 
void Updateshaders ()
 Updates everything needed for video shaders (shader presets) Needs to be called after m_renderBuffer has been set.
 

Protected Attributes

CRenderContextm_context
 
std::shared_ptr< IRenderBufferPoolm_bufferPool
 
bool m_bConfigured = false
 
AVPixelFormat m_format = AV_PIX_FMT_NONE
 
CRenderSettings m_renderSettings
 
IRenderBufferm_renderBuffer = nullptr
 
CRect m_sourceRect
 
float m_fullDestWidth {0.0f}
 
float m_fullDestHeight {0.0f}
 
ViewportCoordinates m_rotatedDestCoords {}
 
std::unique_ptr< SHADER::IShaderPresetm_shaderPreset
 
bool m_bShadersNeedUpdate = true
 
bool m_bUseShaderPreset = false
 

Constructor & Destructor Documentation

◆ CRPBaseRenderer()

CRPBaseRenderer::CRPBaseRenderer ( const CRenderSettings & renderSettings,
CRenderContext & context,
std::shared_ptr< IRenderBufferPool > bufferPool )

◆ ~CRPBaseRenderer()

CRPBaseRenderer::~CRPBaseRenderer ( )
virtual

Member Function Documentation

◆ Configure()

bool CRPBaseRenderer::Configure ( AVPixelFormat format)

◆ ConfigureInternal()

virtual bool KODI::RETRO::CRPBaseRenderer::ConfigureInternal ( )
inlineprotectedvirtual

Reimplemented in KODI::RETRO::CRPWinRenderer.

◆ Flush()

void CRPBaseRenderer::Flush ( )
virtual

◆ FlushInternal()

virtual void KODI::RETRO::CRPBaseRenderer::FlushInternal ( )
inlineprotectedvirtual

◆ FrameMove()

void CRPBaseRenderer::FrameMove ( )

◆ GetBufferPool()

IRenderBufferPool * KODI::RETRO::CRPBaseRenderer::GetBufferPool ( )
inline

Get the buffer pool used by this renderer.

◆ GetDefaultScalingMethod()

virtual SCALINGMETHOD KODI::RETRO::CRPBaseRenderer::GetDefaultScalingMethod ( ) const
pure virtual

◆ GetRenderBuffer()

IRenderBuffer * CRPBaseRenderer::GetRenderBuffer ( ) const

◆ GetRenderSettings()

const CRenderSettings & KODI::RETRO::CRPBaseRenderer::GetRenderSettings ( ) const
inline

◆ IsCompatible()

bool CRPBaseRenderer::IsCompatible ( const CRenderVideoSettings & settings) const

◆ IsVisible()

bool CRPBaseRenderer::IsVisible ( ) const

◆ RenderFrame()

void CRPBaseRenderer::RenderFrame ( bool clear,
uint8_t alpha )

◆ RenderInternal()

virtual void KODI::RETRO::CRPBaseRenderer::RenderInternal ( bool clear,
uint8_t alpha )
protectedpure virtual

◆ SetBuffer()

void CRPBaseRenderer::SetBuffer ( IRenderBuffer * buffer)

◆ SetPixels()

void CRPBaseRenderer::SetPixels ( const std::string & pixelPath)

◆ SetRenderRotation()

void CRPBaseRenderer::SetRenderRotation ( unsigned int rotationDegCCW)

◆ SetScalingMethod()

void CRPBaseRenderer::SetScalingMethod ( SCALINGMETHOD method)

◆ SetShaderPreset()

void CRPBaseRenderer::SetShaderPreset ( const std::string & presetPath)

◆ SetStretchMode()

void CRPBaseRenderer::SetStretchMode ( STRETCHMODE stretchMode)

◆ Supports()

virtual bool KODI::RETRO::CRPBaseRenderer::Supports ( RENDERFEATURE feature) const
pure virtual

◆ Updateshaders()

void CRPBaseRenderer::Updateshaders ( )
protected

Updates everything needed for video shaders (shader presets) Needs to be called after m_renderBuffer has been set.

Member Data Documentation

◆ m_bConfigured

bool KODI::RETRO::CRPBaseRenderer::m_bConfigured = false
protected

◆ m_bShadersNeedUpdate

bool KODI::RETRO::CRPBaseRenderer::m_bShadersNeedUpdate = true
protected

◆ m_bufferPool

std::shared_ptr<IRenderBufferPool> KODI::RETRO::CRPBaseRenderer::m_bufferPool
protected

◆ m_bUseShaderPreset

bool KODI::RETRO::CRPBaseRenderer::m_bUseShaderPreset = false
protected

◆ m_context

CRenderContext& KODI::RETRO::CRPBaseRenderer::m_context
protected

◆ m_format

AVPixelFormat KODI::RETRO::CRPBaseRenderer::m_format = AV_PIX_FMT_NONE
protected

◆ m_fullDestHeight

float KODI::RETRO::CRPBaseRenderer::m_fullDestHeight {0.0f}
protected

◆ m_fullDestWidth

float KODI::RETRO::CRPBaseRenderer::m_fullDestWidth {0.0f}
protected

◆ m_renderBuffer

IRenderBuffer* KODI::RETRO::CRPBaseRenderer::m_renderBuffer = nullptr
protected

◆ m_renderSettings

CRenderSettings KODI::RETRO::CRPBaseRenderer::m_renderSettings
protected

◆ m_rotatedDestCoords

ViewportCoordinates KODI::RETRO::CRPBaseRenderer::m_rotatedDestCoords {}
protected

◆ m_shaderPreset

std::unique_ptr<SHADER::IShaderPreset> KODI::RETRO::CRPBaseRenderer::m_shaderPreset
protected

◆ m_sourceRect

CRect KODI::RETRO::CRPBaseRenderer::m_sourceRect
protected

The documentation for this class was generated from the following files: