83 typedef int (*bContextDataCallback)(
const bContext *
C,
126 #define CTX_MODE_NUM (CTX_MODE_SCULPT_CURVES + 1)
269 #define CTX_DATA_BEGIN(C, Type, instance, member) \
271 ListBase ctx_data_list; \
272 CollectionPointerLink *ctx_link; \
273 CTX_data_##member(C, &ctx_data_list); \
274 for (ctx_link = (CollectionPointerLink *)ctx_data_list.first; ctx_link; \
275 ctx_link = ctx_link->next) { \
276 Type instance = (Type)ctx_link->ptr.data;
278 #define CTX_DATA_END \
280 BLI_freelistN(&ctx_data_list); \
284 #define CTX_DATA_BEGIN_WITH_ID(C, Type, instance, member, Type_id, instance_id) \
285 CTX_DATA_BEGIN (C, Type, instance, member) \
286 Type_id instance_id = (Type_id)ctx_link->ptr.owner_id;
290 #define CTX_DATA_COUNT(C, member) ctx_data_list_count(C, CTX_data_##member)
int CTX_data_get(const bContext *C, const char *member, PointerRNA *r_ptr, ListBase *r_lb, short *r_type)
struct SpaceTopBar * CTX_wm_space_topbar(const bContext *C)
int CTX_data_visible_pose_bones(const bContext *C, ListBase *list)
struct WorkSpace * CTX_wm_workspace(const bContext *C)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
int CTX_data_selectable_objects(const bContext *C, ListBase *list)
PointerRNA CTX_data_pointer_get(const bContext *C, const char *member)
bContext * CTX_copy(const bContext *C)
void CTX_store_set(bContext *C, bContextStore *store)
int CTX_data_visible_bones(const bContext *C, ListBase *list)
bool CTX_wm_interface_locked(const bContext *C)
struct SpaceClip * CTX_wm_space_clip(const bContext *C)
int ctx_data_list_count(const bContext *C, int(*func)(const bContext *, ListBase *))
struct SpaceInfo * CTX_wm_space_info(const bContext *C)
void CTX_wm_region_set(bContext *C, struct ARegion *region)
void CTX_data_dir_set(bContextDataResult *result, const char **dir)
enum eContextObjectMode CTX_data_mode_enum_ex(const struct Object *obedit, const struct Object *ob, eObjectMode object_mode)
struct ARegion * CTX_wm_menu(const bContext *C)
PointerRNA CTX_data_pointer_get_type_silent(const bContext *C, const char *member, StructRNA *type)
struct SpaceNode * CTX_wm_space_node(const bContext *C)
struct SpaceProperties * CTX_wm_space_properties(const bContext *C)
int CTX_data_selected_bones(const bContext *C, ListBase *list)
const struct AssetLibraryReference * CTX_wm_asset_library_ref(const bContext *C)
struct Object * CTX_data_edit_object(const bContext *C)
bool CTX_data_equals(const char *member, const char *str)
short CTX_data_type_get(struct bContextDataResult *result)
void CTX_data_pointer_set(bContextDataResult *result, struct ID *id, StructRNA *type, void *data)
void CTX_data_scene_set(bContext *C, struct Scene *scene)
struct RenderEngineType * CTX_data_engine_type(const bContext *C)
bool CTX_py_init_get(bContext *C)
int CTX_data_visible_objects(const bContext *C, ListBase *list)
int CTX_data_editable_objects(const bContext *C, ListBase *list)
void CTX_wm_menu_set(bContext *C, struct ARegion *menu)
void CTX_data_id_pointer_set(bContextDataResult *result, struct ID *id)
int CTX_data_selected_editable_bases(const bContext *C, ListBase *list)
int CTX_data_selected_objects(const bContext *C, ListBase *list)
bContextStore * CTX_store_add(ListBase *contexts, const char *name, const PointerRNA *ptr)
struct Base * CTX_data_active_base(const bContext *C)
void CTX_py_state_push(bContext *C, struct bContext_PyState *pystate, void *value)
bool CTX_data_dir(const char *member)
void CTX_data_id_list_add(bContextDataResult *result, struct ID *id)
void * CTX_py_dict_get(const bContext *C)
struct SpaceOutliner * CTX_wm_space_outliner(const bContext *C)
void * CTX_py_dict_get_orig(const bContext *C)
void CTX_wm_gizmo_group_set(bContext *C, struct wmGizmoGroup *gzgroup)
struct bContextStore bContextStore
struct LayerCollection * CTX_data_layer_collection(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
bContext * CTX_create(void)
void CTX_py_init_set(bContext *C, bool value)
@ CTX_DATA_TYPE_COLLECTION
int CTX_data_editable_gpencil_layers(const bContext *C, ListBase *list)
int CTX_data_selected_editable_bones(const bContext *C, ListBase *list)
struct Mask * CTX_data_edit_mask(const bContext *C)
@ CTX_MODE_WEIGHT_GPENCIL
@ CTX_MODE_VERTEX_GPENCIL
@ CTX_MODE_SCULPT_GPENCIL
struct SpaceSeq * CTX_wm_space_seq(const bContext *C)
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
struct SpaceNla * CTX_wm_space_nla(const bContext *C)
int CTX_data_editable_bones(const bContext *C, ListBase *list)
struct SpaceSpreadsheet * CTX_wm_space_spreadsheet(const bContext *C)
bContextStore * CTX_store_copy(bContextStore *store)
void CTX_store_free(bContextStore *store)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
int CTX_data_visible_bases(const bContext *C, ListBase *list)
struct bGPDlayer * CTX_data_active_gpencil_layer(const bContext *C)
struct MovieClip * CTX_data_edit_movieclip(const bContext *C)
struct Collection * CTX_data_collection(const bContext *C)
struct bGPdata * CTX_data_gpencil_data(const bContext *C)
int CTX_data_editable_bases(const bContext *C, ListBase *list)
struct wmGizmoGroup * CTX_wm_gizmo_group(const bContext *C)
struct Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_on_load(const bContext *C)
void CTX_free(bContext *C)
ListBase CTX_data_dir_get(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct View3D * CTX_wm_view3d(const bContext *C)
bContextStore * CTX_store_add_all(ListBase *contexts, bContextStore *context)
struct EditBone * CTX_data_active_bone(const bContext *C)
void CTX_py_state_pop(bContext *C, struct bContext_PyState *pystate)
ListBase CTX_data_dir_get_ex(const bContext *C, bool use_store, bool use_rna, bool use_all)
struct SpaceUserPref * CTX_wm_space_userpref(const bContext *C)
const char * CTX_data_mode_string(const bContext *C)
struct Depsgraph * CTX_data_expect_evaluated_depsgraph(const bContext *C)
@ CTX_RESULT_MEMBER_NOT_FOUND
int CTX_data_selected_ids(const bContext *C, ListBase *list)
struct SpaceGraph * CTX_wm_space_graph(const bContext *C)
void CTX_data_list_add(bContextDataResult *result, struct ID *id, StructRNA *type, void *data)
struct bScreen * CTX_wm_screen(const bContext *C)
struct Image * CTX_data_edit_image(const bContext *C)
void CTX_wm_screen_set(bContext *C, struct bScreen *screen)
void * CTX_wm_region_data(const bContext *C)
void CTX_wm_window_set(bContext *C, struct wmWindow *win)
int CTX_data_selected_pose_bones(const bContext *C, ListBase *list)
void CTX_data_main_set(bContext *C, struct Main *bmain)
void CTX_store_free_list(ListBase *contexts)
int CTX_data_visible_gpencil_layers(const bContext *C, ListBase *list)
struct AssetHandle CTX_wm_asset_handle(const bContext *C, bool *r_is_valid)
const char * CTX_wm_operator_poll_msg_get(struct bContext *C, bool *r_free)
struct SpaceLink * CTX_wm_space_data(const bContext *C)
void CTX_data_type_set(struct bContextDataResult *result, short type)
struct SpaceAction * CTX_wm_space_action(const bContext *C)
void CTX_data_list_add_ptr(bContextDataResult *result, const PointerRNA *ptr)
int CTX_data_selectable_bases(const bContext *C, ListBase *list)
struct ReportList * CTX_wm_reports(const bContext *C)
int CTX_data_selected_bases(const bContext *C, ListBase *list)
void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr)
void CTX_wm_operator_poll_msg_set_dynamic(bContext *C, const struct bContextPollMsgDyn_Params *params)
void CTX_wm_operator_poll_msg_clear(struct bContext *C)
struct wmMsgBus * CTX_wm_message_bus(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
struct SpaceText * CTX_wm_space_text(const bContext *C)
int CTX_data_selected_nodes(const bContext *C, ListBase *list)
int CTX_data_selected_editable_objects(const bContext *C, ListBase *list)
void CTX_wm_area_set(bContext *C, struct ScrArea *area)
void CTX_wm_operator_poll_msg_set(struct bContext *C, const char *msg)
struct CacheFile * CTX_data_edit_cachefile(const bContext *C)
int CTX_data_editable_gpencil_strokes(const bContext *C, ListBase *list)
struct SpaceImage * CTX_wm_space_image(const bContext *C)
ListBase CTX_data_collection_get(const bContext *C, const char *member)
void CTX_wm_manager_set(bContext *C, struct wmWindowManager *wm)
const PointerRNA * CTX_store_ptr_lookup(const bContextStore *store, const char *name, const StructRNA *type CPP_ARG_DEFAULT(nullptr))
int CTX_data_selected_pose_bones_from_active_object(const bContext *C, ListBase *list)
struct Main * CTX_data_main(const bContext *C)
struct ToolSettings * CTX_data_tool_settings(const bContext *C)
struct SpaceConsole * CTX_wm_space_console(const bContext *C)
struct bContextStoreEntry bContextStoreEntry
struct RegionView3D * CTX_wm_region_view3d(const bContext *C)
struct SpaceFile * CTX_wm_space_file(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
struct Text * CTX_data_edit_text(const bContext *C)
enum eContextObjectMode CTX_data_mode_enum(const bContext *C)
struct bPoseChannel * CTX_data_active_pose_bone(const bContext *C)
bContextStore * CTX_store_get(bContext *C)
struct bGPDframe * CTX_data_active_gpencil_frame(const bContext *C)
#define CPP_ARG_DEFAULT(default_value)
struct Depsgraph Depsgraph
These structs are the foundation for all linked lists in the library system.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
SyclQueue void void size_t num_bytes void
static void area(int d1, int d2, int e1, int e2, float weights[2])
void(* free_fn)(bContext *C, void *user_data)
struct bContextStoreEntry * prev
struct bContextStoreEntry * next
struct bContextStore * next
struct bContextStore * prev