SDLPainter 0.1.0
QPainter benzeri SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Yüklüyor...
Arıyor...
Eşleşme Yok
sdl_painter::Image Sınıf Referans

Yüklenmiş görüntü — texture sarmalayıcı. Ayrıntılar...

#include <image.h>

Public Üye Fonksiyonlar

 Image (const std::string &file_path)
 Dosyadan görüntü yükle. Başarısız olursa IsValid() false döner.
bool IsValid () const noexcept
 Görüntü başarıyla yüklendi mi?
int32_t Width () const noexcept
 Görüntü genişliği (piksel).
int32_t Height () const noexcept
 Görüntü yüksekliği (piksel).
int32_t Channels () const noexcept
 Kanal sayısı (3 = RGB, 4 = RGBA).
const uint8_t * RawData () const noexcept
 Ham piksel verisi (stb_image tarafından yüklendi).
TextureHandle Upload (IRenderer &renderer) const
 Texture'ı renderer'a yükle; ikinci çağrıda önbelleği döner.
TextureHandle GetHandle () const noexcept
 Önceden yüklenmiş texture tanımlayıcısını döner (kInvalidTexture → henüz yüklenmedi).

Statik Public Üye Fonksiyonlar

static Image CreateFromData (const uint8_t *data, int32_t width, int32_t height, int32_t channels)
 Ham piksel verisinden görüntü oluştur (veriler kopyalanır).

Ayrıntılı tanımlama

Yüklenmiş görüntü — texture sarmalayıcı.

stb_image üzerinden dosya yükler. Texture, renderer üzerinden oluşturulur.

Uyarı
Yaşam döngüsü sözleşmesi: Bir Image, ona ait texture'ı yükleyen Painter (ve dolayısıyla IRenderer) yaşıyorken yıkılmalıdır. Painter yok olduktan sonra Image yıkılırsa, sahip pointer (raw IRenderer*) dangling olur ve ~Image() davranışı tanımsızdır. Pratikte: ImagePainter scope'una göre dar tutun, asla static veya Painter'dan daha uzun yaşayan bir konuma koymayın. v0.2.0'da weak_ptr<IRenderer> veya Painter::EvictImage ile bu sözleşme zorunlu kılınacaktır.

Üye Fonksiyon Dokümantasyonu

◆ CreateFromData()

Image sdl_painter::Image::CreateFromData ( const uint8_t * data,
int32_t width,
int32_t height,
int32_t channels )
staticnodiscard

Ham piksel verisinden görüntü oluştur (veriler kopyalanır).

Prosedürel dokular ve bellekten yükleme için kullanılır.


Bu sınıf için dokümantasyon aşağıdaki dosyadan üretilmiştir: