[Bf-blender-cvs] [849337bd78f] greasepencil-object: Move Paper settings to View
Antonio Vazquez
noreply at git.blender.org
Wed Nov 29 11:45:51 CET 2017
Commit: 849337bd78fc4e6866f1ae761a6cb4225639bd54
Author: Antonio Vazquez
Date: Wed Nov 29 11:45:43 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rB849337bd78fc4e6866f1ae761a6cb4225639bd54
Move Paper settings to View
Now the paper can be enabled by view and not by scene as before because this is a view settings.
Thank Pablo Vazquez for his UI feedback.
===================================================================
M release/scripts/startup/bl_ui/properties_scene.py
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/blenkernel/intern/scene.c
M source/blender/blenloader/intern/versioning_280.c
M source/blender/draw/engines/gpencil/gpencil_engine.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesdna/DNA_view3d_types.h
M source/blender/makesrna/intern/rna_scene.c
M source/blender/makesrna/intern/rna_space.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 2eb4554efe0..f388b672b15 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -479,34 +479,6 @@ class SCENE_PT_gp_simplify(SceneButtonsPanel, Panel):
row.prop(ts, "gpencil_disable_fast_drawing")
-class SCENE_PT_gp_paper(SceneButtonsPanel, Panel):
- bl_label = "Grease Pencil Paper"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
-
- def draw_header(self, context):
- ts = context.tool_settings
- self.layout.prop(ts, "use_gpencil_paper", text="")
-
- def draw(self, context):
- layout = self.layout
-
- ts = context.tool_settings
- layout.active = ts.use_gpencil_paper
-
- row = layout.row()
- row.prop(ts, "gp_paper_color", text="Color")
- row = layout.row()
- row.prop(ts, "gp_paper_opacity", text="Opacity")
-
- row = layout.row(align=False)
- row.prop(ts, "use_gpencil_grid", text="Display Grid")
-
- row = layout.row(align=False)
- col = row.column(align=True)
- col.enabled = ts.use_gpencil_grid
- col.prop(ts, "gpencil_grid_size", text="")
-
-
class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
_context_path = "scene"
@@ -528,7 +500,6 @@ classes = (
SCENE_PT_rigid_body_field_weights,
SCENE_PT_simplify,
SCENE_PT_gp_simplify,
- SCENE_PT_gp_paper,
SCENE_PT_custom_props,
)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 2b7c04a8bec..db0748d72d0 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -157,7 +157,7 @@ class VIEW3D_HT_header(Header):
view = context.space_data
row = layout.row(align=True)
- row.prop(context.tool_settings, "use_gpencil_paper", text="", icon='GHOST')
+ row.prop(view, "use_gpencil_paper", text="", icon='GHOST')
row.prop(view, "show_only_render", text="", icon='IMAGE_COL')
row.prop(view, "lock_camera", text="", icon='CAMERA_DATA')
@@ -3536,6 +3536,40 @@ class VIEW3D_PT_view3d_display(Panel):
row.prop(region, "use_box_clip")
+class VIEW3D_PT_gp_paper(Panel):
+ bl_space_type = 'VIEW_3D'
+ bl_region_type = 'UI'
+ bl_label = "Grease Pencil Paper"
+ bl_options = {'DEFAULT_CLOSED'}
+
+ @classmethod
+ def poll(cls, context):
+ view = context.space_data
+ return (view)
+
+ def draw_header(self, context):
+ view = context.space_data
+ self.layout.prop(view, "use_gpencil_paper", text="")
+
+ def draw(self, context):
+ layout = self.layout
+ view = context.space_data
+ layout.active = view.use_gpencil_paper
+
+ row = layout.row()
+ row.prop(view, "gp_paper_color", text="Color")
+ row = layout.row()
+ row.prop(view, "gp_paper_opacity", text="Opacity")
+
+ row = layout.row(align=False)
+ row.prop(view, "use_gpencil_grid", text="Display Grid")
+
+ row = layout.row(align=False)
+ col = row.column(align=True)
+ col.enabled = view.use_gpencil_grid
+ col.prop(view, "gpencil_grid_size", text="")
+
+
class VIEW3D_PT_view3d_stereo(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
@@ -3993,6 +4027,7 @@ classes = (
VIEW3D_PT_view3d_cursor,
VIEW3D_PT_view3d_name,
VIEW3D_PT_view3d_display,
+ VIEW3D_PT_gp_paper,
VIEW3D_PT_view3d_stereo,
VIEW3D_PT_view3d_motion_tracking,
VIEW3D_PT_view3d_meshdisplay,
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 2f2a33a7e91..73d4ea653bc 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -846,10 +846,6 @@ void BKE_scene_init(Scene *sce)
sce->toolsettings->imapaint.normal_angle = 80;
sce->toolsettings->imapaint.seam_bleed = 2;
- sce->toolsettings->gpencil_grid_size[0] = 50;
- sce->toolsettings->gpencil_grid_size[1] = 50;
- ARRAY_SET_ITEMS(sce->toolsettings->gpencil_paper_color, 1.0f, 1.0f, 1.0f, 0.7f);
-
sce->physics_settings.gravity[0] = 0.0f;
sce->physics_settings.gravity[1] = 0.0f;
sce->physics_settings.gravity[2] = -9.81f;
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 86bc43e7995..907cf857eb4 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -568,11 +568,19 @@ void do_versions_after_linking_280(Main *main)
}
}
/* init grease pencil grids and paper */
- for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
- scene->toolsettings->gpencil_grid_size[0] = 50;
- scene->toolsettings->gpencil_grid_size[1] = 50;
- ARRAY_SET_ITEMS(scene->toolsettings->gpencil_paper_color, 1.0f, 1.0f, 1.0f, 0.7f);
+ for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
+ for (ScrArea *area = screen->areabase.first; area; area = area->next) {
+ for (SpaceLink *sl = area->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype == SPACE_VIEW3D) {
+ View3D *v3d = (View3D *)sl;
+ v3d->gpencil_grid_size[0] = 50;
+ v3d->gpencil_grid_size[1] = 50;
+ ARRAY_SET_ITEMS(v3d->gpencil_paper_color, 1.0f, 1.0f, 1.0f, 0.7f);
+ }
+ }
+ }
}
+
}
/* XXX: Merge back into previous case... leaving like this so the Hero animatic/production files so far don't break */
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 97fec0ba69b..93176051620 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -200,6 +200,7 @@ static void GPENCIL_cache_init(void *vedata)
const DRWContextState *draw_ctx = DRW_context_state_get();
Scene *scene = draw_ctx->scene;
ToolSettings *ts = scene->toolsettings;
+ View3D *v3d = draw_ctx->v3d;
Object *obact = draw_ctx->obact;
if (!stl->g_data) {
@@ -403,15 +404,15 @@ static void GPENCIL_cache_init(void *vedata)
psl->paper_pass = DRW_pass_create("GPencil Paper Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
DRWShadingGroup *paper_shgrp = DRW_shgroup_create(e_data.gpencil_paper_sh, psl->paper_pass);
DRW_shgroup_call_add(paper_shgrp, paperquad, NULL);
- DRW_shgroup_uniform_vec4(paper_shgrp, "color", ts->gpencil_paper_color, 1);
+ DRW_shgroup_uniform_vec4(paper_shgrp, "color", v3d->gpencil_paper_color, 1);
UI_GetThemeColor3fv(TH_GRID, stl->storage->gridcolor);
DRW_shgroup_uniform_vec3(paper_shgrp, "gridcolor", &stl->storage->gridcolor[0], 1);
- stl->storage->gridsize[0] = (float)ts->gpencil_grid_size[0];
- stl->storage->gridsize[1] = (float)ts->gpencil_grid_size[1];
+ stl->storage->gridsize[0] = (float)v3d->gpencil_grid_size[0];
+ stl->storage->gridsize[1] = (float)v3d->gpencil_grid_size[1];
DRW_shgroup_uniform_vec2(paper_shgrp, "size", &stl->storage->gridsize[0], 1);
- if (ts->gpencil_flags & GP_TOOL_FLAG_ENABLE_GRID) {
+ if (v3d->flag3 & V3D_GP_SHOW_GRID) {
stl->storage->uselines = 1;
}
else {
@@ -658,6 +659,7 @@ static void GPENCIL_draw_scene(void *vedata)
float clearcol[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
const DRWContextState *draw_ctx = DRW_context_state_get();
+ View3D *v3d = draw_ctx->v3d;
Scene *scene = draw_ctx->scene;
ToolSettings *ts = scene->toolsettings;
Object *obact = draw_ctx->obact;
@@ -665,7 +667,7 @@ static void GPENCIL_draw_scene(void *vedata)
/* paper pass to display a confortable area to draw over complex scenes with geometry */
if ((obact) && (obact->type == OB_GPENCIL)) {
- if ((ts->gpencil_flags & GP_TOOL_FLAG_ENABLE_PAPER) && (stl->g_data->gp_cache_used > 0)) {
+ if ((v3d->flag3 & V3D_GP_SHOW_PAPER) && (stl->g_data->gp_cache_used > 0)) {
DRW_draw_pass(psl->paper_pass);
}
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 12d0ed4501b..f0c553be4e6 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -345,6 +345,10 @@ static SpaceLink *view3d_new(const bContext *C)
v3d->near = 0.01f;
v3d->far = 1000.0f;
+ v3d->gpencil_grid_size[0] = 50;
+ v3d->gpencil_grid_size[1] = 50;
+ ARRAY_SET_ITEMS(v3d->gpencil_paper_color, 1.0f, 1.0f, 1.0f, 0.7f);
+
v3d->twflag |= U.manipulator_flag & V3D_MANIPULATOR_DRAW;
v3d->twtype = V3D_MANIP_TRANSLATE;
v3d->around = V3D_AROUND_CENTER_MEAN;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 24b99822a77..500d01a179f 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1474,8 +1474,6 @@ typedef struct ToolSettings {
short gpencil_simplify; /* simplify flags for grease pencil */
char pad6[6];
- int gpencil_grid_size[2];
- float gpencil_paper_color[4];
/* Grease Pencil Sculpt */
struct GP_BrushEdit_Settings gp_sculpt;
@@ -2198,10 +2196,6 @@ typedef enum eGPencil_Flags {
GP_TOOL_FLAG_RETAIN_LAST = (1 << 1),
/* Add the strokes below all strokes in the layer */
GP_TOOL_FLAG_PAINT_ONBACK = (1 << 2),
- /* Activate paper to cover all viewport (this is done to facilitate drawing over geometry) */
- GP_TOOL_FLAG_ENABLE_PAPER = (1 << 3),
- /* Activate paper grid */
- GP_TOOL_FLAG_ENABLE_GRID = (1 << 4),
} eGPencil_Flags;
/* toolsettings->gpencil_simplify */
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 619f9fd4f6e..2282afb744c 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -225,6 +225,8 @@ typedef struct View3D {
/* XXX deprecated? */
struct bGPdata *gpd DNA_DEPRECATED; /* Grease-Pencil Data (annotation layers
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list