refactor: JD8_* a namespace Jd8::
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
|
||||
namespace scenes {
|
||||
|
||||
// Wrapper RAII damunt de `JD8_Surface`. Allibera automàticament amb
|
||||
// `JD8_FreeSurface` al destructor. Move-only per evitar dobles alliberaments.
|
||||
// Converteix implícitament a `JD8_Surface` per a poder passar-lo
|
||||
// directament a `JD8_Blit*` sense haver de cridar `.get()`.
|
||||
// Wrapper RAII damunt de `Jd8::Surface`. Allibera automàticament amb
|
||||
// `Jd8::freeSurface` al destructor. Move-only per evitar dobles alliberaments.
|
||||
// Converteix implícitament a `Jd8::Surface` per a poder passar-lo
|
||||
// directament a `Jd8::blit*` sense haver de cridar `.get()`.
|
||||
class SurfaceHandle {
|
||||
public:
|
||||
SurfaceHandle() = default;
|
||||
@@ -25,25 +25,25 @@ namespace scenes {
|
||||
// (p.ex. doSecreta que passa de tomba1 a tomba2).
|
||||
void reset(const char* file);
|
||||
|
||||
// Adopta una surface ja creada (p.ex. amb JD8_NewSurface). Pren ownership
|
||||
// Adopta una surface ja creada (p.ex. amb Jd8::newSurface). Pren ownership
|
||||
// — la surface adoptada s'allibera al destructor o al següent reset/adopt.
|
||||
void adopt(JD8_Surface raw);
|
||||
void adopt(Jd8::Surface raw);
|
||||
|
||||
// Allibera ownership sense destruir la surface. Retorna el pointer cru;
|
||||
// el caller passa a ser responsable d'alliberar-lo (o de passar-lo a un
|
||||
// altre propietari). Usat quan una escena delega a codi legacy que
|
||||
// també allibera la mateixa surface — cal "soltar" el ownership per
|
||||
// evitar double free.
|
||||
[[nodiscard]] auto release() -> JD8_Surface;
|
||||
[[nodiscard]] auto release() -> Jd8::Surface;
|
||||
|
||||
// Conversió implícita per al confort d'ús: JD8_Blit(handle)
|
||||
// en lloc de JD8_Blit(handle.get()).
|
||||
operator JD8_Surface() const { return surface_; }
|
||||
[[nodiscard]] auto get() const -> JD8_Surface { return surface_; }
|
||||
// Conversió implícita per al confort d'ús: Jd8::blit(handle)
|
||||
// en lloc de Jd8::blit(handle.get()).
|
||||
operator Jd8::Surface() const { return surface_; }
|
||||
[[nodiscard]] auto get() const -> Jd8::Surface { return surface_; }
|
||||
[[nodiscard]] auto valid() const -> bool { return surface_ != nullptr; }
|
||||
|
||||
private:
|
||||
JD8_Surface surface_{nullptr};
|
||||
Jd8::Surface surface_{nullptr};
|
||||
};
|
||||
|
||||
} // namespace scenes
|
||||
|
||||
Reference in New Issue
Block a user