SDLPainter 1.2.0
SDL3 + OpenGL/Vulkan 2B çizim kütüphanesi
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
8namespace sdl_painter {
9
10class IRenderer;
11class Painter;
12
51class SDLPAINTER_API RenderTarget {
52 public:
54 RenderTarget() = default;
55
57
58 // Non-copyable, movable — GPU kaynağı sahipliği tekil.
59 RenderTarget(const RenderTarget&) = delete;
60 RenderTarget& operator=(const RenderTarget&) = delete;
61 RenderTarget(RenderTarget&& other) noexcept;
62 RenderTarget& operator=(RenderTarget&& other) noexcept;
63
65 [[nodiscard]] bool IsValid() const noexcept {
66 return mHandle != kInvalidRenderTarget;
67 }
68
70 [[nodiscard]] int32_t Width() const noexcept { return mWidth; }
71
73 [[nodiscard]] int32_t Height() const noexcept { return mHeight; }
74
76 [[nodiscard]] RenderTargetHandle Handle() const noexcept { return mHandle; }
77
82 void Reset() noexcept;
83
84 private:
85 friend class Painter;
86
88 RenderTarget(IRenderer* owner, RenderTargetHandle handle, int32_t width,
89 int32_t height) noexcept
90 : mOwner(owner), mHandle(handle), mWidth(width), mHeight(height) {}
91
92 IRenderer* mOwner{nullptr};
93 RenderTargetHandle mHandle{kInvalidRenderTarget};
94 int32_t mWidth{0};
95 int32_t mHeight{0};
96};
97
98} // namespace sdl_painter
Backend-agnostik soyut renderer arayüzü.
Definition renderer.h:75
Ana çizim sınıfı
Definition painter.h:60
Ekran yerine çizilebilen offscreen bir yüzey (dokuya çizim).
Definition render_target.h:51
int32_t Width() const noexcept
Genişlik (piksel).
Definition render_target.h:70
RenderTargetHandle Handle() const noexcept
Backend tanımlayıcısı — ileri düzey kullanım için.
Definition render_target.h:76
void Reset() noexcept
Hedefi kaynaklarıyla birlikte serbest bırak.
RenderTarget()=default
Geçersiz (boş) hedef.
int32_t Height() const noexcept
Yükseklik (piksel).
Definition render_target.h:73
bool IsValid() const noexcept
Hedef başarıyla oluşturuldu mu?
Definition render_target.h:65