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;
|
const GreasePencilOpacityModifierData *omd = (const GreasePencilOpacityModifierData *)md;
|
||||||
|
|
||||||
BLO_write_struct(writer, GreasePencilOpacityModifierData, omd);
|
BLO_write_struct(writer, GreasePencilOpacityModifierData, omd);
|
||||||
|
greasepencil::write_influence_data(writer, &omd->influence);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void blend_read(BlendDataReader *reader, ModifierData *md)
|
static void blend_read(BlendDataReader *reader, ModifierData *md)
|
||||||
{
|
{
|
||||||
GreasePencilOpacityModifierData *omd = (GreasePencilOpacityModifierData *)md;
|
GreasePencilOpacityModifierData *omd = (GreasePencilOpacityModifierData *)md;
|
||||||
UNUSED_VARS(reader, omd);
|
|
||||||
|
greasepencil::read_influence_data(reader, &omd->influence);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace blender
|
} // namespace blender
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#include "BKE_lib_query.h"
|
#include "BKE_lib_query.h"
|
||||||
#include "BKE_material.h"
|
#include "BKE_material.h"
|
||||||
|
|
||||||
|
#include "BLO_read_write.hh"
|
||||||
|
|
||||||
#include "DNA_defaults.h"
|
#include "DNA_defaults.h"
|
||||||
|
|
||||||
#include "DEG_depsgraph_query.hh"
|
#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);
|
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)
|
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);
|
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,
|
Object *ob,
|
||||||
IDWalkFunc walk,
|
IDWalkFunc walk,
|
||||||
void *user_data);
|
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_layer_filter_settings(const bContext *C, uiLayout *layout, PointerRNA *ptr);
|
||||||
void draw_material_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