[Bf-blender-cvs] [cbe82f81e1e] blender2.8: UI: allow fractical unit size for layouts.

Brecht Van Lommel noreply at git.blender.org
Wed Sep 26 18:24:54 CEST 2018


Commit: cbe82f81e1e02c201235d030b3e59025747bf9c4
Author: Brecht Van Lommel
Date:   Wed Sep 26 17:44:35 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBcbe82f81e1e02c201235d030b3e59025747bf9c4

UI: allow fractical unit size for layouts.

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

M	source/blender/editors/include/UI_interface.h
M	source/blender/editors/interface/interface_layout.c
M	source/blender/makesrna/intern/rna_ui.c

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

diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 779fac9bc15..923cda42a59 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -991,8 +991,8 @@ void uiLayoutSetAlignment(uiLayout *layout, char alignment);
 void uiLayoutSetKeepAspect(uiLayout *layout, bool keepaspect);
 void uiLayoutSetScaleX(uiLayout *layout, float scale);
 void uiLayoutSetScaleY(uiLayout *layout, float scale);
-void uiLayoutSetUnitsX(uiLayout *layout, int unit);
-void uiLayoutSetUnitsY(uiLayout *layout, int unit);
+void uiLayoutSetUnitsX(uiLayout *layout, float unit);
+void uiLayoutSetUnitsY(uiLayout *layout, float unit);
 void uiLayoutSetEmboss(uiLayout *layout, char emboss);
 void uiLayoutSetPropSep(uiLayout *layout, bool is_sep);
 void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep);
@@ -1006,8 +1006,8 @@ bool uiLayoutGetKeepAspect(uiLayout *layout);
 int uiLayoutGetWidth(uiLayout *layout);
 float uiLayoutGetScaleX(uiLayout *layout);
 float uiLayoutGetScaleY(uiLayout *layout);
-int uiLayoutGetUnitsX(uiLayout *layout);
-int uiLayoutGetUnitsY(uiLayout *layout);
+float uiLayoutGetUnitsX(uiLayout *layout);
+float uiLayoutGetUnitsY(uiLayout *layout);
 int uiLayoutGetEmboss(uiLayout *layout);
 bool uiLayoutGetPropSep(uiLayout *layout);
 bool uiLayoutGetPropDecorate(uiLayout *layout);
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 0f78cfa0a3c..28627c3d44e 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -169,7 +169,7 @@ struct uiLayout {
 	bool variable_size;  /* For layouts inside gridflow, they and their items shall never have a fixed maximal size. */
 	char alignment;
 	char emboss;
-	int units[2];  /* for fixed width or height to avoid UI size changes */
+	float units[2];  /* for fixed width or height to avoid UI size changes */
 };
 
 typedef struct uiLayoutItemFlow {
@@ -3857,12 +3857,12 @@ void uiLayoutSetScaleY(uiLayout *layout, float scale)
 	layout->scale[1] = scale;
 }
 
-void uiLayoutSetUnitsX(uiLayout *layout, int unit)
+void uiLayoutSetUnitsX(uiLayout *layout, float unit)
 {
 	layout->units[0] = unit;
 }
 
-void uiLayoutSetUnitsY(uiLayout *layout, int unit)
+void uiLayoutSetUnitsY(uiLayout *layout, float unit)
 {
 	layout->units[1] = unit;
 }
@@ -3932,12 +3932,12 @@ float uiLayoutGetScaleY(uiLayout *layout)
 	return layout->scale[1];
 }
 
-int uiLayoutGetUnitsX(uiLayout *layout)
+float uiLayoutGetUnitsX(uiLayout *layout)
 {
 	return layout->units[0];
 }
 
-int uiLayoutGetUnitsY(uiLayout *layout)
+float uiLayoutGetUnitsY(uiLayout *layout)
 {
 	return layout->units[1];
 }
@@ -4033,7 +4033,7 @@ static void ui_item_estimate(uiItem *item)
 				break;
 		}
 
-		/* force fixed size */
+		/* Force fixed size. */
 		if (litem->units[0] > 0) {
 			litem->w = UI_UNIT_X * litem->units[0];
 		}
diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c
index eccf0e73d8e..7d9f547ea0d 100644
--- a/source/blender/makesrna/intern/rna_ui.c
+++ b/source/blender/makesrna/intern/rna_ui.c
@@ -947,22 +947,22 @@ static void rna_UILayout_scale_y_set(PointerRNA *ptr, float value)
 	uiLayoutSetScaleY(ptr->data, value);
 }
 
-static int rna_UILayout_units_x_get(PointerRNA *ptr)
+static float rna_UILayout_units_x_get(PointerRNA *ptr)
 {
 	return uiLayoutGetUnitsX(ptr->data);
 }
 
-static void rna_UILayout_units_x_set(PointerRNA *ptr, int value)
+static void rna_UILayout_units_x_set(PointerRNA *ptr, float value)
 {
 	uiLayoutSetUnitsX(ptr->data, value);
 }
 
-static int rna_UILayout_units_y_get(PointerRNA *ptr)
+static float rna_UILayout_units_y_get(PointerRNA *ptr)
 {
 	return uiLayoutGetUnitsY(ptr->data);
 }
 
-static void rna_UILayout_units_y_set(PointerRNA *ptr, int value)
+static void rna_UILayout_units_y_set(PointerRNA *ptr, float value)
 {
 	uiLayoutSetUnitsY(ptr->data, value);
 }
@@ -1057,12 +1057,12 @@ static void rna_def_ui_layout(BlenderRNA *brna)
 	RNA_def_property_float_funcs(prop, "rna_UILayout_scale_y_get", "rna_UILayout_scale_y_set", NULL);
 	RNA_def_property_ui_text(prop, "Scale Y", "Scale factor along the Y for items in this (sub)layout");
 
-	prop = RNA_def_property(srna, "ui_units_x", PROP_INT, PROP_UNSIGNED);
-	RNA_def_property_int_funcs(prop, "rna_UILayout_units_x_get", "rna_UILayout_units_x_set", NULL);
+	prop = RNA_def_property(srna, "ui_units_x", PROP_FLOAT, PROP_UNSIGNED);
+	RNA_def_property_float_funcs(prop, "rna_UILayout_units_x_get", "rna_UILayout_units_x_set", NULL);
 	RNA_def_property_ui_text(prop, "Units X", "Fixed Size along the X for items in this (sub)layout");
 
-	prop = RNA_def_property(srna, "ui_units_y", PROP_INT, PROP_UNSIGNED);
-	RNA_def_property_int_funcs(prop, "rna_UILayout_units_y_get", "rna_UILayout_units_y_set", NULL);
+	prop = RNA_def_property(srna, "ui_units_y", PROP_FLOAT, PROP_UNSIGNED);
+	RNA_def_property_float_funcs(prop, "rna_UILayout_units_y_get", "rna_UILayout_units_y_set", NULL);
 	RNA_def_property_ui_text(prop, "Units Y", "Fixed Size along the Y for items in this (sub)layout");
 	RNA_api_ui_layout(srna);



More information about the Bf-blender-cvs mailing list