Blender V4.5
BPY_extern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "BLI_sys_types.h"
12
13#ifdef WITH_INTERNATIONAL
14
15# include <optional>
16
17# include "BLI_string_ref.hh"
18
19#endif
20
21struct ARegionType;
23struct ChannelDriver; /* DNA_anim_types.h */
24struct ID; /* DNA_ID.h */
25struct ListBase; /* DNA_listBase.h */
26struct Object; /* DNA_object_types.h */
27struct PathResolvedRNA;
28struct Text; /* defined in DNA_text_types.h */
29struct bConstraint; /* DNA_constraint_types.h */
30struct bConstraintOb; /* DNA_constraint_types.h */
31struct bConstraintTarget; /* DNA_constraint_types.h */
32struct bContext;
34struct StructRNA;
35struct wmWindowManager;
36
37/* global interpreter lock */
38
39using BPy_ThreadStatePtr = void *;
40
49
51#define BPy_BEGIN_ALLOW_THREADS \
52 { \
53 BPy_ThreadStatePtr _bpy_saved_tstate = BPY_thread_save(); \
54 (void)0
55#define BPy_END_ALLOW_THREADS \
56 BPY_thread_restore(_bpy_saved_tstate); \
57 } \
58 (void)0
59
67
68void BPY_text_free_code(Text *text);
74
75void BPY_app_handlers_reset(bool do_all);
76
80void BPY_driver_exit();
81
87void BPY_driver_reset();
88
93float BPY_driver_exec(PathResolvedRNA *anim_rna,
94 ChannelDriver *driver,
95 ChannelDriver *driver_orig,
96 const AnimationEvalContext *anim_eval_context);
97
102void BPY_DECREF(void *pyob_ptr);
103
104void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr);
105int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *result);
111
120void BPY_context_dict_clear_members_array(void **dict_p,
121 void *dict_orig,
122 const char *context_members[],
123 uint context_members_len);
124
125void BPY_id_release(ID *id);
126
132
136bool BPY_string_is_keyword(const char *str);
137
138/* `bpy_rna_callback.cc` */
139
142
143/* I18n for addons */
144#ifdef WITH_INTERNATIONAL
145std::optional<blender::StringRefNull> BPY_app_translations_py_pgettext(blender::StringRef msgctxt,
146 blender::StringRef msgid);
147#endif
unsigned int uint
bool BPY_string_is_keyword(const char *str)
void BPY_context_dict_clear_members_array(void **dict_p, void *dict_orig, const char *context_members[], uint context_members_len)
void BPY_id_release(ID *id)
Definition bpy_rna.cc:344
int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *result)
void BPY_free_srna_pytype(StructRNA *srna)
Definition bpy_rna.cc:9940
float BPY_driver_exec(PathResolvedRNA *anim_rna, ChannelDriver *driver, ChannelDriver *driver_orig, const AnimationEvalContext *anim_eval_context)
void BPY_modules_update()
void BPY_context_set(bContext *C)
void BPY_DECREF_RNA_INVALIDATE(void *pyob_ptr)
void * BPy_ThreadStatePtr
Definition BPY_extern.hh:39
void BPY_context_update(bContext *C)
void BPY_thread_restore(BPy_ThreadStatePtr tstate)
BPy_ThreadStatePtr BPY_thread_save()
void BPY_callback_screen_free(ARegionType *art)
void BPY_text_free_code(Text *text)
void BPY_driver_reset()
void BPY_driver_exit()
void BPY_modules_load_user(bContext *C)
void BPY_app_handlers_reset(bool do_all)
void BPY_callback_wm_free(wmWindowManager *wm)
void BPY_thread_backtrace_print()
void BPY_DECREF(void *pyob_ptr)
#define C
Definition RandGen.cpp:29
#define str(s)
Definition DNA_ID.h:404