From ffd3b4cdbd521ae853ec6b575fba2f508da4df8b Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Tue, 11 Oct 2022 21:14:14 +0200 Subject: [PATCH] fix(btnmatrix): add lv_obj_get_style_space_...() and use them to consider border width in btnmatrix (#3725) --- src/core/lv_obj_pos.c | 30 ++++++++++--------------- src/core/lv_obj_style.h | 32 +++++++++++++++++++++++++++ src/widgets/btnmatrix/lv_btnmatrix.c | 12 +++++----- tests/ref_imgs/btnm_1.png | Bin 9771 -> 5141 bytes tests/ref_imgs/btnm_2.png | Bin 21661 -> 16771 bytes 5 files changed, 50 insertions(+), 24 deletions(-) diff --git a/src/core/lv_obj_pos.c b/src/core/lv_obj_pos.c index fa5e0dea1a..080dc304d4 100644 --- a/src/core/lv_obj_pos.c +++ b/src/core/lv_obj_pos.c @@ -248,20 +248,16 @@ void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h) void lv_obj_set_content_width(lv_obj_t * obj, lv_coord_t w) { - lv_coord_t pleft = lv_obj_get_style_pad_left(obj, LV_PART_MAIN); - lv_coord_t pright = lv_obj_get_style_pad_right(obj, LV_PART_MAIN); - lv_coord_t border_width = lv_obj_get_style_border_width(obj, LV_PART_MAIN); - - lv_obj_set_width(obj, w + pleft + pright + 2 * border_width); + lv_coord_t left = lv_obj_get_style_space_left(obj, LV_PART_MAIN); + lv_coord_t right = lv_obj_get_style_space_right(obj, LV_PART_MAIN); + lv_obj_set_width(obj, w + left + right); } void lv_obj_set_content_height(lv_obj_t * obj, lv_coord_t h) { - lv_coord_t ptop = lv_obj_get_style_pad_top(obj, LV_PART_MAIN); - lv_coord_t pbottom = lv_obj_get_style_pad_bottom(obj, LV_PART_MAIN); - lv_coord_t border_width = lv_obj_get_style_border_width(obj, LV_PART_MAIN); - - lv_obj_set_height(obj, h + ptop + pbottom + 2 * border_width); + lv_coord_t top = lv_obj_get_style_space_top(obj, LV_PART_MAIN); + lv_coord_t bottom = lv_obj_get_style_space_bottom(obj, LV_PART_MAIN); + lv_obj_set_height(obj, h + top + bottom); } void lv_obj_set_layout(lv_obj_t * obj, uint32_t layout) @@ -570,22 +566,20 @@ lv_coord_t lv_obj_get_content_width(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, MY_CLASS); - lv_coord_t left = lv_obj_get_style_pad_left(obj, LV_PART_MAIN); - lv_coord_t right = lv_obj_get_style_pad_right(obj, LV_PART_MAIN); - lv_coord_t border_width = lv_obj_get_style_border_width(obj, LV_PART_MAIN); + lv_coord_t left = lv_obj_get_style_space_left(obj, LV_PART_MAIN); + lv_coord_t right = lv_obj_get_style_space_right(obj, LV_PART_MAIN); - return lv_obj_get_width(obj) - left - right - 2 * border_width; + return lv_obj_get_width(obj) - left - right; } lv_coord_t lv_obj_get_content_height(const lv_obj_t * obj) { LV_ASSERT_OBJ(obj, MY_CLASS); - lv_coord_t top = lv_obj_get_style_pad_top(obj, LV_PART_MAIN); - lv_coord_t bottom = lv_obj_get_style_pad_bottom(obj, LV_PART_MAIN); - lv_coord_t border_width = lv_obj_get_style_border_width(obj, LV_PART_MAIN); + lv_coord_t top = lv_obj_get_style_space_top(obj, LV_PART_MAIN); + lv_coord_t bottom = lv_obj_get_style_space_bottom(obj, LV_PART_MAIN); - return lv_obj_get_height(obj) - top - bottom - 2 * border_width; + return lv_obj_get_height(obj) - top - bottom; } void lv_obj_get_content_coords(const lv_obj_t * obj, lv_area_t * area) diff --git a/src/core/lv_obj_style.h b/src/core/lv_obj_style.h index 9c744eb34a..b2feaa145d 100644 --- a/src/core/lv_obj_style.h +++ b/src/core/lv_obj_style.h @@ -232,6 +232,38 @@ static inline void lv_obj_set_style_size(struct _lv_obj_t * obj, lv_coord_t widt lv_obj_set_style_height(obj, height, selector); } +static inline lv_coord_t lv_obj_get_style_space_left(const struct _lv_obj_t * obj, uint32_t part) +{ + lv_coord_t padding = lv_obj_get_style_pad_left(obj, part); + lv_coord_t border_width = lv_obj_get_style_border_width(obj, part); + lv_border_side_t border_side = lv_obj_get_style_border_side(obj, part); + return (border_side & LV_BORDER_SIDE_LEFT) ? padding + border_width : padding; +} + +static inline lv_coord_t lv_obj_get_style_space_right(const struct _lv_obj_t * obj, uint32_t part) +{ + lv_coord_t padding = lv_obj_get_style_pad_right(obj, part); + lv_coord_t border_width = lv_obj_get_style_border_width(obj, part); + lv_border_side_t border_side = lv_obj_get_style_border_side(obj, part); + return (border_side & LV_BORDER_SIDE_RIGHT) ? padding + border_width : padding; +} + +static inline lv_coord_t lv_obj_get_style_space_top(const struct _lv_obj_t * obj, uint32_t part) +{ + lv_coord_t padding = lv_obj_get_style_pad_top(obj, part); + lv_coord_t border_width = lv_obj_get_style_border_width(obj, part); + lv_border_side_t border_side = lv_obj_get_style_border_side(obj, part); + return (border_side & LV_BORDER_SIDE_TOP) ? padding + border_width : padding; +} + +static inline lv_coord_t lv_obj_get_style_space_bottom(const struct _lv_obj_t * obj, uint32_t part) +{ + lv_coord_t padding = lv_obj_get_style_pad_bottom(obj, part); + lv_coord_t border_width = lv_obj_get_style_border_width(obj, part); + lv_border_side_t border_side = lv_obj_get_style_border_side(obj, part); + return (border_side & LV_BORDER_SIDE_BOTTOM) ? padding + border_width : padding; +} + lv_text_align_t lv_obj_calculate_style_text_align(const struct _lv_obj_t * obj, lv_part_t part, const char * txt); diff --git a/src/widgets/btnmatrix/lv_btnmatrix.c b/src/widgets/btnmatrix/lv_btnmatrix.c index 76693ed513..4665ac13d9 100644 --- a/src/widgets/btnmatrix/lv_btnmatrix.c +++ b/src/widgets/btnmatrix/lv_btnmatrix.c @@ -104,8 +104,8 @@ void lv_btnmatrix_set_map(lv_obj_t * obj, const char * map[]) lv_base_dir_t base_dir = lv_obj_get_style_base_dir(obj, LV_PART_MAIN); /*Set size and positions of the buttons*/ - lv_coord_t pleft = lv_obj_get_style_pad_left(obj, LV_PART_MAIN); - lv_coord_t ptop = lv_obj_get_style_pad_top(obj, LV_PART_MAIN); + lv_coord_t sleft = lv_obj_get_style_space_left(obj, LV_PART_MAIN); + lv_coord_t stop = lv_obj_get_style_space_top(obj, LV_PART_MAIN); lv_coord_t prow = lv_obj_get_style_pad_row(obj, LV_PART_MAIN); lv_coord_t pcol = lv_obj_get_style_pad_column(obj, LV_PART_MAIN); @@ -138,8 +138,8 @@ void lv_btnmatrix_set_map(lv_obj_t * obj, const char * map[]) continue; } - lv_coord_t row_y1 = ptop + (max_h_no_gap * row) / btnm->row_cnt + row * prow; - lv_coord_t row_y2 = ptop + (max_h_no_gap * (row + 1)) / btnm->row_cnt + row * prow - 1; + lv_coord_t row_y1 = stop + (max_h_no_gap * row) / btnm->row_cnt + row * prow; + lv_coord_t row_y2 = stop + (max_h_no_gap * (row + 1)) / btnm->row_cnt + row * prow - 1; /*Set the button size and positions*/ lv_coord_t max_w_no_gap = max_w - (pcol * (btn_cnt - 1)); @@ -163,8 +163,8 @@ void lv_btnmatrix_set_map(lv_obj_t * obj, const char * map[]) btn_x2 = max_w - btn_x2; } - btn_x1 += pleft; - btn_x2 += pleft; + btn_x1 += sleft; + btn_x2 += sleft; lv_area_set(&btnm->button_areas[btn_tot_i], btn_x1, row_y1, btn_x2, row_y2); diff --git a/tests/ref_imgs/btnm_1.png b/tests/ref_imgs/btnm_1.png index c96d5a810c4dcbade0552b7f1dccae284b6bcaed..6b03ceea29948d69e44bbb14b5bf5d7e3c9c11ff 100644 GIT binary patch literal 5141 zcmeI0dpy+n8ppo|k&;eIqR=7Qaw}6dV$^9dLRN!G%G4%hVlwMeZll^xXP4PBLJ?l& zmb*yPG&78Zrim#N8e@ji5OTkaVTSY7**)jA`^P!E|DIRRpWom2^8B9P=lg!1=l7$B zyOX+_jv4?!9qoL;697d602F#u5pbk6AnP6gnqBAv`!E;o3=6sLx`6`LySi1z`SGPi z_rKo%6Q+<|v(Z6dH((#;))~vEs(6G8Dd8u&iGZ!}%C5w>@Ur($p0*2C}Qrm{Yk2RP+7ZW)g&ei=Vx^xwAYI5s}^ybsWZ7vj}Y;Ji;Nmos*0I$I_;Z&ws z_}5$*e=n2mMN=9Y8X`p(1G_R1xK0@f$1E!LEX0_nH8Hnq(}Jpfi`&+am07AEC`Rnc z5+9$@+QphDCmnBc#FB0j3Qh4YP6^;YrYf>9>@8@|@{VMquTos7gl;`aTu&c7kdE25 zWl_2g#BZfV(1pVhlTwDH?AAUpaZffkk}iy(+l?@Rr5%ykkpeArRH-pX@?kv|D7^@` z$uvU8eEt08pq(_jRu!!NYlrPniq%fbs;EP81tdiSkB}~10B-F@tN;eLSO}nMTmiu4 z<)$DW_dkb(I>Oe#z`#=P;la6cc@&ekK&sl>JbZ(a2K_2pa^H(0lZI!0cqf7~r zcIo;BtJaPUr;C7PP?CkaXHR%5GIr(@f0y2wT*CR`LImsnRb}sL-xLJlM*i7q-%TGk zJ4WTt1LnIH!PE-{F*Q%t{ z&gb)AX4&IBh9l-befso*zG1*&?#?#Qbt|3)zk9vKPTRQ+X-TVIJOj73DqLzixBHs^ zsfZ~nbHhzHe^jvi7J=YwZd4oy^mDY?s;P*(_chuOI8+oeLq^v7$Arej$asfPW)>FL zqb&$jp-?E7%YC}d&CGFw=x$(xwuq6opkV$iCbul7GMI$3+EVaHr~Xv_R+JCc}%CzvrV!SqYo3PjydB41=+`ImNr-wq8Q(C`w^?CV@O3s zrJJ-EJ1QtGEp584udk;UMGw$UyI$u)`7ky%Hs0Hm;*uxP+YH96d0JT1qU?K$(UKct zUCGRhQu_^a{VUkMN>X1nbf*xkHWJV&Xof|BE@F~b<PRR+8wt- z&~olEvC}b1y&iSV$H%Alks`}Ad6PU@(0Eax>1pC2@NOjdOV)U za_p>KD1f3j?%RtU8X7vAe)@=3WhdrErKuZldV1P^l#nae4l4rZtxh6}v8LYJQchQW zrMdvGck}5g&%(6{4fgscbA6sPVibB#|B%U!4GsqE_ z?Or)|_jDdsj@Mm%vG5KQUaCtT(hXmoPP%-MlFJ)_jw9U;=Cw|j-3-iKM9MGh4Xx%H*igdx4_mmgU?f0StJa}&dfY^(b{m6bM}%%G*@Fwz45c(oOVL>?rhz6 zTN`L@F@V{*Z!F>E&vA_bxmR}X0LCs3xIND<82tNQtu;BT^h;VJe>lngj!LCUrUrNr zmPTm%xsN#zK4daElrUKOkWQ!9)-DbTAUENViiX}T6TqljyR7|RFlNw}?6wj6-Me=! zEiLf6%RdtiPk;;Z2sP4t$uyhIuB)qqPiJOkpvtfkWsr>TL=0sRYWD2e^9z4@baCAk z6-XM%Xt(}oqbR6cR6fXzt%jb>j`xzu>hNtzyS$okZ9~%qhqCRXrapQdoBkM&J$m$L zii>!{=^9`K9A1ZIUMbtC7pAy-_wFd(GO%#A2&Qb@8doozkREA)rqtKhhZ0WBZPL@5 z$yWz59!9x+Vq&66pTwZkqlrYKbOt7k(BQM%hKGkUv$E`CX3xWtCw}>^;Kgrd+kE_o zKYfZ>koIR}WR#0uMa@kW@{lWg+cGYjm_Uf`m5S5+A^YS*05Dn}e%@LGC99xPBhN3{ z4I{Rbe(cmRwcBPw-l;=wY-w>H9TNTM*sKXe=l&Qgi@t-!i1EHJto*{t|H8`u;FC!6 zGe=WQIgLzB?dziCT1f%`n~9T?lV}PfMoR3my)^#u*E*P5Q2`~Iu-@XglUJ-*LGv4t z$r!$+KSx`g=M}XLN~IUg(;%LeUTi^EG8lJ^(52p!`!-vN#hkQiUo$DU9DoB$h5OdE zTI<&*8%bdW#=PE;c;CC2v>*+n7$qbmEOiqC1zgd~T^Y?HADATDg0`S3+?jx)LgV7HjM%VzwjE_yjkqaT1~2Gh(Uen1yvsXaqSCfjvNlZPz@l(| zJ0kwu*=*L}S?W?5%^TQimVd}REh9VIAB#PYu?0Dk7BIcAEblON{(N!&$6A0dv;JJm t^d(+j;`IkQ>n}3-B9s3InY>+8Xj*+LGDN8&68`Q3=x^K)l>601*&@OHrBT=q$0ugkDA^@x#V49i@VLb`IMBD;7bz%M(uf%pFAH;YRqxqg-tY#%@edW7)yXEZ?33hV~sp_ zQ{sJch;-5Zs=45C9cJ_g@7yRoqtoBW%zn0Z)1q}xP)|{5X(@M=>rp?DB>HFkL18)jM}POeOObBJ z>+6nZKT|dW=V{`&n@j#UbIgCJ(Bed{LF`oLQwxRI?zx@L%|H3*T;;gcZ<)Dqtf^UA zZDsA!WV<0}`n3w4n0fuvuzz{_GxLxh|S{7|C4&_!lAX)x`U208MTN#LRTVtq{zu0=z4m?ka*vdg{ zPpmUzBx<(UUCQ)?sU3^d6JuLr_M)VC;cSn^xaSZ5A&I~ z!S5But&Amm#IJ|R>Ie)RKi)hL8N0snC3UhbCwlxk%6v7k$w~Dfm%nJ|_ZC?j=mJ~! zX`H9l#I3U$8yk(CHJTSBD|-9-)IBIM-#*;)x?&kIee3CiY;iI#FxRMBaNp=?HhZqV z{?gJ!nrT_v{TmM%Yh8Cv7?56tk4Dqd41VZXIVv12XaWKY)KoP>fb)(^ZLoG0^(qqB zA1c+>K&fs2V!8ZU`z75Vge3*V{5N}SVuF*p=cU<;xelkaj=yYAAdi^T^yTXZBYQ|8 zvb;PrZnNBkCi6{D2qcszv$%KYYz5p>z+{JI*l2bVlq{S*UuS|-yr$L%9aY2Tz``*V zRO-=)D1zZFJ3(iTyLCXtM`m(xql zmLyBswwP8Y-8{X6sHD65s9E!GP$iwi?ZNu_`R!N;KJjxbDNsZvh)S;7Acy~f(BXL2)&FdIH#!S@+ zXYr#tceOp|;q&@HVRj+%O!X*cA4;67Ba@=vMV zh+b)r82c&uK&3C2)mJ|p`Q_G={Oqs9eU9Yi;pmFe^|hsTh1j1RwR05qSh51T^TF3R zzZ=lR5DwdfmLqx+zum+qO#!@1!Fp_I@_xETl@FP~F2>$v9=veyL%9OHFIt@x|}{TJv}Yy#b0vLNf)d+8yBn&oZzkyv($PlqNynA5`puz z)W0Rzf>|vcq<>m#Ht{?!MG_MCEvd!q{{40{>lLqAgeoETxw@scw|0Z}{sqIU=fbPE zmBsgUIZJw_2E%V3hfrmgO*KQHpB6?%B#~K+(Gd=_Dk{Kc*?aDt%%bJhV%qbXUYhg0 zGUn!fB?lQ(XbIY4wA@_9XnCFVvLI@BjKrKFZhDh`>ua=9hTH=jm}+zBYlvQ2 zZG?r#r$m(enVk5cA_a`+=tfBWo8?no1^;&Wz5UMqBNX!Y-FBXw z%lpbm(Z)KNe=aBBiUl5YVIg)+6E=fSFMj(7NYs02qLAix$Dmf)-cFKPt-uyX{ZHAO zB|z52xdJfpX~)O@AU63A*JVBT9MIfu58~BNImh~?CbpVBuYGG5grO%$GdKY~-=f*x zJx6k>^1t=sft4LVB913FMI?tJyN#WaTP|$j@r<>i2!`?2CN}0nZ*Rs;2G!xzfvXN? z{0u5QTEXo9@{Rd+fNu_dD=NU(gif7`{WGUeXz=>pv~zp2m32O8o7RZ--vA_BU5rj$8fe(W6J#+|J^*o7iu+B+Ad;SxlQHe+ua#heRbpxI17nnr^RJ zx~v>EOPZvxXKNV@Mr&(pWo4zNPh0o;03&ie`mU)w*NU#`LU(&N-9z{QuV@b_a^5V; z8tQ2~n%=gj(Mg}6d?&lV(YPy7>DO6>rq@^=1P%6!82TCyBZ+) zRqR@6HP^!Ep5&1TMtPQV)=L|ye3ph^Dlg(hzQ!$>%4avWw;OU}^iv$v)7&=dez) z>P{snKTT+?lYg4dD-`t&6e$>PN)U0c#ZBx!J|W=;Z8o;fm#6 zxT|#?-+{9BAL15Qg$Cq?zxX<%wm8qYZo~+GG&vWqzxe)rIl<~ofp1=MN}YU*EqJK? z2Q`AX7Md{{L=At$2#x*Gfxep^i};di$cY4`8HJBLcUQFKw0CDsoK$|zDd%UcP!c+X zZ_1R@8w93Rkg0K^P4n08y#&N`+Ej4*iQt`YO0?2r85e`ie}Z#iI3>gvzLJ@lnYnr{ z#bDsldnIQdn|G~IoT+A1uB(ggJlWq;Av|YSvFO9DFFf^i#ckq_$B&LZB?!Fez9Ok3 zJb8A6HW`%99+f{6ma84hGcY&zXqZroGl_Z;mF;_hQXTN24hJaFd^>k)C(?(sMZk~4 z5uSqi0Q(_AMtX+s{2uM(J6qll%iol@HD4#tu7Ow3dk`0>#q~1s-aGE(dTDjfr{A%7 zSZj<9xxNKD|5Ffl!`T;(jHHi=6%;?Z;p?yRFJa6;KVB6=`y?s3nl_f){+yPxP42N5 zghzQINLa64-Hs%oSb?C{YIh)?sN+9>&sPPp4Y5F&ZaC#~Pu5vvU)t{km7`t-ZQ7=MY1JE7s9M$IlUAt6lJ?#^*2!f*u23Y(q!LEAu=^ZiLGXMHXn6rsv|P*DQv z78|RxcgFg2ZG{^AWv+0rhSj^d7bc zKdav-mki)Fe)XdVC}iHN`0roPg{)~0uFl|_DnJ{71m2x|7(h8qWSGr;9OoIK$NbME z%J&I5B3I@cL_rIlbw;1I_)glRZe=_r#XNg{O}E{-6;CNfAq`hXudt5w2mfD(jr z#VRjj{rvrV_g@JhGkWc69(25iukL;kofI_-N`9?}j(kL11T5qDbEhnTgjzRAssr;&YQ$E#TKr~Bb|0$YUvY?*}2vBI< zR}gd;tWg_N&k{E=IqOb65Ox}mff}71ChLx$QZ?)W4V|iJ*dvi`x?-8H!STSu2zzQx z$YfhbNwBPi3@EFI4>u0*6N$T8p>L=N0fP5)s!K)9d(lB;O!mnl3P_qpG^Yg zRrmP6l-D2q6{-5n&#e!SErr=cCn@hM9Dh)23mV5aw z0%$hu(VERxLIu}^E{@KoZN=#n($lnW@i-i!3;caj_{_k6E}Z@w!uj7QoIn%YjG~VH z;)?%NvoVC{XWo>$RAtnOC8NrB@%nL0=QjBa5bn=Z%flyHvIe@;>(>rd=Jbo=&LS#O z;+a=8N*eY+HbBDyJ2ONIIr0@~dLC$gsuHwu1RDPKI5E|l6be(+ z*f|QgOAWEP;E9l1B!TU6^rM+;t4oYj?%JdwzDahU&yb*WA@s0e20m;AzKQT$gy;1R<0G^l_=b z6SaBj8qd#>E2k4#vc5xsx$^B#y^T5HQl>=6qz!mOEATIv$M95G$oRCt; z%Oo6;myjU2F$U&*BQ6^?v4MvTF4*9L4SnGC#T(kV;Tbl3!G>1^-^ez&;D4SAI`pc9 zVKDwa@V5XP{lZ2M3B8?f@WTH*FKlqZe?J%Cxcn)tUJ=;TCM@vlFPPPFJF_wq?B#y| D>rOJ# diff --git a/tests/ref_imgs/btnm_2.png b/tests/ref_imgs/btnm_2.png index b99f63ec1389ea84aab86baacc998ebf72d790e2..cadd5b325f3afa69d85a2a5bbfe1323f705ed5aa 100644 GIT binary patch literal 16771 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