Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::thumbnail_manager Struct Reference

#include <thumbnail_manager.h>

Classes

struct  generated_thumbnail
 
struct  generator
 

Public Types

using clock = std::chrono::steady_clock
 

Public Member Functions

auto init (rtti::context &ctx) -> bool
 
auto deinit (rtti::context &ctx) -> bool
 
void on_frame_update (rtti::context &ctx, delta_t)
 
void on_frame_end (rtti::context &ctx, delta_t)
 
template<typename T >
auto get_thumbnail (const asset_handle< T > &asset) -> gfx::texture::ptr
 
auto get_thumbnail (const fs::path &path) -> gfx::texture::ptr
 
auto get_gizmo_icon (entt::handle e) -> gfx::texture::ptr
 
void regenerate_thumbnail (const hpp::uuid &uid)
 
void remove_thumbnail (const hpp::uuid &uid)
 
void clear_thumbnails ()
 
void set_cache_directory (const fs::path &cache_dir)
 Sets the directory for persistent thumbnail caching.
 
auto get_cache_path (const hpp::uuid &uid) const -> fs::path
 Gets the disk cache path for a given asset uid.
 
auto load_cached_thumbnail (const hpp::uuid &uid) -> gfx::texture::ptr
 Loads a cached thumbnail from disk (stub – returns nullptr for now).
 
void save_thumbnail_to_cache (const hpp::uuid &uid, gfx::texture::ptr tex)
 Saves a generated thumbnail to disk (stub – no-op for now).
 
void invalidate_cache_entry (const hpp::uuid &uid)
 Invalidates a cached thumbnail on disk.
 
template<>
auto get_thumbnail (const asset_handle< mesh > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< material > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< ui_tree > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< style_sheet > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< script > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< physics_material > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< audio_clip > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< font > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< animation_clip > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< prefab > &asset) -> gfx::texture::ptr
 
template<>
auto get_thumbnail (const asset_handle< scene_prefab > &asset) -> gfx::texture::ptr
 

Detailed Description

Definition at line 41 of file thumbnail_manager.h.

Member Typedef Documentation

◆ clock

using unravel::thumbnail_manager::clock = std::chrono::steady_clock

Definition at line 43 of file thumbnail_manager.h.

Member Function Documentation

◆ clear_thumbnails()

void unravel::thumbnail_manager::clear_thumbnails ( )

Definition at line 371 of file thumbnail_manager.cpp.

◆ deinit()

auto unravel::thumbnail_manager::deinit ( rtti::context & ctx) -> bool

Definition at line 528 of file thumbnail_manager.cpp.

◆ get_cache_path()

auto unravel::thumbnail_manager::get_cache_path ( const hpp::uuid & uid) const -> fs::path

Gets the disk cache path for a given asset uid.

Definition at line 397 of file thumbnail_manager.cpp.

◆ get_gizmo_icon()

auto unravel::thumbnail_manager::get_gizmo_icon ( entt::handle e) -> gfx::texture::ptr

Definition at line 430 of file thumbnail_manager.cpp.

◆ get_thumbnail() [1/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< animation_clip > & asset) -> gfx::texture::ptr

Definition at line 282 of file thumbnail_manager.cpp.

◆ get_thumbnail() [2/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< audio_clip > & asset) -> gfx::texture::ptr

Definition at line 256 of file thumbnail_manager.cpp.

◆ get_thumbnail() [3/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< font > & asset) -> gfx::texture::ptr

Definition at line 269 of file thumbnail_manager.cpp.

◆ get_thumbnail() [4/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< material > & asset) -> gfx::texture::ptr

Definition at line 189 of file thumbnail_manager.cpp.

◆ get_thumbnail() [5/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< mesh > & asset) -> gfx::texture::ptr

Definition at line 176 of file thumbnail_manager.cpp.

◆ get_thumbnail() [6/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< physics_material > & asset) -> gfx::texture::ptr

Definition at line 242 of file thumbnail_manager.cpp.

◆ get_thumbnail() [7/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< prefab > & asset) -> gfx::texture::ptr

Definition at line 321 of file thumbnail_manager.cpp.

◆ get_thumbnail() [8/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< scene_prefab > & asset) -> gfx::texture::ptr

Definition at line 336 of file thumbnail_manager.cpp.

◆ get_thumbnail() [9/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< script > & asset) -> gfx::texture::ptr

Definition at line 229 of file thumbnail_manager.cpp.

◆ get_thumbnail() [10/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< style_sheet > & asset) -> gfx::texture::ptr

Definition at line 216 of file thumbnail_manager.cpp.

◆ get_thumbnail() [11/13]

template<typename T >
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< T > & asset) -> gfx::texture::ptr
inline

Definition at line 85 of file thumbnail_manager.h.

◆ get_thumbnail() [12/13]

template<>
auto unravel::thumbnail_manager::get_thumbnail ( const asset_handle< ui_tree > & asset) -> gfx::texture::ptr

Definition at line 203 of file thumbnail_manager.cpp.

◆ get_thumbnail() [13/13]

auto unravel::thumbnail_manager::get_thumbnail ( const fs::path & path) -> gfx::texture::ptr

Definition at line 348 of file thumbnail_manager.cpp.

◆ init()

auto unravel::thumbnail_manager::init ( rtti::context & ctx) -> bool

Definition at line 486 of file thumbnail_manager.cpp.

◆ invalidate_cache_entry()

void unravel::thumbnail_manager::invalidate_cache_entry ( const hpp::uuid & uid)

Invalidates a cached thumbnail on disk.

Definition at line 420 of file thumbnail_manager.cpp.

◆ load_cached_thumbnail()

auto unravel::thumbnail_manager::load_cached_thumbnail ( const hpp::uuid & uid) -> gfx::texture::ptr

Loads a cached thumbnail from disk (stub – returns nullptr for now).

Definition at line 406 of file thumbnail_manager.cpp.

◆ on_frame_end()

void unravel::thumbnail_manager::on_frame_end ( rtti::context & ctx,
delta_t  )

Definition at line 542 of file thumbnail_manager.cpp.

◆ on_frame_update()

void unravel::thumbnail_manager::on_frame_update ( rtti::context & ctx,
delta_t  )

Definition at line 535 of file thumbnail_manager.cpp.

◆ regenerate_thumbnail()

void unravel::thumbnail_manager::regenerate_thumbnail ( const hpp::uuid & uid)

Definition at line 359 of file thumbnail_manager.cpp.

◆ remove_thumbnail()

void unravel::thumbnail_manager::remove_thumbnail ( const hpp::uuid & uid)

Definition at line 366 of file thumbnail_manager.cpp.

◆ save_thumbnail_to_cache()

void unravel::thumbnail_manager::save_thumbnail_to_cache ( const hpp::uuid & uid,
gfx::texture::ptr tex )

Saves a generated thumbnail to disk (stub – no-op for now).

Definition at line 413 of file thumbnail_manager.cpp.

◆ set_cache_directory()

void unravel::thumbnail_manager::set_cache_directory ( const fs::path & cache_dir)

Sets the directory for persistent thumbnail caching.

Definition at line 390 of file thumbnail_manager.cpp.


The documentation for this struct was generated from the following files: