[Bf-blender-cvs] [84c2ef0eaf9] blender2.8: UI: Use chevrons for number sliders, pulldowns and popovers

Pablo Vazquez noreply at git.blender.org
Wed Jun 20 12:24:26 CEST 2018


Commit: 84c2ef0eaf9d9901f6a88c6e095490378ac5d677
Author: Pablo Vazquez
Date:   Wed Jun 20 12:24:13 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB84c2ef0eaf9d9901f6a88c6e095490378ac5d677

UI: Use chevrons for number sliders, pulldowns and popovers

In the future popovers/pulldowns should have different indicators

Patch by William Reynish and Clement Foucault

===================================================================

M	source/blender/editors/interface/interface_widgets.c
M	source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl

===================================================================

diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 4bc3aaaf842..37a454d97c2 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -230,16 +230,16 @@ static const uint g_shape_preset_hold_action_face[2][3] = {{2, 0, 1}, {3, 5, 4}}
 static const int tria_ofs[ROUNDBOX_TRIA_MAX] = {
 	[ROUNDBOX_TRIA_NONE]              = 0,
 	[ROUNDBOX_TRIA_ARROWS]            = 0,
-	[ROUNDBOX_TRIA_SCROLL]            = 6,
-	[ROUNDBOX_TRIA_MENU]              = 22,
-	[ROUNDBOX_TRIA_CHECK]             = 28,
-	[ROUNDBOX_TRIA_HOLD_ACTION_ARROW] = 34,
+	[ROUNDBOX_TRIA_SCROLL]            = 12,
+	[ROUNDBOX_TRIA_MENU]              = 28,
+	[ROUNDBOX_TRIA_CHECK]             = 34,
+	[ROUNDBOX_TRIA_HOLD_ACTION_ARROW] = 40,
 };
 static const int tria_vcount[ROUNDBOX_TRIA_MAX] = {
 	[ROUNDBOX_TRIA_NONE]              = 0,
-	[ROUNDBOX_TRIA_ARROWS]            = 3,
+	[ROUNDBOX_TRIA_ARROWS]            = 6,
 	[ROUNDBOX_TRIA_SCROLL]            = 16,
-	[ROUNDBOX_TRIA_MENU]              = 3,
+	[ROUNDBOX_TRIA_MENU]              = 6,
 	[ROUNDBOX_TRIA_CHECK]             = 6,
 	[ROUNDBOX_TRIA_HOLD_ACTION_ARROW] = 3,
 };
