[Bf-blender-cvs] [a2c079c] viewport_generic_engine: Some UI changes for new viewport engine dropdown
Julian Eisel
noreply at git.blender.org
Sat Oct 8 20:06:40 CEST 2016
Commit: a2c079c87afe280635955a1a38383dbc2c24ce8a
Author: Julian Eisel
Date: Sat Oct 8 19:53:56 2016 +0200
Branches: viewport_generic_engine
https://developer.blender.org/rBa2c079c87afe280635955a1a38383dbc2c24ce8a
Some UI changes for new viewport engine dropdown
* Use legacy viewport as default for now
* Remove "Use Modern Viewport" option
* Minor cleanup
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/editors/space_view3d/view3d_header.c
M source/blender/editors/space_view3d/view3d_intern.h
M source/blender/makesdna/DNA_view3d_types.h
M source/blender/makesrna/intern/rna_space.c
M source/blender/viewport/VP_engine_API.h
M source/blender/viewport/intern/engine_api.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 83819e2..e56c30c 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2981,25 +2981,20 @@ class VIEW3D_PT_viewport_debug(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Modern Viewport"
- 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_modern_viewport", text="")
-
def draw(self, context):
layout = self.layout
view = context.space_data
- layout.active = view.use_modern_viewport
+ layout.prop(view, "viewport_engine")
col = layout.column()
- col.prop(view, "viewport_engine")
+ col.active = view.viewport_engine == 'BLENDER_VIEWPORT' # new viewport
col.label(text="Placeholder for debugging options")
@@ -3116,7 +3111,7 @@ class VIEW3D_PT_view3d_display(Panel):
@classmethod
def poll(cls, context):
view = context.space_data
- return (view) and not view.use_modern_viewport
+ return (view) and view.viewport_engine == 'LEGACY_VIEWPORT'
def draw(self, context):
layout = self.layout
@@ -3217,7 +3212,7 @@ class VIEW3D_PT_view3d_shading(Panel):
@classmethod
def poll(cls, context):
view = context.space_data
- return (view) and not view.use_modern_viewport
+ return (view) and view.viewport_engine == 'LEGACY_VIEWPORT'
def draw(self, context):
layout = self.layout
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 32e265c..aa37b45 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -60,6 +60,8 @@
#include "UI_interface.h"
#include "UI_resources.h"
+#include "VP_engine_API.h"
+
#include "view3d_intern.h"
static void do_view3d_header_buttons(bContext *C, void *arg, int event);
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index d872101..c031c27 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -319,7 +319,7 @@ extern bool view3d_camera_border_hack_test;
#endif
/* temporary test for blender 2.8 viewport */
-#define IS_VIEWPORT_LEGACY(v3d) (v3d->tmp_compat_flag & V3D_NEW_VIEWPORT) == 0
+#define IS_VIEWPORT_LEGACY(v3d) STREQ(v3d->viewport_engine->type->idname, "LEGACY_VIEWPORT")
/* temporary for legacy viewport to work */
void VP_legacy_drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const char **grid_unit);
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 076ffce..c342039 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -224,11 +224,7 @@ typedef struct View3D {
char multiview_eye; /* multiview current eye - for internal use */
- /* XXX tmp flags for 2.8 viewport transition to avoid compatibility issues that would be caused by
- * using usual flag bitfields (which are saved to files). Can be removed when not needed anymore. */
- char tmp_compat_flag;
-
- char pad3[3];
+ char pad3[4];
/* note, 'fx_settings.dof' is currently _not_ allocated,
* instead set (temporarily) from camera */
@@ -330,11 +326,6 @@ typedef struct View3D {
/* View3d->flag3 (short) */
#define V3D_SHOW_WORLD (1 << 0)
-/* View3d->tmp_compat_flag */
-enum {
- V3D_NEW_VIEWPORT = (1 << 0),
-};
-
/* View3D->around */
enum {
/* center of the bounding box */
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index d28f5b2..149f89b 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -176,7 +176,7 @@ static EnumPropertyItem autosnap_items[] = {
#endif
EnumPropertyItem rna_enum_viewport_engine_items[] = {
- {0, "BLENDER_VIEWPORT", 0, "Modern Viewport", ""},
+ {0, "LEGACY_VIEWPORT", 0, "Legacy Viewport", ""},
{0, NULL, 0, NULL, NULL}
};
@@ -2807,12 +2807,6 @@ static void rna_def_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Volume Alpha", "Opacity (alpha) of the cameras' frustum volume");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
- /* *** Blender 2.8 Viewport temporary *** */
- prop = RNA_def_property(srna, "use_modern_viewport", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "tmp_compat_flag", V3D_NEW_VIEWPORT);
- RNA_def_property_ui_text(prop, "Modern Viewport", "Use modern viewport");
- RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
/* *** Animated *** */
RNA_define_animate_sdna(true);
/* region */
diff --git a/source/blender/viewport/VP_engine_API.h b/source/blender/viewport/VP_engine_API.h
index 9299947..35f3d7c 100644
--- a/source/blender/viewport/VP_engine_API.h
+++ b/source/blender/viewport/VP_engine_API.h
@@ -56,7 +56,7 @@ typedef struct ViewportDrawMode {
typedef struct ViewportEngineType {
struct ViewportEngineType *next, *prev;
- char idname[MAX_NAME]; /* Unused (TODO do we need this?) */
+ char idname[MAX_NAME]; /* TODO use defines for internal engine names */
/* Displayed in UI */
char name[MAX_NAME];
diff --git a/source/blender/viewport/intern/engine_api.c b/source/blender/viewport/intern/engine_api.c
index 4967846..314a886 100644
--- a/source/blender/viewport/intern/engine_api.c
+++ b/source/blender/viewport/intern/engine_api.c
@@ -49,7 +49,7 @@
extern void view3d_main_region_draw_legacy(const ViewportEngine *engine, const bContext *C);
/* TODO Keeping old viewport only during transition */
-static ViewportEngineType old_viewport = {
+static ViewportEngineType legacy_viewport = {
NULL, NULL,
"LEGACY_VIEWPORT", N_("Legacy Viewport"),
NULL,
@@ -69,8 +69,8 @@ static void enginetype_init(ViewportEngineType *engine_type)
void VP_enginetypes_init(void)
{
+ enginetype_init(&legacy_viewport);
enginetype_init(&vp_blender_viewport);
- enginetype_init(&old_viewport);
}
static void drawmode_plates_free(ViewportDrawMode *drawmode)
More information about the Bf-blender-cvs
mailing list