summaryrefslogtreecommitdiff
path: root/src/lib/evas/include
diff options
context:
space:
mode:
authorYeongjong Lee <yj34.lee@samsung.com>2019-01-16 16:47:51 +0900
committerJaehyun Cho <jae_hyun.cho@samsung.com>2019-01-16 16:47:51 +0900
commit78ae9c0ae069ff86e701ff98cf5674cc491ee156 (patch)
treeeb8ce90d755fc664b839b155778e31f5ec42dad0 /src/lib/evas/include
parent4858d9eb81f4aa5d24b9555b5caf0e058609d8ab (diff)
gfx: Add size hint fill (EO)
Summary: If widget use both hint_align(HINT_FILL) and hint_max together, there is no way to set to hint_align. See, elementary_test -to 'efl.ui.box' - "Button with a quite long text." button. you can control button position using "Box align" slider, but this is not proper implementation. When there are two widget which have hint_align(HINT_FILL) and hint_max, those positions are determined by box_align rather than hint_align. it means widget align cannot be set individually. To solve this problem, this patch add hint_fill property. in order to avoid conflict with legacy API named evas_object_size_hint_fill_set(), it only works for EO widgets(made by efl_add). Also, EFL_GFX_SIZE_HINT_FILL is removed. @feature Test Plan: elementary_test -to 'efl.ui.box' elementary_test -to 'efl.ui.table' Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T3912 Differential Revision: https://phab.enlightenment.org/D7409
Diffstat (limited to 'src/lib/evas/include')
-rw-r--r--src/lib/evas/include/evas_private.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 901d3a5f67..7edce6296a 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -62,6 +62,7 @@ typedef struct _Evas_Layer Evas_Layer;
62typedef struct _Evas_Size Evas_Size; 62typedef struct _Evas_Size Evas_Size;
63typedef struct _Evas_Aspect Evas_Aspect; 63typedef struct _Evas_Aspect Evas_Aspect;
64typedef struct _Evas_Border Evas_Border; 64typedef struct _Evas_Border Evas_Border;
65typedef struct _Evas_Bool_Pair Evas_Bool_Pair;
65typedef struct _Evas_Double_Pair Evas_Double_Pair; 66typedef struct _Evas_Double_Pair Evas_Double_Pair;
66typedef struct _Evas_Size_Hints Evas_Size_Hints; 67typedef struct _Evas_Size_Hints Evas_Size_Hints;
67typedef struct _Evas_Data_Node Evas_Data_Node; 68typedef struct _Evas_Data_Node Evas_Data_Node;
@@ -932,6 +933,11 @@ struct _Evas_Border
932 Evas_Coord l, r, t, b; 933 Evas_Coord l, r, t, b;
933}; 934};
934 935
936struct _Evas_Bool_Pair
937{
938 Eina_Bool x, y;
939};
940
935struct _Evas_Double_Pair 941struct _Evas_Double_Pair
936{ 942{
937 double x, y; 943 double x, y;
@@ -944,6 +950,7 @@ struct _Evas_Size_Hints
944 Evas_Aspect aspect; 950 Evas_Aspect aspect;
945 Evas_Double_Pair align, weight; 951 Evas_Double_Pair align, weight;
946 Evas_Border padding; 952 Evas_Border padding;
953 Evas_Bool_Pair fill;
947 Evas_Display_Mode dispmode; 954 Evas_Display_Mode dispmode;
948}; 955};
949 956
@@ -1186,7 +1193,6 @@ struct _Evas_Object_Protected_Data
1186 Eina_Bool ctor : 1; // used legacy constructor 1193 Eina_Bool ctor : 1; // used legacy constructor
1187 Eina_Bool visible_set : 1; // visibility manually set 1194 Eina_Bool visible_set : 1; // visibility manually set
1188 Eina_Bool weight_set : 1; // weight manually set 1195 Eina_Bool weight_set : 1; // weight manually set
1189 Eina_Bool align_set : 1; // align manually set
1190 Eina_Bool finalized : 1; // object fully constructed 1196 Eina_Bool finalized : 1; // object fully constructed
1191 } legacy; 1197 } legacy;
1192 1198