MythTV
master
|
#include <libmythui/vulkan/mythpaintervulkan.h>
Public Slots | |
void | DoFreeResources () |
Free resources before the render device is released. More... | |
![]() | |
void | CurrentDPIChanged (qreal DPI) |
Public Member Functions | |
MythPainterVulkan (MythRenderVulkan *VulkanRender, MythMainWindow *Parent) | |
~MythPainterVulkan () override | |
QString | GetName () override |
bool | SupportsAnimation () override |
bool | SupportsAlpha () override |
bool | SupportsClipping () override |
void | FreeResources () override |
void | Begin (QPaintDevice *) override |
Begin painting. More... | |
void | End () override |
void | DrawImage (QRect Dest, MythImage *Image, QRect Source, int Alpha) override |
void | PushTransformation (const UIEffects &Fx, QPointF Center=QPointF()) override |
void | PopTransformation () override |
void | DeleteTextures () |
![]() | |
MythPainterGPU (MythMainWindow *Parent) | |
~MythPainterGPU () override=default | |
void | SetViewControl (ViewControls Control) |
![]() | |
MythPainter () | |
~MythPainter () override=default | |
MythPainter destructor. More... | |
virtual void | SetClipRect (QRect clipRect) |
virtual void | SetClipRegion (const QRegion &clipRegion) |
virtual void | Clear (QPaintDevice *device, const QRegion ®ion) |
void | DrawImage (int x, int y, MythImage *im, int alpha) |
void | DrawImage (QPoint topLeft, MythImage *im, int alph) |
virtual void | DrawProcedural (QRect, int, const ProcSource &, const ProcSource &, const QString &) |
virtual void | DrawText (QRect r, const QString &msg, int flags, const MythFontProperties &font, int alpha, QRect boundRect) |
virtual void | DrawTextLayout (QRect canvasRect, const LayoutVector &layouts, const FormatVector &formats, const MythFontProperties &font, int alpha, QRect destRect) |
virtual void | DrawRect (QRect area, const QBrush &fillBrush, const QPen &linePen, int alpha) |
virtual void | DrawRoundRect (QRect area, int cornerRadius, const QBrush &fillBrush, const QPen &linePen, int alpha) |
virtual void | DrawEllipse (QRect area, const QBrush &fillBrush, const QPen &linePen, int alpha) |
virtual void | PushTransformation ([[maybe_unused]] const UIEffects &zoom, [[maybe_unused]] QPointF center=QPointF()) |
MythImage * | GetFormatImage () |
Returns a blank reference counted image in the format required for the Draw functions for this painter. More... | |
void | DeleteFormatImage (MythImage *im) |
void | SetDebugMode (bool showBorders, bool showNames) |
bool | ShowBorders (void) const |
bool | ShowTypeNames (void) const |
void | SetMaximumCacheSizes (int hardware, int software) |
Protected Member Functions | |
MythImage * | GetFormatImagePriv () override |
Creates a reference counted image, call DecrRef() to delete. More... | |
void | DeleteFormatImagePriv (MythImage *Image) override |
![]() | |
MythImage * | GetImageFromString (const QString &msg, int flags, QRect r, const MythFontProperties &font) |
MythImage * | GetImageFromTextLayout (const LayoutVector &layouts, const FormatVector &formats, const MythFontProperties &font, QRect &canvas, QRect &dest) |
MythImage * | GetImageFromRect (QRect area, int radius, int ellipse, const QBrush &fillBrush, const QPen &linePen) |
void | ExpireImages (int64_t max=0) |
virtual void | Teardown (void) |
void | CheckFormatImage (MythImage *im) |
Private Member Functions | |
bool | Ready () |
void | ClearCache () |
MythTextureVulkan * | GetTextureFromCache (MythImage *Image) |
Private Attributes | |
bool | m_ready { false } |
MythVulkanObject * | m_vulkan { nullptr } |
VkDescriptorPool | m_projectionDescriptorPool { MYTH_NULL_DISPATCH } |
VkDescriptorSet | m_projectionDescriptor { MYTH_NULL_DISPATCH } |
MythUniformBufferVulkan * | m_projectionUniform { nullptr } |
VkSampler | m_textureSampler { MYTH_NULL_DISPATCH } |
MythShaderVulkan * | m_textureShader { nullptr } |
VkPipeline | m_texturePipeline { MYTH_NULL_DISPATCH } |
VkDescriptorPool | m_textureDescriptorPool { MYTH_NULL_DISPATCH } |
bool | m_textureDescriptorsCreated { false } |
std::vector< VkDescriptorSet > | m_availableTextureDescriptors |
VkCommandBuffer | m_textureUploadCmd { nullptr } |
bool | m_frameStarted { false } |
std::vector< MythTextureVulkan * > | m_stagedTextures |
std::vector< MythTextureVulkan * > | m_queuedTextures |
QMap< MythImage *, MythTextureVulkan * > | m_imageToTextureMap |
std::list< MythImage * > | m_imageExpire |
QVector< MythTextureVulkan * > | m_texturesToDelete |
QMatrix4x4 | m_projection |
QStack< QMatrix4x4 > | m_transforms |
Additional Inherited Members | |
![]() | |
enum | ViewControl : std::uint8_t { None = 0x00, Viewport = 0x01, Framebuffer = 0x02 } |
![]() | |
static void | DrawTextPriv (MythImage *im, const QString &msg, int flags, QRect r, const MythFontProperties &font) |
static void | DrawRectPriv (MythImage *im, QRect area, int radius, int ellipse, const QBrush &fillBrush, const QPen &linePen) |
![]() | |
MythMainWindow * | m_parent { nullptr } |
ViewControls | m_viewControl { Viewport | Framebuffer } |
qreal | m_pixelRatio { 1.0 } |
bool | m_usingHighDPI { false } |
QSize | m_lastSize |
![]() | |
float | m_frameTime { 0 } |
int | m_hardwareCacheSize { 0 } |
int | m_maxHardwareCacheSize { 0 } |
Definition at line 19 of file mythpaintervulkan.h.
MythPainterVulkan::MythPainterVulkan | ( | MythRenderVulkan * | VulkanRender, |
MythMainWindow * | Parent | ||
) |
Definition at line 20 of file mythpaintervulkan.cpp.
|
override |
Definition at line 27 of file mythpaintervulkan.cpp.
|
overridevirtual |
Implements MythPainter.
Definition at line 87 of file mythpaintervulkan.cpp.
|
overridevirtual |
Implements MythPainter.
Definition at line 97 of file mythpaintervulkan.cpp.
|
overridevirtual |
Implements MythPainter.
Definition at line 92 of file mythpaintervulkan.cpp.
|
overridevirtual |
Implements MythPainter.
Definition at line 102 of file mythpaintervulkan.cpp.
|
overridevirtual |
Reimplemented from MythPainter.
Definition at line 37 of file mythpaintervulkan.cpp.
Referenced by ~MythPainterVulkan().
|
overridevirtual |
Begin painting.
Reimplemented from MythPainter.
Definition at line 270 of file mythpaintervulkan.cpp.
|
overridevirtual |
Reimplemented from MythPainter.
Definition at line 301 of file mythpaintervulkan.cpp.
|
overridevirtual |
Implements MythPainter.
Definition at line 369 of file mythpaintervulkan.cpp.
|
override |
Definition at line 107 of file mythpaintervulkan.cpp.
|
overridevirtual |
Reimplemented from MythPainter.
Definition at line 120 of file mythpaintervulkan.cpp.
void MythPainterVulkan::DeleteTextures | ( | ) |
Definition at line 525 of file mythpaintervulkan.cpp.
Referenced by Begin(), FreeResources(), and GetTextureFromCache().
|
slot |
Free resources before the render device is released.
Definition at line 45 of file mythpaintervulkan.cpp.
Referenced by MythPainterVulkan(), and ~MythPainterVulkan().
|
overrideprotectedvirtual |
Creates a reference counted image, call DecrRef() to delete.
Implements MythPainter.
Definition at line 384 of file mythpaintervulkan.cpp.
|
overrideprotectedvirtual |
Implements MythPainter.
Definition at line 389 of file mythpaintervulkan.cpp.
Referenced by GetTextureFromCache().
|
private |
Definition at line 125 of file mythpaintervulkan.cpp.
Referenced by Begin(), DeleteTextures(), End(), and GetTextureFromCache().
|
private |
Definition at line 399 of file mythpaintervulkan.cpp.
Referenced by FreeResources().
|
private |
Definition at line 413 of file mythpaintervulkan.cpp.
Referenced by DrawImage().
Definition at line 54 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), and Ready().
|
private |
Definition at line 55 of file mythpaintervulkan.h.
Referenced by Begin(), DoFreeResources(), End(), GetTextureFromCache(), Ready(), and ~MythPainterVulkan().
|
private |
Definition at line 57 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), and Ready().
|
private |
Definition at line 58 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), End(), and Ready().
|
private |
Definition at line 59 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), and Ready().
|
private |
Definition at line 60 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), and GetTextureFromCache().
|
private |
Definition at line 61 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), End(), and Ready().
|
private |
Definition at line 62 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), End(), and Ready().
|
private |
Definition at line 63 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), GetTextureFromCache(), and Ready().
Definition at line 64 of file mythpaintervulkan.h.
Referenced by DoFreeResources().
|
private |
Definition at line 65 of file mythpaintervulkan.h.
Referenced by DeleteTextures(), DoFreeResources(), and GetTextureFromCache().
|
private |
Definition at line 66 of file mythpaintervulkan.h.
Referenced by DoFreeResources(), End(), and GetTextureFromCache().
Definition at line 67 of file mythpaintervulkan.h.
Referenced by Begin(), DoFreeResources(), DrawImage(), and End().
|
private |
Definition at line 69 of file mythpaintervulkan.h.
Referenced by End(), and GetTextureFromCache().
|
private |
Definition at line 70 of file mythpaintervulkan.h.
Referenced by DrawImage(), and End().
|
private |
Definition at line 71 of file mythpaintervulkan.h.
Referenced by ClearCache(), DeleteFormatImagePriv(), and GetTextureFromCache().
|
private |
Definition at line 72 of file mythpaintervulkan.h.
Referenced by ClearCache(), DeleteFormatImagePriv(), and GetTextureFromCache().
|
private |
Definition at line 73 of file mythpaintervulkan.h.
Referenced by Begin(), ClearCache(), DeleteFormatImagePriv(), and DeleteTextures().
|
private |
Definition at line 75 of file mythpaintervulkan.h.
Referenced by Ready().
|
private |
Definition at line 76 of file mythpaintervulkan.h.
Referenced by DrawImage(), MythPainterVulkan(), PopTransformation(), and PushTransformation().