15#include <structmember.h>
18#include "RNA_prototypes.hh"
29#define STR_SOURCE_TYPES "'IMAGE', 'MOVIE', 'BLEND', 'FONT'"
33 bpy_utils_previews_new_doc,
34 ".. method:: new(name)\n"
36 " Generate a new empty preview.\n"
38 " :arg name: The name (unique id) identifying the preview.\n"
40 " :return: The Preview matching given name, or a new empty one.\n"
41 " :rtype: :class:`bpy.types.ImagePreview`\n"
44 " :raises KeyError: if ``name`` already exists.\n");
50 if (!PyArg_ParseTuple(args,
"s:new", &
name)) {
62 bpy_utils_previews_load_doc,
63 ".. method:: load(name, filepath, filetype, force_reload=False)\n"
65 " Generate a new preview from given file path.\n"
67 " :arg name: The name (unique id) identifying the preview.\n"
69 " :arg filepath: The file path to generate the preview from.\n"
70 " :type filepath: str | bytes\n"
71 " :arg filetype: The type of file, needed to generate the preview in [" STR_SOURCE_TYPES
73 " :type filetype: str\n"
74 " :arg force_reload: If True, force running thumbnail manager even if preview already "
76 " :type force_reload: bool\n"
77 " :return: The Preview matching given name, or a new empty one.\n"
78 " :rtype: :class:`bpy.types.ImagePreview`\n"
81 " :raises KeyError: if ``name`` already exists.\n");
99 int force_reload =
false;
101 if (!PyArg_ParseTuple(args,
129 bpy_utils_previews_release_doc,
130 ".. method:: release(name)\n"
132 " Release (free) a previously created preview.\n"
135 " :arg name: The name (unique id) identifying the preview.\n"
136 " :type name: str\n");
141 if (!PyArg_ParseTuple(args,
"s:release", &
name)) {
152# pragma clang diagnostic push
153# pragma clang diagnostic ignored "-Wcast-function-type"
155# pragma GCC diagnostic push
156# pragma GCC diagnostic ignored "-Wcast-function-type"
167 bpy_utils_previews_release_doc},
168 {
nullptr,
nullptr, 0,
nullptr},
173# pragma clang diagnostic pop
175# pragma GCC diagnostic pop
181 bpy_utils_previews_doc,
182 "This object contains basic static methods to handle cached (non-ID) previews in Blender\n"
183 "(low-level API, not exposed to final users).\n");
186 "bpy._utils_previews",
187 bpy_utils_previews_doc,
PreviewImage * BKE_previewimg_cached_thumbnail_read(const char *name, const char *filepath, int source, bool force_update)
void BKE_previewimg_cached_release(const char *name)
PreviewImage * BKE_previewimg_cached_ensure(const char *name)
PyObject * pyrna_struct_CreatePyObject(PointerRNA *ptr)
PyObject * BPY_utils_previews_module()
static PyModuleDef bpy_utils_previews_module
static PyObject * bpy_utils_previews_load(PyObject *, PyObject *args)
PyDoc_STRVAR(bpy_utils_previews_new_doc, ".. method:: new(name)\n" "\n" " Generate a new empty preview.\n" "\n" " :arg name: The name (unique id) identifying the preview.\n" " :type name: str\n" " :return: The Preview matching given name, or a new empty one.\n" " :rtype: :class:`bpy.types.ImagePreview`\n" " :raises KeyError: if ``name`` already exists.\n")
static PyObject * bpy_utils_previews_release(PyObject *, PyObject *args)
static PyMethodDef bpy_utils_previews_methods[]
static PyObject * bpy_utils_previews_new(PyObject *, PyObject *args)
int PyC_ParseUnicodeAsBytesAndSize(PyObject *o, void *p)
int PyC_ParseStringEnum(PyObject *o, void *p)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)