Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c')
-rw-r--r--source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c
index 594c9f8ff9f..6a630cbf978 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c
@@ -29,6 +29,7 @@
#include "BLT_translation.h"
+#include "DNA_defaults.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_meshdata_types.h"
@@ -60,15 +61,10 @@
static void initData(GpencilModifierData *md)
{
TextureGpencilModifierData *gpmd = (TextureGpencilModifierData *)md;
- gpmd->fit_method = GP_TEX_CONSTANT_LENGTH;
- gpmd->fill_rotation = 0.0f;
- gpmd->fill_scale = 1.0f;
- gpmd->fill_offset[0] = 0.0f;
- gpmd->fill_offset[1] = 0.0f;
- gpmd->uv_offset = 0.0f;
- gpmd->uv_scale = 1.0f;
- gpmd->pass_index = 0;
- gpmd->material = NULL;
+
+ BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier));
+
+ MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(TextureGpencilModifierData), modifier);
}
static void copyData(const GpencilModifierData *md, GpencilModifierData *target)
@@ -101,7 +97,7 @@ static void deformStroke(GpencilModifierData *md,
mmd->flag & GP_TEX_INVERT_MATERIAL)) {
return;
}
- if ((mmd->mode == FILL) || (mmd->mode == STROKE_AND_FILL)) {
+ if (ELEM(mmd->mode, FILL, STROKE_AND_FILL)) {
gps->uv_rotation += mmd->fill_rotation;
gps->uv_translation[0] += mmd->fill_offset[0];
gps->uv_translation[1] += mmd->fill_offset[1];
@@ -109,7 +105,7 @@ static void deformStroke(GpencilModifierData *md,
BKE_gpencil_stroke_geometry_update(gps);
}
- if ((mmd->mode == STROKE) || (mmd->mode == STROKE_AND_FILL)) {
+ if (ELEM(mmd->mode, STROKE, STROKE_AND_FILL)) {
float totlen = 1.0f;
if (mmd->fit_method == GP_TEX_FIT_STROKE) {
totlen = 0.0f;
@@ -131,6 +127,7 @@ static void deformStroke(GpencilModifierData *md,
pt->uv_fac /= totlen;
pt->uv_fac *= mmd->uv_scale;
pt->uv_fac += mmd->uv_offset;
+ pt->uv_rot += mmd->alignment_rotation;
}
}
}
@@ -175,6 +172,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
col = uiLayoutColumn(layout, false);
uiItemR(col, ptr, "fit_method", 0, IFACE_("Stroke Fit Method"), ICON_NONE);
uiItemR(col, ptr, "uv_offset", 0, NULL, ICON_NONE);
+ uiItemR(col, ptr, "alignment_rotation", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "uv_scale", 0, IFACE_("Scale"), ICON_NONE);
}
@@ -224,7 +222,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Texture = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
- /* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,