GPv3: Opacity modifier #116946
|
@ -317,12 +317,14 @@ static void blend_write(BlendWriter *writer, const ID * /*id_owner*/, const Modi
|
|||
const GreasePencilOpacityModifierData *omd = (const GreasePencilOpacityModifierData *)md;
|
||||
|
||||
BLO_write_struct(writer, GreasePencilOpacityModifierData, omd);
|
||||
greasepencil::write_influence_data(writer, &omd->influence);
|
||||
}
|
||||
|
||||
static void blend_read(BlendDataReader *reader, ModifierData *md)
|
||||
{
|
||||
GreasePencilOpacityModifierData *omd = (GreasePencilOpacityModifierData *)md;
|
||||
UNUSED_VARS(reader, omd);
|
||||
|
||||
greasepencil::read_influence_data(reader, &omd->influence);
|
||||
}
|
||||
|
||||
} // namespace blender
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include "BKE_lib_query.h"
|
||||
#include "BKE_material.h"
|
||||
|
||||
#include "BLO_read_write.hh"
|
||||
|
||||
#include "DNA_defaults.h"
|
||||
|
||||
#include "DEG_depsgraph_query.hh"
|
||||
|
@ -70,6 +72,23 @@ void foreach_influence_ID_link(GreasePencilModifierInfluenceData *influence_data
|
|||
walk(user_data, ob, (ID **)&influence_data->material, IDWALK_CB_USER);
|
||||
}
|
||||
|
||||
void write_influence_data(BlendWriter *writer,
|
||||
const GreasePencilModifierInfluenceData *influence_data)
|
||||
{
|
||||
if (influence_data->custom_curve) {
|
||||
BKE_curvemapping_blend_write(writer, influence_data->custom_curve);
|
||||
}
|
||||
}
|
||||
|
||||
void read_influence_data(BlendDataReader *reader,
|
||||
GreasePencilModifierInfluenceData *influence_data)
|
||||
{
|
||||
BLO_read_data_address(reader, &influence_data->custom_curve);
|
||||
if (influence_data->custom_curve) {
|
||||
BKE_curvemapping_blend_read(reader, influence_data->custom_curve);
|
||||
}
|
||||
}
|
||||
|
||||
void draw_layer_filter_settings(const bContext * /*C*/, uiLayout *layout, PointerRNA *ptr)
|
||||
{
|
||||
PointerRNA ob_ptr = RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id);
|
||||
|
|
|
@ -40,6 +40,10 @@ void foreach_influence_ID_link(GreasePencilModifierInfluenceData *influence_data
|
|||
Object *ob,
|
||||
IDWalkFunc walk,
|
||||
void *user_data);
|
||||
void write_influence_data(BlendWriter *writer,
|
||||
const GreasePencilModifierInfluenceData *influence_data);
|
||||
void read_influence_data(BlendDataReader *reader,
|
||||
GreasePencilModifierInfluenceData *influence_data);
|
||||
|
||||
void draw_layer_filter_settings(const bContext *C, uiLayout *layout, PointerRNA *ptr);
|
||||
void draw_material_filter_settings(const bContext *C, uiLayout *layout, PointerRNA *ptr);
|
||||
|
|
Loading…
Reference in New Issue