Blender V4.3
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
5#pragma once
6
7#include <array>
8#include <memory>
9#include <optional>
10
11#include "BLI_sys_types.h"
12
13#include "DNA_ID_enums.h"
14
15struct BlendDataReader;
16struct BlendWriter;
17struct GPUTexture;
18struct ID;
19struct ImBuf;
20struct PreviewImage;
21
22enum ThumbSource : int8_t;
23
24namespace blender::bke {
25
26struct PreviewDeferredLoadingData;
27
30 int icon_id = 0;
32
33 std::array<GPUTexture *, NUM_ICON_SIZES> gputexture = {};
34
36 std::unique_ptr<PreviewDeferredLoadingData> deferred_loading_data;
40};
41
42} // namespace blender::bke
43
46
50void BKE_previewimg_freefunc(void *link);
51
56
61
66
72
74
78void BKE_previewimg_id_custom_set(ID *id, const char *filepath);
79
84
89
94
99void BKE_previewimg_id_copy(ID *new_id, const ID *old_id);
100
105
110void BKE_previewimg_ensure(PreviewImage *prv, int size);
111
113std::optional<int> BKE_previewimg_deferred_thumb_source_get(const PreviewImage *prv);
114
120
121void BKE_previewimg_finish(PreviewImage *prv, int size);
122bool BKE_previewimg_is_finished(const PreviewImage *prv, int size);
123
124PreviewImage *BKE_previewimg_cached_get(const char *name);
125
130
137 const char *filepath,
138 int source,
139 bool force_update);
140
141void BKE_previewimg_cached_release(const char *name);
142
144
145void BKE_previewimg_blend_write(BlendWriter *writer, const PreviewImage *prv);
void BKE_previewimg_deferred_release(PreviewImage *prv)
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)
void BKE_preview_images_free()
void BKE_previewimg_free(PreviewImage **prv)
PreviewImage * BKE_previewimg_copy(const PreviewImage *prv)
ImBuf * BKE_previewimg_to_imbuf(PreviewImage *prv, int size)
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:25
signed short int16_t
Definition stdint.h:76
signed char int8_t
Definition stdint.h:75
Definition DNA_ID.h:413
std::unique_ptr< PreviewDeferredLoadingData > deferred_loading_data
std::array< GPUTexture *, NUM_ICON_SIZES > gputexture