@@ -296,8 +296,8 @@ static uint32_t set_tria_vertex(
         int tria_type, int tria_v, int tria_id, int jit_v)
 {
 	uint32_t *data = GWN_vertbuf_raw_step(vflag_step);
-	if (ELEM(tria_type, ROUNDBOX_TRIA_ARROWS, ROUNDBOX_TRIA_MENU)) {
-		tria_v += tria_id * 3;
+	if (ELEM(tria_type, ROUNDBOX_TRIA_ARROWS)) {
+		tria_v += tria_id * tria_vcount[ROUNDBOX_TRIA_ARROWS];
 	}
 	*data  = tria_ofs[tria_type] + tria_v;
 	*data |= jit_v << 6;
@@ -308,7 +308,7 @@ static uint32_t set_tria_vertex(
 
 static void roundbox_batch_add_tria(Gwn_VertBufRaw *vflag_step, int tria, uint32_t last_data)
 {
-	const int tria_num = ELEM(tria, ROUNDBOX_TRIA_CHECK, ROUNDBOX_TRIA_HOLD_ACTION_ARROW) ? 1 : 2;
+	const int tria_num = ELEM(tria, ROUNDBOX_TRIA_CHECK, ROUNDBOX_TRIA_HOLD_ACTION_ARROW, ROUNDBOX_TRIA_MENU) ? 1 : 2;
 	/* for each tria */
 	for (int t = 0; t < tria_num; ++t) {
 		for (int j = 0; j < WIDGET_AA_JITTER; j++) {
@@ -335,7 +335,7 @@ Gwn_Batch *ui_batch_roundbox_widget_get(int tria)
 		vcount += ((WIDGET_CURVE_RESOLU * 2) * 2) * WIDGET_AA_JITTER; /* emboss */
 		if (tria) {
 			vcount += (tria_vcount[tria] + 2) * WIDGET_AA_JITTER; /* tria1 */
-			if (!ELEM(tria, ROUNDBOX_TRIA_CHECK, ROUNDBOX_TRIA_HOLD_ACTION_ARROW)) {
+			if (!ELEM(tria, ROUNDBOX_TRIA_CHECK, ROUNDBOX_TRIA_HOLD_ACTION_ARROW, ROUNDBOX_TRIA_MENU)) {
 				vcount += (tria_vcount[tria] + 2) * WIDGET_AA_JITTER; /* tria2 */
 			}
 		}
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
index dcd23413c77..733919e0aab 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
@@ -47,10 +47,12 @@ const vec2 jit[9] = vec2[9](
 
 /* We can reuse the CORNER_* bits for tria */
 #define TRIA_VEC_RANGE BIT_RANGE(6)
-const vec2 triavec[37] = vec2[37](
-	/* ROUNDBOX_TRIA_ARROWS */
-	vec2(-0.352077, 0.532607), vec2(-0.352077, -0.549313), vec2( 0.330000, -0.008353),
-	vec2( 0.352077, 0.532607), vec2( 0.352077, -0.549313), vec2(-0.330000, -0.008353),
+const vec2 triavec[43] = vec2[43](
+
+  /* ROUNDBOX_TRIA_ARROWS */
+	vec2(-0.170000, 0.400000), vec2(-0.050000, 0.520000), vec2( 0.250000, 0.000000), vec2( 0.470000, -0.000000), vec2(-0.170000, -0.400000), vec2(-0.050000, -0.520000),
+	vec2( 0.170000, 0.400000), vec2( 0.050000, 0.520000), vec2(-0.250000, 0.000000), vec2(-0.470000, -0.000000), vec2( 0.170000, -0.400000), vec2( 0.050000, -0.520000),
+
 	/* ROUNDBOX_TRIA_SCROLL - circle tria (triangle strip) */
 	vec2(0.000000, 1.000000),
 	vec2(0.382684, 0.923879), vec2(-0.382683, 0.923880),
@@ -61,13 +63,18 @@ const vec2 triavec[37] = vec2[37](
 	vec2(0.707107, -0.707107), vec2(-0.707107, -0.707107),
 	vec2(0.382684, -0.923879), vec2(-0.382683, -0.923880),
 	vec2(0.000000, -1.000000),
-	/* ROUNDBOX_TRIA_MENU - menu arrows */
-	vec2(-0.33, 0.16), vec2(0.33, 0.16), vec2(0.0, 0.82),
-	vec2(0.0, -0.82), vec2(-0.33, -0.16), vec2(0.33, -0.16),
+
+
+  /* ROUNDBOX_TRIA_MENU - menu arrows */
+  vec2(-0.66, 0.08), vec2(-0.56, 0.20), vec2(-0.2, -0.39),
+  vec2(-0.2, -0.18), vec2(0.26, 0.08), vec2(0.15, 0.20),
+
+
 	/* ROUNDBOX_TRIA_CHECK - check mark */
-	vec2(-0.578579, 0.253369),  vec2(-0.392773, 0.412794),  vec2(-0.004241, -0.328551),
-	vec2(-0.003001, 0.034320),  vec2(1.055313, 0.864744),   vec2(0.866408, 1.026895),
-	/* ROUNDBOX_TRIA_HOLD_ACTION_ARROW - hold action arrows */
+	vec2(-0.67000, 0.020000),  vec2(-0.500000, 0.190000),  vec2(-0.130000, -0.520000),
+	vec2(-0.130000, -0.170000),  vec2(0.720000, 0.430000),   vec2(0.530000, 0.590000),
+
+    /* ROUNDBOX_TRIA_HOLD_ACTION_ARROW - hold action arrows */
 #define OY (-0.2 / 2)
 #define SC (0.35 * 2)
 //	vec2(-0.5 + SC, 1.0 + OY),  vec2( 0.5, 1.0 + OY),  vec2( 0.5, 0.0 + OY + SC),



More information about the Bf-blender-cvs mailing list