#include "editor_resource_preview.h"
#include "core/config/project_settings.h"
#include "core/io/file_access.h"
#include "core/io/resource_loader.h"
#include "core/io/resource_saver.h"
#include "core/variant/variant_utility.h"
#include "editor/editor_node.h"
#include "editor/editor_paths.h"
#include "editor/editor_settings.h"
#include "editor/editor_string_names.h"
#include "editor/themes/editor_scale.h"
#include "scene/main/window.h"
#include "scene/resources/image_texture.h"
#include "servers/rendering/rendering_server_default.h"
bool EditorResourcePreviewGenerator::handles(const String &p_type) const { … }
Ref<Texture2D> EditorResourcePreviewGenerator::generate(const Ref<Resource> &p_from, const Size2 &p_size, Dictionary &p_metadata) const { … }
Ref<Texture2D> EditorResourcePreviewGenerator::generate_from_path(const String &p_path, const Size2 &p_size, Dictionary &p_metadata) const { … }
bool EditorResourcePreviewGenerator::generate_small_preview_automatically() const { … }
bool EditorResourcePreviewGenerator::can_generate_small_preview() const { … }
void EditorResourcePreviewGenerator::_bind_methods() { … }
EditorResourcePreviewGenerator::EditorResourcePreviewGenerator() { … }
void EditorResourcePreviewGenerator::DrawRequester::request_and_wait(RID p_viewport) { … }
void EditorResourcePreviewGenerator::DrawRequester::abort() { … }
Variant EditorResourcePreviewGenerator::DrawRequester::_post_semaphore() { … }
bool EditorResourcePreview::is_threaded() const { … }
void EditorResourcePreview::_thread_func(void *ud) { … }
void EditorResourcePreview::_preview_ready(const String &p_path, int p_hash, const Ref<Texture2D> &p_texture, const Ref<Texture2D> &p_small_texture, ObjectID id, const StringName &p_func, const Variant &p_ud, const Dictionary &p_metadata) { … }
void EditorResourcePreview::_generate_preview(Ref<ImageTexture> &r_texture, Ref<ImageTexture> &r_small_texture, const QueueItem &p_item, const String &cache_base, Dictionary &p_metadata) { … }
const Dictionary EditorResourcePreview::get_preview_metadata(const String &p_path) const { … }
void EditorResourcePreview::_iterate() { … }
void EditorResourcePreview::_write_preview_cache(Ref<FileAccess> p_file, int p_thumbnail_size, bool p_has_small_texture, uint64_t p_modified_time, const String &p_hash, const Dictionary &p_metadata) { … }
void EditorResourcePreview::_read_preview_cache(Ref<FileAccess> p_file, int *r_thumbnail_size, bool *r_has_small_texture, uint64_t *r_modified_time, String *r_hash, Dictionary *r_metadata, bool *r_outdated) { … }
void EditorResourcePreview::_thread() { … }
void EditorResourcePreview::_idle_callback() { … }
void EditorResourcePreview::_update_thumbnail_sizes() { … }
EditorResourcePreview::PreviewItem EditorResourcePreview::get_resource_preview_if_available(const String &p_path) { … }
void EditorResourcePreview::queue_edited_resource_preview(const Ref<Resource> &p_res, Object *p_receiver, const StringName &p_receiver_func, const Variant &p_userdata) { … }
void EditorResourcePreview::queue_resource_preview(const String &p_path, Object *p_receiver, const StringName &p_receiver_func, const Variant &p_userdata) { … }
void EditorResourcePreview::add_preview_generator(const Ref<EditorResourcePreviewGenerator> &p_generator) { … }
void EditorResourcePreview::remove_preview_generator(const Ref<EditorResourcePreviewGenerator> &p_generator) { … }
EditorResourcePreview *EditorResourcePreview::get_singleton() { … }
void EditorResourcePreview::_bind_methods() { … }
void EditorResourcePreview::check_for_invalidation(const String &p_path) { … }
void EditorResourcePreview::start() { … }
void EditorResourcePreview::stop() { … }
EditorResourcePreview::EditorResourcePreview() { … }
EditorResourcePreview::~EditorResourcePreview() { … }