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:
authorAntonioya <blendergit@gmail.com>2018-08-16 12:24:28 +0300
committerAntonioya <blendergit@gmail.com>2018-08-16 12:24:45 +0300
commit59670e999a436a05858495ef448f34447584856a (patch)
treef2922200651f094ac11cd2109e8812e326bcc2da
parent02e9dba07be7d912eefb30362512a93c91fe6296 (diff)
GP: Add new presets for materials
This allow create prests without import materials and include a requested predefined settings for Stroke only, Fill only and Stroke and Fill.
-rw-r--r--release/scripts/presets/gpencil_material/fill_only.py30
-rw-r--r--release/scripts/presets/gpencil_material/stroke_and_fill.py30
-rw-r--r--release/scripts/presets/gpencil_material/stroke_only.py30
-rw-r--r--release/scripts/startup/bl_operators/presets.py44
-rw-r--r--release/scripts/startup/bl_ui/properties_material_gpencil.py12
5 files changed, 146 insertions, 0 deletions
diff --git a/release/scripts/presets/gpencil_material/fill_only.py b/release/scripts/presets/gpencil_material/fill_only.py
new file mode 100644
index 00000000000..00cf8663f41
--- /dev/null
+++ b/release/scripts/presets/gpencil_material/fill_only.py
@@ -0,0 +1,30 @@
+import bpy
+material = bpy.context.object.active_material
+gpcolor = material.grease_pencil
+
+gpcolor.mode = 'LINE'
+gpcolor.stroke_style = 'SOLID'
+gpcolor.color = (0.0, 0.0, 0.0, 0.0)
+gpcolor.stroke_image = None
+gpcolor.pixel_size = 100.0
+gpcolor.use_stroke_pattern = False
+gpcolor.fill_style = 'SOLID'
+gpcolor.fill_color = (0.5, 0.5, 0.5, 1.0)
+gpcolor.fill_image = None
+gpcolor.gradient_type = 'LINEAR'
+gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2)
+gpcolor.mix_factor = 0.0
+gpcolor.flip = False
+gpcolor.pattern_shift = (0.0, 0.0)
+gpcolor.pattern_scale = (1.0, 1.0)
+gpcolor.pattern_radius = 0.5
+gpcolor.pattern_angle = 0.0
+gpcolor.pattern_gridsize = 0.1
+gpcolor.use_fill_pattern = False
+gpcolor.texture_offset = (0.0, 0.0)
+gpcolor.texture_scale = (1.0, 1.0)
+gpcolor.texture_angle = 0.0
+gpcolor.texture_opacity = 1.0
+gpcolor.texture_clamp = False
+gpcolor.texture_mix = False
+gpcolor.mix_factor = 0.0
diff --git a/release/scripts/presets/gpencil_material/stroke_and_fill.py b/release/scripts/presets/gpencil_material/stroke_and_fill.py
new file mode 100644
index 00000000000..8c3aca4f829
--- /dev/null
+++ b/release/scripts/presets/gpencil_material/stroke_and_fill.py
@@ -0,0 +1,30 @@
+import bpy
+material = bpy.context.object.active_material
+gpcolor = material.grease_pencil
+
+gpcolor.mode = 'LINE'
+gpcolor.stroke_style = 'SOLID'
+gpcolor.color = (0.0, 0.0, 0.0, 1.0)
+gpcolor.stroke_image = None
+gpcolor.pixel_size = 100.0
+gpcolor.use_stroke_pattern = False
+gpcolor.fill_style = 'SOLID'
+gpcolor.fill_color = (0.5, 0.5, 0.5, 1.0)
+gpcolor.fill_image = None
+gpcolor.gradient_type = 'LINEAR'
+gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2)
+gpcolor.mix_factor = 0.0
+gpcolor.flip = False
+gpcolor.pattern_shift = (0.0, 0.0)
+gpcolor.pattern_scale = (1.0, 1.0)
+gpcolor.pattern_radius = 0.5
+gpcolor.pattern_angle = 0.0
+gpcolor.pattern_gridsize = 0.1
+gpcolor.use_fill_pattern = False
+gpcolor.texture_offset = (0.0, 0.0)
+gpcolor.texture_scale = (1.0, 1.0)
+gpcolor.texture_angle = 0.0
+gpcolor.texture_opacity = 1.0
+gpcolor.texture_clamp = False
+gpcolor.texture_mix = False
+gpcolor.mix_factor = 0.0
diff --git a/release/scripts/presets/gpencil_material/stroke_only.py b/release/scripts/presets/gpencil_material/stroke_only.py
new file mode 100644
index 00000000000..04262593275
--- /dev/null
+++ b/release/scripts/presets/gpencil_material/stroke_only.py
@@ -0,0 +1,30 @@
+import bpy
+material = bpy.context.object.active_material
+gpcolor = material.grease_pencil
+
+gpcolor.mode = 'LINE'
+gpcolor.stroke_style = 'SOLID'
+gpcolor.color = (0.0, 0.0, 0.0, 1.0)
+gpcolor.stroke_image = None
+gpcolor.pixel_size = 100.0
+gpcolor.use_stroke_pattern = False
+gpcolor.fill_style = 'SOLID'
+gpcolor.fill_color = (0.5, 0.5, 0.5, 0.0)
+gpcolor.fill_image = None
+gpcolor.gradient_type = 'LINEAR'
+gpcolor.mix_color = (1.0, 1.0, 1.0, 0.2)
+gpcolor.mix_factor = 0.0
+gpcolor.flip = False
+gpcolor.pattern_shift = (0.0, 0.0)
+gpcolor.pattern_scale = (1.0, 1.0)
+gpcolor.pattern_radius = 0.5
+gpcolor.pattern_angle = 0.0
+gpcolor.pattern_gridsize = 0.1
+gpcolor.use_fill_pattern = False
+gpcolor.texture_offset = (0.0, 0.0)
+gpcolor.texture_scale = (1.0, 1.0)
+gpcolor.texture_angle = 0.0
+gpcolor.texture_opacity = 1.0
+gpcolor.texture_clamp = False
+gpcolor.texture_mix = False
+gpcolor.mix_factor = 0.0
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 0fe45f8fee3..59697db0ae3 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -706,6 +706,49 @@ class AddPresetGpencilBrush(AddPresetBase, Operator):
preset_subdir = "gpencil_brush"
+class AddPresetGpencilMaterial(AddPresetBase, Operator):
+ """Add or remove grease pencil material preset"""
+ bl_idname = "scene.gpencil_material_preset_add"
+ bl_label = "Add Grease Pencil Material Preset"
+ preset_menu = "MATERIAL_PT_gpencil_material_presets"
+
+ preset_defines = [
+ "material = bpy.context.object.active_material",
+ "gpcolor = material.grease_pencil"
+ ]
+
+ preset_values = [
+ "gpcolor.mode",
+ "gpcolor.stroke_style",
+ "gpcolor.color",
+ "gpcolor.stroke_image",
+ "gpcolor.pixel_size",
+ "gpcolor.use_stroke_pattern",
+ "gpcolor.fill_style",
+ "gpcolor.fill_color",
+ "gpcolor.fill_image",
+ "gpcolor.gradient_type",
+ "gpcolor.mix_color",
+ "gpcolor.mix_factor",
+ "gpcolor.flip",
+ "gpcolor.pattern_shift",
+ "gpcolor.pattern_scale",
+ "gpcolor.pattern_radius",
+ "gpcolor.pattern_angle",
+ "gpcolor.pattern_gridsize",
+ "gpcolor.use_fill_pattern",
+ "gpcolor.texture_offset",
+ "gpcolor.texture_scale",
+ "gpcolor.texture_angle",
+ "gpcolor.texture_opacity",
+ "gpcolor.texture_clamp",
+ "gpcolor.texture_mix",
+ "gpcolor.mix_factor",
+ ]
+
+ preset_subdir = "gpencil_material"
+
+
classes = (
AddPresetCamera,
AddPresetCloth,
@@ -723,6 +766,7 @@ classes = (
AddPresetTrackingTrackColor,
AddPresetUnitsLength,
AddPresetGpencilBrush,
+ AddPresetGpencilMaterial,
ExecutePreset,
WM_MT_operator_presets,
)
diff --git a/release/scripts/startup/bl_ui/properties_material_gpencil.py b/release/scripts/startup/bl_ui/properties_material_gpencil.py
index d83639a361c..cabd6e5677a 100644
--- a/release/scripts/startup/bl_ui/properties_material_gpencil.py
+++ b/release/scripts/startup/bl_ui/properties_material_gpencil.py
@@ -20,6 +20,7 @@
import bpy
from bpy.types import Menu, Panel, UIList
from rna_prop_ui import PropertyPanel
+from bl_operators.presets import PresetMenu
class GPENCIL_MT_color_specials(Menu):
@@ -165,6 +166,9 @@ class MATERIAL_PT_gpencil_surface(GPMaterialButtonsPanel, Panel):
return ob and ob.type == 'GPENCIL'
+ def draw_header_preset(self, context):
+ MATERIAL_PT_gpencil_material_presets.draw_panel_header(self.layout)
+
@staticmethod
def draw(self, context):
layout = self.layout
@@ -302,12 +306,20 @@ class MATERIAL_PT_gpencil_options(GPMaterialButtonsPanel, Panel):
gpcolor = ma.grease_pencil
layout.prop(gpcolor, "pass_index")
+class MATERIAL_PT_gpencil_material_presets(PresetMenu):
+ """Material settings"""
+ bl_label = "Material Presets"
+ preset_subdir = "gpencil_material"
+ preset_operator = "script.execute_preset"
+ preset_add_operator = "scene.gpencil_material_preset_add"
+
classes = (
GPENCIL_UL_matslots,
GPENCIL_MT_color_specials,
MATERIAL_PT_gpencil_slots,
MATERIAL_PT_gpencil_preview,
+ MATERIAL_PT_gpencil_material_presets,
MATERIAL_PT_gpencil_surface,
MATERIAL_PT_gpencil_strokecolor,
MATERIAL_PT_gpencil_fillcolor,