Blender V4.3
tree_element_gpencil_effect.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#include "DNA_object_types.h"
10#include "DNA_outliner_types.h"
11#include "DNA_shader_fx_types.h"
12
13#include "BLI_listbase.h"
14
15#include "BLT_translation.hh"
16
17#include "../outliner_intern.hh"
18
20
21namespace blender::ed::outliner {
22
24 : AbstractTreeElement(legacy_te), object_(object)
25{
27 legacy_te.name = IFACE_("Effects");
28}
29
31{
32 int index;
33 LISTBASE_FOREACH_INDEX (ShaderFxData *, fx, &object_.shader_fx, index) {
35 }
36}
37
39 Object & /*object*/,
40 ShaderFxData &fx)
41 : AbstractTreeElement(legacy_te), /* object_(object), */ fx_(fx)
42{
44 legacy_te.name = fx_.name;
45 legacy_te.directdata = &fx_;
46}
47
48void TreeElementGPencilEffect::expand(SpaceOutliner & /*space_outliner*/) const
49{
50 if (fx_.type == eShaderFxType_Swirl) {
52 reinterpret_cast<ID *>(((SwirlShaderFxData *)(&fx_))->object),
53 nullptr,
56 0);
57 }
58}
59
60} // namespace blender::ed::outliner
#define BLI_assert(a)
Definition BLI_assert.h:50
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
#define IFACE_(msgid)
Object is a sort of wrapper for general info.
@ TSE_GPENCIL_EFFECT
@ TSE_GPENCIL_EFFECT_BASE
@ TSE_LINKED_OB
@ eShaderFxType_Swirl
TreeElement * add_element(ListBase *lb, ID *owner_id, void *create_data, TreeElement *parent, short type, short index, const bool expand=true) const
TreeElementGPencilEffectBase(TreeElement &legacy_te, Object &object)
TreeElementGPencilEffect(TreeElement &legacy_te, Object &object, ShaderFxData &fx)
Definition DNA_ID.h:413
ListBase shader_fx