15#include <structmember.h>
20#include "RNA_prototypes.hh"
33#define STR_SOURCE_TYPES "'IMAGE', 'MOVIE', 'BLEND', 'FONT'"
37 bpy_utils_previews_new_doc,
38 ".. method:: new(name)\n"
40 " Generate a new empty preview.\n"
42 " :arg name: The name (unique id) identifying the preview.\n"
44 " :return: The Preview matching given name, or a new empty one.\n"
45 " :rtype: :class:`bpy.types.ImagePreview`\n"
48 " :raises KeyError: if ``name`` already exists.");
54 if (!PyArg_ParseTuple(args,
"s:new", &name)) {
66 bpy_utils_previews_load_doc,
67 ".. method:: load(name, filepath, filetype, force_reload=False)\n"
69 " Generate a new preview from given file path.\n"
71 " :arg name: The name (unique id) identifying the preview.\n"
73 " :arg filepath: The file path to generate the preview from.\n"
74 " :type filepath: str | bytes\n"
75 " :arg filetype: The type of file, needed to generate the preview in [" STR_SOURCE_TYPES
77 " :type filetype: str\n"
78 " :arg force_reload: If True, force running thumbnail manager even if preview already "
80 " :type force_reload: bool\n"
81 " :return: The Preview matching given name, or a new empty one.\n"
82 " :rtype: :class:`bpy.types.ImagePreview`\n"
85 " :raises KeyError: if ``name`` already exists.");
103 int force_reload =
false;
105 if (!PyArg_ParseTuple(args,
133 bpy_utils_previews_release_doc,
134 ".. method:: release(name)\n"
136 " Release (free) a previously created preview.\n"
139 " :arg name: The name (unique id) identifying the preview.\n"
140 " :type name: str\n");
145 if (!PyArg_ParseTuple(args,
"s:release", &name)) {
161 bpy_utils_previews_release_doc},
162 {
nullptr,
nullptr, 0,
nullptr},
167 bpy_utils_previews_doc,
168 "This object contains basic static methods to handle cached (non-ID) previews in Blender\n"
169 "(low-level API, not exposed to final users).");
171 PyModuleDef_HEAD_INIT,
172 "bpy._utils_previews",
173 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)
Read Guarded memory(de)allocation.
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)
static PyObject * bpy_utils_previews_release(PyObject *, PyObject *args)
static PyMethodDef bpy_utils_previews_methods[]
static PyObject * bpy_utils_previews_new(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.")
int PyC_ParseUnicodeAsBytesAndSize(PyObject *o, void *p)
int PyC_ParseStringEnum(PyObject *o, void *p)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)