Blender V5.0
BKE_preview_image.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2006-2007 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include <array>
12#include <memory>
13#include <optional>
14
15#include "DNA_ID_enums.h"
16
17struct BlendDataReader;
18struct BlendWriter;
19namespace blender::gpu {
20class Texture;
21}
22struct ID;
23struct ImBuf;
24struct PreviewImage;
25
26enum ThumbSource : int8_t;
27
28namespace blender::bke {
29
31
34 int icon_id = 0;
35 int16_t tag = 0;
36
37 std::array<blender::gpu::Texture *, NUM_ICON_SIZES> gputexture = {};
38
40 std::unique_ptr<PreviewDeferredLoadingData> deferred_loading_data;
44};
45
46} // namespace blender::bke
47
50
54void BKE_previewimg_freefunc(void *link);
55
60
65
70
76
78
82void BKE_previewimg_id_custom_set(ID *id, const char *filepath);
83
88
93
98
103void BKE_previewimg_id_copy(ID *new_id, const ID *old_id);
104
109
115
117std::optional<int> BKE_previewimg_deferred_thumb_source_get(const PreviewImage *prv);
118
124
126bool BKE_previewimg_is_finished(const PreviewImage *prv, int size);
132
134
139
146 const char *filepath,
147 int source,
148 bool force_update);
149
150void BKE_previewimg_cached_release(const char *name);
151
153
154void BKE_previewimg_blend_write(BlendWriter *writer, const PreviewImage *prv);
void BKE_previewimg_deferred_release(PreviewImage *prv)
ImBuf * BKE_previewimg_to_imbuf(const PreviewImage *prv, int size)
PreviewImage * BKE_previewimg_id_get(const ID *id)
void BKE_previewimg_blend_write(BlendWriter *writer, const PreviewImage *prv)
void BKE_previewimg_ensure(PreviewImage *prv, int size)
bool BKE_previewimg_is_finished(const PreviewImage *prv, int size)
PreviewImage * BKE_previewimg_cached_thumbnail_read(const char *name, const char *filepath, int source, bool force_update)
std::optional< int > BKE_previewimg_deferred_thumb_source_get(const PreviewImage *prv)
void BKE_previewimg_cached_release(const char *name)
PreviewImage * BKE_previewimg_create()
bool BKE_previewimg_id_supports_jobs(const ID *id)
void BKE_preview_images_init()
PreviewImage * BKE_previewimg_id_ensure(ID *id)
void BKE_previewimg_freefunc(void *link)
PreviewImage ** BKE_previewimg_id_get_p(const ID *id)
void BKE_previewimg_clear_single(PreviewImage *prv, enum eIconSizes size)
const char * BKE_previewimg_deferred_filepath_get(const PreviewImage *prv)
bool BKE_previewimg_is_invalid(const PreviewImage *prv)
void BKE_preview_images_free()
void BKE_previewimg_free(PreviewImage **prv)
PreviewImage * BKE_previewimg_copy(const PreviewImage *prv)
PreviewImage * BKE_previewimg_cached_get(const char *name)
void BKE_previewimg_blend_read(BlendDataReader *reader, PreviewImage *prv)
void BKE_previewimg_id_custom_set(ID *id, const char *filepath)
void BKE_previewimg_id_copy(ID *new_id, const ID *old_id)
PreviewImage * BKE_previewimg_cached_ensure(const char *name)
void BKE_previewimg_finish(PreviewImage *prv, int size)
void BKE_previewimg_clear(PreviewImage *prv)
void BKE_previewimg_id_free(ID *id)
Enumerations for DNA_ID.h.
eIconSizes
ThumbSource
Definition IMB_thumbs.hh:27
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
const char * name
Definition DNA_ID.h:414
std::unique_ptr< PreviewDeferredLoadingData > deferred_loading_data
std::array< blender::gpu::Texture *, NUM_ICON_SIZES > gputexture