41#include "RNA_prototypes.hh"
56 for (
int i = 0; i < path->
len; i++) {
70 for (
int i = 0; i < path->
len; i++) {
127 World *world = scene->world;
162 if (c == scene->master_collection) {
269#ifdef WITH_POINT_CLOUD
281 if (ob &&
ELEM(type, -1, ob->
type)) {
503 else if (
GS(id->name) ==
ID_PA) {
506 else if (
GS(id->name) ==
ID_OB) {
509 else if (
GS(id->name) ==
ID_LS) {
523static bool buttons_context_linestyle_pinnable(
const bContext *C,
ViewLayer *view_layer)
539 if (sbuts->
pinid && sbuts->
pinid == &scene->id) {
593 if (buttons_context_linestyle_pinnable(C, view_layer)) {
694 sbuts->
path = MEM_new<ButsContextPath>(
"ButsContextPath");
719 sbuts->
dataicon = ICON_OUTLINER_DATA_LIGHT;
748 if (
flag & (1 << i)) {
771 sbuts->
flag &= ~SB_SHADING_CONTEXT;
779 for (
int i = 0; i < path->
len; ++i) {
829 "texture_user_property",
835 "particle_system_editable",
848#ifdef WITH_POINT_CLOUD
860 if (sbuts && sbuts->
path ==
nullptr) {
945#ifdef WITH_POINT_CLOUD
980 int matnr = ob->
actcol - 1;
986 result, &ob->
id, &RNA_MaterialSlot, (
void *)(matnr +
uintptr_t(&ob->
id)));
1043 result, &part->id, &RNA_ParticleSettingsTextureSlot, part->mtex[
int(part->texact)]);
1054 result, &ls->
id, &RNA_LineStyleTextureSlot, ls->
mtex[
int(ls->
texact)]);
1202 for (
int i = 0; i < path->
len; i++) {
1229 uiItemL(row,
"", ICON_RIGHTARROW);
1244 if (name != namebuf) {
1262 "BUTTONS_OT_toggle_pin");
1283 if (path->
len == 0) {
1287 for (
int i = path->
len - 1; i >= 0; i--) {
Blender kernel action and pose functionality.
bPoseChannel * BKE_pose_channel_find_name(const bPose *pose, const char *name)
void CTX_data_dir_set(bContextDataResult *result, const char **dir)
bool CTX_data_equals(const char *member, const char *str)
void CTX_data_pointer_set(bContextDataResult *result, ID *id, StructRNA *type, void *data)
bool CTX_data_dir(const char *member)
SpaceProperties * CTX_wm_space_properties(const bContext *C)
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
@ CTX_RESULT_MEMBER_NOT_FOUND
Scene * CTX_data_scene(const bContext *C)
void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
LayerCollection * BKE_view_layer_active_collection_get(ViewLayer *view_layer)
ViewLayer * BKE_view_layer_default_view(const Scene *scene)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
Blender kernel freestyle line style functionality.
FreestyleLineStyle * BKE_linestyle_active_from_view_layer(struct ViewLayer *view_layer)
General operations, lookup, etc. for materials.
struct Material * BKE_object_material_get(struct Object *ob, short act)
ModifierData * BKE_modifiers_findby_type(const Object *ob, ModifierType type)
General operations, lookup, etc. for blender objects.
ModifierData * BKE_object_active_modifier(const Object *ob)
Paint * BKE_paint_get_active(Scene *sce, ViewLayer *view_layer)
Brush * BKE_paint_brush(Paint *paint)
struct ParticleSystem * psys_get_current(struct Object *ob)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define STRNCPY(dst, src)
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
Object groups, one object can be in many groups at once.
@ FREESTYLE_CONTROL_EDITOR_MODE
@ eModifierType_Collision
@ eModifierType_DynamicPaint
#define OB_TYPE_SUPPORT_MATERIAL(_type)
@ BCONTEXT_BONE_CONSTRAINT
bool PE_poll(bContext *C)
bool ED_area_has_shared_border(ScrArea *a, ScrArea *b)
Read Guarded memory(de)allocation.
void uiItemL(uiLayout *layout, const char *name, int icon)
uiLayout * uiLayoutRow(uiLayout *layout, bool align)
void uiLayoutSetAlignment(uiLayout *layout, char alignment)
void uiItemLDrag(uiLayout *layout, PointerRNA *ptr, const char *name, int icon)
void uiItemSpacer(uiLayout *layout)
void uiLayoutSetEmboss(uiLayout *layout, eUIEmbossType emboss)
void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname)
static bool buttons_context_path(const bContext *C, SpaceProperties *sbuts, ButsContextPath *path, int mainb, int flag)
static bool buttons_context_path_shaderfx(ButsContextPath *path)
static bool buttons_context_path_bone(ButsContextPath *path)
static bool buttons_context_path_scene(ButsContextPath *path)
static int set_pointer_type(ButsContextPath *path, bContextDataResult *result, StructRNA *type)
static bool buttons_context_path_data(ButsContextPath *path, int type)
const char * buttons_context_dir[]
int buttons_context(const bContext *C, const char *member, bContextDataResult *result)
void ED_buttons_set_context(const bContext *C, SpaceProperties *sbuts, PointerRNA *ptr, const int context)
static PointerRNA * get_pointer_type(ButsContextPath *path, StructRNA *type)
void buttons_context_compute(const bContext *C, SpaceProperties *sbuts)
void buttons_context_register(ARegionType *art)
static bool buttons_context_path_material(ButsContextPath *path)
static bool buttons_context_path_texture(const bContext *C, ButsContextPath *path, ButsContextTexture *ct)
static bool buttons_context_path_pose_bone(ButsContextPath *path)
static bool buttons_context_path_object(ButsContextPath *path)
static int buttons_shading_new_context(const bContext *C, int flag)
static bool buttons_context_path_particle(ButsContextPath *path)
bool ED_buttons_should_sync_with_outliner(const bContext *C, const SpaceProperties *sbuts, ScrArea *area)
static bool buttons_context_path_view_layer(ButsContextPath *path, wmWindow *win)
static bool buttons_context_path_linestyle(ButsContextPath *path, wmWindow *window)
static bool buttons_shading_context(const bContext *C, int mainb)
static bool is_pointer_in_path(ButsContextPath *path, PointerRNA *ptr)
static bool buttons_context_path_brush(const bContext *C, ButsContextPath *path)
static bool buttons_context_path_collection(const bContext *C, ButsContextPath *path, wmWindow *window)
static bool buttons_context_path_world(ButsContextPath *path)
ID * buttons_context_id_path(const bContext *C)
static void buttons_panel_context_draw(const bContext *C, Panel *panel)
static bool buttons_context_path_modifier(ButsContextPath *path)
static bool buttons_panel_context_poll(const bContext *C, PanelType *)
FreestyleLineStyle linestyle
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
int RNA_struct_ui_icon(const StructRNA *type)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
PointerRNA RNA_id_pointer_create(ID *id)
_W64 unsigned int uintptr_t
struct ButsTextureUser * user
struct Collection * collection
void(* draw)(const bContext *C, Panel *panel)
char idname[BKE_ST_MAXNAME]
bool(* poll)(const bContext *C, PanelType *pt)
char translation_context[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
struct FreestyleConfig freestyle_config
struct EditBone * act_edbone
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
Scene * WM_window_get_active_scene(const wmWindow *win)