SDLPainter
1.4.0
SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Toggle main menu visibility
Yüklüyor...
Arıyor...
Eşleşme Yok
render_target.h
1
#pragma once
2
3
#include "sdl_painter/export.h"
4
#include "sdl_painter/renderer.h"
5
6
#include <cstdint>
7
#include <memory>
8
9
namespace
sdl_painter {
10
11
class
IRenderer
;
12
class
Painter
;
13
58
class
SDLPAINTER_API
RenderTarget
{
59
public
:
61
RenderTarget
() =
default
;
62
63
~RenderTarget
();
64
65
// Non-copyable, movable — GPU kaynağı sahipliği tekil.
66
RenderTarget
(
const
RenderTarget
&) =
delete
;
67
RenderTarget
& operator=(
const
RenderTarget
&) =
delete
;
68
RenderTarget
(
RenderTarget
&& other)
noexcept
;
69
RenderTarget
& operator=(
RenderTarget
&& other)
noexcept
;
70
72
[[nodiscard]]
bool
IsValid
() const noexcept {
73
return
mHandle != kInvalidRenderTarget;
74
}
75
77
[[nodiscard]] int32_t
Width
() const noexcept {
return
mWidth; }
78
80
[[nodiscard]] int32_t
Height
() const noexcept {
return
mHeight; }
81
83
[[nodiscard]] RenderTargetHandle
Handle
() const noexcept {
return
mHandle; }
84
91
void
Reset
() noexcept;
92
93
private:
94
friend class Painter;
95
101
RenderTarget
(
IRenderer
* owner, RenderTargetHandle handle, int32_t width,
102
int32_t height, std::shared_ptr<Painter*> painter) noexcept
103
: mOwner(owner),
104
mHandle(handle),
105
mWidth(width),
106
mHeight(height),
107
mPainter(std::move(painter)) {}
108
109
IRenderer
* mOwner{
nullptr
};
110
RenderTargetHandle mHandle{kInvalidRenderTarget};
111
int32_t mWidth{0};
112
int32_t mHeight{0};
113
120
std::shared_ptr<Painter*> mPainter;
121
};
122
123
}
// namespace sdl_painter
sdl_painter::IRenderer
Backend-agnostik soyut renderer arayüzü.
Definition
renderer.h:77
sdl_painter::Painter
Ana çizim sınıfı
Definition
painter.h:63
sdl_painter::RenderTarget::Width
int32_t Width() const noexcept
Genişlik (piksel).
Definition
render_target.h:77
sdl_painter::RenderTarget::Handle
RenderTargetHandle Handle() const noexcept
Backend tanımlayıcısı — ileri düzey kullanım için.
Definition
render_target.h:83
sdl_painter::RenderTarget::Reset
void Reset() noexcept
Hedefi kaynaklarıyla birlikte serbest bırak.
sdl_painter::RenderTarget::RenderTarget
RenderTarget()=default
Geçersiz (boş) hedef.
sdl_painter::RenderTarget::Height
int32_t Height() const noexcept
Yükseklik (piksel).
Definition
render_target.h:80
sdl_painter::RenderTarget::IsValid
bool IsValid() const noexcept
Hedef başarıyla oluşturuldu mu?
Definition
render_target.h:72
include
sdl_painter
render_target.h
Oluşturan
1.18.0