From 7e89bbb2ff3e060807beaef200d9173befeba528 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Wed, 15 Jun 2022 12:14:21 +0200 Subject: [PATCH] UI: Implement icons for the curve sculpt tools brushes I'm using the tool icons for the brush themselves. Note: This includes a few brushes that are only defined in D15134. Those are simply the icons rendered with a world background of #282828. --- .../brushicons/curves_sculpt_add.png | Bin 0 -> 2697 bytes .../brushicons/curves_sculpt_comb.png | Bin 0 -> 4508 bytes .../brushicons/curves_sculpt_cut.png | Bin 0 -> 3212 bytes .../brushicons/curves_sculpt_delete.png | Bin 0 -> 2297 bytes .../brushicons/curves_sculpt_density.png | Bin 0 -> 2411 bytes .../brushicons/curves_sculpt_grow_shrink.png | Bin 0 -> 3461 bytes .../brushicons/curves_sculpt_pinch.png | Bin 0 -> 3836 bytes .../brushicons/curves_sculpt_puff.png | Bin 0 -> 2393 bytes .../brushicons/curves_sculpt_slide.png | Bin 0 -> 2872 bytes .../brushicons/curves_sculpt_smooth.png | Bin 0 -> 3006 bytes .../brushicons/curves_sculpt_snake_hook.png | Bin 0 -> 2944 bytes release/datafiles/brushicons/paint_select.png | Bin 0 -> 2660 bytes .../blender/editors/datafiles/CMakeLists.txt | 14 +++++++ source/blender/editors/include/ED_datafiles.h | 38 ++++++++++++++++++ source/blender/editors/include/UI_icons.h | 14 +++++++ .../editors/interface/interface_icons.c | 14 +++++++ source/blender/makesrna/intern/rna_brush.c | 14 ++++--- 17 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 release/datafiles/brushicons/curves_sculpt_add.png create mode 100644 release/datafiles/brushicons/curves_sculpt_comb.png create mode 100644 release/datafiles/brushicons/curves_sculpt_cut.png create mode 100644 release/datafiles/brushicons/curves_sculpt_delete.png create mode 100644 release/datafiles/brushicons/curves_sculpt_density.png create mode 100644 release/datafiles/brushicons/curves_sculpt_grow_shrink.png create mode 100644 release/datafiles/brushicons/curves_sculpt_pinch.png create mode 100644 release/datafiles/brushicons/curves_sculpt_puff.png create mode 100644 release/datafiles/brushicons/curves_sculpt_slide.png create mode 100644 release/datafiles/brushicons/curves_sculpt_smooth.png create mode 100644 release/datafiles/brushicons/curves_sculpt_snake_hook.png create mode 100644 release/datafiles/brushicons/paint_select.png diff --git a/release/datafiles/brushicons/curves_sculpt_add.png b/release/datafiles/brushicons/curves_sculpt_add.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b81b73919ffccff071ee8639a86fc8d86f0dc4 GIT binary patch literal 2697 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 xb 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 literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_cut.png b/release/datafiles/brushicons/curves_sculpt_cut.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9e116fcd1f32c2a59d989fdbaadd1567297b01 GIT binary patch literal 3212 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 literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_delete.png b/release/datafiles/brushicons/curves_sculpt_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..361b8e335a55869ead3b1c8a8c65362e243609e8 GIT binary patch literal 2297 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 literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_grow_shrink.png b/release/datafiles/brushicons/curves_sculpt_grow_shrink.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a76c6d6e48aa9ee9f06a90cd115f4ff2ddaa3b GIT binary patch literal 3461 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 J8Z)1({{!fOOjZB@ literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_slide.png b/release/datafiles/brushicons/curves_sculpt_slide.png new file mode 100644 index 0000000000000000000000000000000000000000..7627cf76791a3775edb1dffeec9d79817923a5bb GIT binary patch literal 2872 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 literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_smooth.png b/release/datafiles/brushicons/curves_sculpt_smooth.png new file mode 100644 index 0000000000000000000000000000000000000000..7c7fd8fef4ae7e179c9dfedab9fec83ddc555b64 GIT binary patch literal 3006 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 HYj^(*WYd^0 literal 0 HcmV?d00001 diff --git a/release/datafiles/brushicons/curves_sculpt_snake_hook.png b/release/datafiles/brushicons/curves_sculpt_snake_hook.png new file mode 100644 index 0000000000000000000000000000000000000000..468abe66c08fdf414fee09c4d7b77555db8f6ef8 GIT binary patch literal 2944 zcmbVOX*AS*8~zWPY-31~NoHtlkzq{seHS5y$d-KxV_!mKC;K|co-A1&%jB7|M5Tse zNDIoA-56_>^`-a2`~5xVci-1J*L9!kzCZoWm1tz34Pk^a0ssKf)zL6M!MmqLPjk{e z_oi?sz~HT8;RgUr?570+3LalPAr<{K&Hc69Je&ZOE6&pi<>>6>;pXL!L;3kSpzJ-I zyd0f;Q66sgC|@T(T!62GlOM{>0q14w;)L@Q`>W>}n37M7E}j}`*!epFXmKvJk;6#HNuu{Ef90Iau%6Cf-8`KDadElRCn<*(f2ln#b9&w1LwxN{MOk!W!ST=u z2{|RzPdHyY;J@H{ytZ^AFr5k}4o+T9z~4T{Yn^*Sv!Bw&e~^s7t{dfnh``?r+~R4 zG4!tQwW66-V00MA3RN%yLId+vQ$OzF7tA8%h}?E=8Et525XwtvYi-rAur0o~vb>xM zSAMWaE(=)sl9HO*8L}nN`grmw^v-@)*Yfi6pREPBLhwIC;wXS&dbqK%p)XMJltaww z;@roNZ8fTc#ft1LJzRvgw!t3M`!pPTDTzdq528+$T{wSnER$a^>eXic?uxbq_wsk5 zU&z2lutHwHV%YEX7JoLaG`KPk3})}LQ(aTz=II%JxEGLc*a=fv`PyjPasN6rS3Z($ z(LA@Ze6vz7ul)7)&g%H>MjPQs`=)Q3bN%Y2uQM9~R&Q>lu;BfjRRV#KFi>LcKmWDP zVr!~9dTU`YK6JkMQh%GrD9twa(8vgK>mj%$hN%_Jy%lwaDfP1abC<#5-rimfzKr

sl@?jn^G4o~nT##{Z5SBEXlZE&OO)4ESI;zSKH{jqLtu=rt+sO8 zrT$3cQRH)emS1|DsqPm;$=$_8fe497~$R+UA(|Ry=5EL_4QQ=OtWCs z_JpK}SzS6Ns!p!RAaslKNiGe7IVRbHlvH{ibVid@*#6+~endo90n&|TMghE50`w7= zjqJH(Gk%PQG!jhoK&<&qH-^axRfZ)=tKa6lQ-{zS8m@4b3DQrA7LQT%hE=uaV&@F! z*#tq|b+ds?LEVhGV_h0nBC}8_y{{$Ih=SbI*9|kWDER!CWb)7-3rS~S%&FJm_dHogv4m}kfr6-r90djF)y&|ltO zs|s2j<5$h1@^RHf5OOL$Ba8)#maTYjH&PDv+df3>ZSI&V3qLh|{jg+&{dR*D15zl> zy7s0~F5Y@wG#`n$Yg=2|y>hFDyvyoNRt<(U7l_ysNVCiHz3}m@cZ@-n)yR=gw4C6v zMQXMU`Yt9xpgoHh2j+%y%ODKT{33?^@hz>&Y_mf`lK7Rc8McmKj@(vs^xO|{T??zJ zXJtb+k-WKq%y#l=wTBEs#-lwH?dY+wF)Wn+!N|hV;eOfAymKf86*IJ#>7b}~&T+vt(kp3tgJ5`XL-odC#tjZHE=81QP=+30chuT<7e#1hI>Yyo zzC&LSB?*g#b6RYGyUsx3U~7e=JeN?L_3l@xW>7verWAqMTIZ6q7q&OH zfsLpm{2d=X5WlP1RB%INo{`me>iIpn+r6+_t>dG6R8m!D-!Xh6fze=;lY}X9lMa38 za`NHK^w&6x*|abAQfz_gWFY-zB8h6I5I3Is*(~+o=T}Nf{zR;iBDgwjgb^z!?e*Q; z;b}p)sjwarsuEtVEw*pLreD|FxQea6=XOB6^5->rznjOQ9eQZtgdUUM;!`;XABiVZ zr~4II03rt$DwJCg;rJ}gGnu=$bzhJqtA1=`vpG~#N>~hZDb3~tne&wudAuUp zW#^{@K8|%`jbPzF-s1t2ZSLxq_+M5-gPww>?9duPa$npdK4@0A(`Xf>;x z!>;3({Kcf@@lXr)HdUdrH%aE5Q7KYjBuDxNz`uH!_}usb(Kq3@{t#8vul3{ zCl)X;u?A@6@PytfosI36_(_WIT|-FTvjXLuZRq^>+uu7#FnBVM(oU(r$40e3?>Apqr#| zO@{lvET52}d89`Gm;-Y?*I<{qLU<~36}DX?YG6^>0cF^wc%pZVIWUi?#W}&epz;Ac zY;g9z_HbjIz*@)00O-wMVcQO>21XP~#yJ(b6`??X_tW32%$h6;Qp|%4zSugZ6 z9jJ^5`7|lbF%s3z-`lCfl4IEI_`bN~4@k$R!=!FVVS65`4Pjs{=HGv3+2MUw{`NJS zc06Z{d+`9cc>c#SP)s`e%ivEWk>d`A&6`_K2w5FS%(jmNl zL_p(%z)BYWXd>t z#pCI48N;5DZJB&L$~Qybr$}yx5dow?99VaK$4_J;kD(Of{)nf)j|LISqyLkSy!)aZ z#V&GXJR95z_dZuag(aGwst+NFET`_{bK}Wz5$s$XA*r*q3}^PPtu6Rt9&? zf)C}5Zx324ei9L);H7NQpT|^f7ZfD@`$bc1A&N7yN7pvW)XC1C|6iBID<`RHky+($ jrfMGgem$}fqr43J{L$~A)0^m0-Wmrr;y}9AxmNu z34qo@qfuJ=C~ZB2HpWO-$4FN@?emTwCr9WYhY%P-0%&O&9UL7av=-gwBj#YbKZ8(+ z2cjW5vv_}y0|gJ@2@azW0sj{Q_Sr0sz<(g%{YarCz#sob&O4ujMGvscpP~Q1ji$D~ zlVgt_r-h20C6*8eTq)Vbi=Gzi%AH!C2P!5Zge=9d1D>iCu4EbYXeY?bPsoK5mP7Tc z*s52XGm8%UT!|4z|K3mtvWX`U2*biO3oER-tO{?cNjH5aYDK?6vE}V5(!eOYn(n87Q{_*QO`S}tuzi7yIT4;qv1V~H>3sXk$Wtb-oI2_9W$qONL@w^pDP%yNQ zKvhP7fEGG=|5I*A9%!2`epp+pPad27wv9w02}Qg65GOCMkE>I3gRp6`{@tn2&5?(v zecIw{N(T3VLbUl=M#{>{ih1WV^?Pe3Gn11JK;{>&0GNzXW5mDKz$^rMFhI-`c}G0q zi65^BcXe~Ky9JR%`toDx!)^PE1xw;Wx)12|%f0y;nN$Tt($; zOpL|jo}Ql3A;!l1!UEhZUJ?pcJee2U(htZhC`f@VuX{F$jIuX(;ii{pqp~+I)G3*3 z87=ge29wDSsu*_%MG;2-kL7WliygNcKePfHW7*Snb(&iCR*>G5sg_u_ta{YY{ho(s z;7PtWjg5@R`qG^=0olV65}}jL+B!N4hb(K)dO`>;E|kyRIl9(1?u8$gR@iJf9PZeJ z8~;(v1I~^AzBp)l`Dggi0{^RH^}eybcSj~#M7oAF5ruc(S37pj*!e}(i%9y%nR0IM z9k+~$Pi0b2aPU7RhVKUkZk53#wDk0@HWR!%A4T(06XU-Q*X-=A9+85`)ZBC1a;XYZVh4cF(2$?-$kJK;7|<} zk^8@|h^It_^6*9#P*j;>WICUHXXxNK~EAtFm;A8VjtL zX9xy|bV$IwQW{|pDp0i{-e=ei2>6b0>+Z&%h(`YqL1%}Sr zG+>U>)p8Y8RkWmlmO45>Em}6Sh;FMTQGyaU>nw&u#Yv{fSo%#uUTY|s? z&S6MH_lm0Dp1)m4tQ>^)QI)YVx410x`OCD$jusSpD2rX%`Oazz{-A3G5yj(~o?c#a zQ|&w{R<-SXAXhw|%SEdlmd@pw_HJ%t1MSN=Jt`%m2TaDLIg5|Ykzjj%P+Ny*NBR_qC!@c21*!T3L^{{iVcm)jUu~GU#aOyL^}% ze{ktn=*e<-MVZsWi0=NjE4xFl4&#heRm(}?@h(k4)o0BRB`TQk*(9<`djwZO?|m7e z8h`mNXEEHF_S4pKBaxXuGW6Rs;=CAP-BLm^@U5Quo(Z(eDri4El(O-Ah4_Va__dy!1o$Df%HL*rV~j?x!`K^0BUj!!ICh zQ!9JVrX%n5zb78blNuvl*gGUb*gg+|o{&eHKLagUw(}~Kw$u^vHnz!eGKT&~@K3av zu#r^M@>;AxtFiu*;lgp7NchdtAG+Y@uFZz}9Z#L_8g{b;5BWRDn;r2x7V{Rzd|hU{ z$;fW!r8d2B7H_vd!S_aT93F+0a82_c@j6!;&CsVmdGmE)y#6e_;3!?sy}zhb&a|hK zKmKu(qSSltj(0ciCTe$G|3)}Fptg@{4VMy7fzbrj)YODcp|ud~3CuMUo{E@zuWhEa zt5+w&9UJJQ^Q58&^%K5h^@}>*(hWaPMOL(^EPNVvtGx8o+E8kaR}~;q4a#cpd>k$# zcj}fD4UNFq|D^Cg+$G-J{MKrP4RUkK64mS-c*$BXtHS#2r^Mg{@}}(6YVFgV8)=wg^FrzU-ih7nl^1r? z@V?w5`S0v0HH)XIMQf%nyeF9nE-R|~JZ%qr63n^|VSeW-AZ+&v3%C4B0!V7tEu35k zpuW_G#ko6QHjkY6B$zqH@8SlA>iqUA+P+x-neJBA*VZWI|7-5%abs%bb-IaFyon~2 zKmBHMruI%;3p?a(US{(>Mq3he)nh}Nr%Ep!X%<+DlQ|B(O?hP2yy#bk5$J$jDOcI* ztGhTz7v&Lc^Xbd`H5?`$EObIWeK>aQ^@5tZavp*hXP&eCz4zfI$0U^gn-QC>*XMSe z?(o_a#%ju%b7uz>dyk|(-i|FEN*nFlK6OseTQ~u_eGWS=9XpWd^i#8?FnE zw1(%Eqd~*Y+K(UGGq=Uwn7T#)TN1>$EfEetXLB$p)n64WCX@^)FR~ZnK=Xhq5lf&j iRH(QH{9onY(y@Q#eEX*uU&Z-T0qm@BmUR}s)c*i<0jY!l literal 0 HcmV?d00001 diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index a7abaab88ff..9da2c4819a3 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -933,6 +933,7 @@ if(WITH_BLENDER) data_to_c_simple(../../../../release/datafiles/brushicons/mask.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/mix.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/nudge.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/paint_select.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/pinch.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/scrape.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/smear.png SRC) @@ -970,6 +971,19 @@ if(WITH_BLENDER) data_to_c_simple(../../../../release/datafiles/brushicons/gp_brush_erase_hard.png SRC) data_to_c_simple(../../../../release/datafiles/brushicons/gp_brush_erase_stroke.png SRC) + # curve sculpt + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_add.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_comb.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_cut.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_delete.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_density.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_grow_shrink.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_pinch.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_puff.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_slide.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_smooth.png SRC) + data_to_c_simple(../../../../release/datafiles/brushicons/curves_sculpt_snake_hook.png SRC) + endif() data_to_c_simple(../../../../release/datafiles/startup.blend SRC) diff --git a/source/blender/editors/include/ED_datafiles.h b/source/blender/editors/include/ED_datafiles.h index c3a66e4a7dd..e3b091430e8 100644 --- a/source/blender/editors/include/ED_datafiles.h +++ b/source/blender/editors/include/ED_datafiles.h @@ -103,6 +103,9 @@ extern const char datatoc_multiply_png[]; extern int datatoc_nudge_png_size; extern const char datatoc_nudge_png[]; +extern int datatoc_paint_select_png_size; +extern const char datatoc_paint_select_png[]; + extern int datatoc_pinch_png_size; extern const char datatoc_pinch_png[]; @@ -284,6 +287,41 @@ extern const char datatoc_gp_brush_erase_hard_png[]; extern int datatoc_gp_brush_erase_stroke_png_size; extern const char datatoc_gp_brush_erase_stroke_png[]; +/* curves sculpt brushes files */ + +extern int datatoc_curves_sculpt_add_png_size; +extern const char datatoc_curves_sculpt_add_png[]; + +extern int datatoc_curves_sculpt_comb_png_size; +extern const char datatoc_curves_sculpt_comb_png[]; + +extern int datatoc_curves_sculpt_cut_png_size; +extern const char datatoc_curves_sculpt_cut_png[]; + +extern int datatoc_curves_sculpt_delete_png_size; +extern const char datatoc_curves_sculpt_delete_png[]; + +extern int datatoc_curves_sculpt_density_png_size; +extern const char datatoc_curves_sculpt_density_png[]; + +extern int datatoc_curves_sculpt_grow_shrink_png_size; +extern const char datatoc_curves_sculpt_grow_shrink_png[]; + +extern int datatoc_curves_sculpt_pinch_png_size; +extern const char datatoc_curves_sculpt_pinch_png[]; + +extern int datatoc_curves_sculpt_puff_png_size; +extern const char datatoc_curves_sculpt_puff_png[]; + +extern int datatoc_curves_sculpt_slide_png_size; +extern const char datatoc_curves_sculpt_slide_png[]; + +extern int datatoc_curves_sculpt_smooth_png_size; +extern const char datatoc_curves_sculpt_smooth_png[]; + +extern int datatoc_curves_sculpt_snake_hook_png_size; +extern const char datatoc_curves_sculpt_snake_hook_png[]; + #ifdef __cplusplus } #endif diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h index d650f4215b9..f1c0acf43f7 100644 --- a/source/blender/editors/include/UI_icons.h +++ b/source/blender/editors/include/UI_icons.h @@ -891,6 +891,7 @@ DEF_ICON_COLOR(BRUSH_LAYER) DEF_ICON_COLOR(BRUSH_MASK) DEF_ICON_COLOR(BRUSH_MIX) DEF_ICON_COLOR(BRUSH_NUDGE) +DEF_ICON_COLOR(BRUSH_PAINT_SELECT) DEF_ICON_COLOR(BRUSH_PINCH) DEF_ICON_COLOR(BRUSH_SCRAPE) DEF_ICON_COLOR(BRUSH_SCULPT_DRAW) @@ -928,6 +929,19 @@ DEF_ICON_COLOR(GPBRUSH_ERASE_SOFT) DEF_ICON_COLOR(GPBRUSH_ERASE_HARD) DEF_ICON_COLOR(GPBRUSH_ERASE_STROKE) +/* Curves sculpt. */ +DEF_ICON_COLOR(BRUSH_CURVES_ADD) +DEF_ICON_COLOR(BRUSH_CURVES_COMB) +DEF_ICON_COLOR(BRUSH_CURVES_CUT) +DEF_ICON_COLOR(BRUSH_CURVES_DELETE) +DEF_ICON_COLOR(BRUSH_CURVES_DENSITY) +DEF_ICON_COLOR(BRUSH_CURVES_GROW_SHRINK) +DEF_ICON_COLOR(BRUSH_CURVES_PINCH) +DEF_ICON_COLOR(BRUSH_CURVES_PUFF) +DEF_ICON_COLOR(BRUSH_CURVES_SLIDE) +DEF_ICON_COLOR(BRUSH_CURVES_SMOOTH) +DEF_ICON_COLOR(BRUSH_CURVES_SNAKE_HOOK) + /* Vector icons. */ DEF_ICON_VECTOR(KEYTYPE_KEYFRAME_VEC) DEF_ICON_VECTOR(KEYTYPE_BREAKDOWN_VEC) diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index ca4021a9be8..c19e842aad8 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -546,6 +546,7 @@ static void init_brush_icons(void) INIT_BRUSH_ICON(ICON_BRUSH_MASK, mask); INIT_BRUSH_ICON(ICON_BRUSH_MIX, mix); INIT_BRUSH_ICON(ICON_BRUSH_NUDGE, nudge); + INIT_BRUSH_ICON(ICON_BRUSH_PAINT_SELECT, paint_select); INIT_BRUSH_ICON(ICON_BRUSH_PINCH, pinch); INIT_BRUSH_ICON(ICON_BRUSH_SCRAPE, scrape); INIT_BRUSH_ICON(ICON_BRUSH_SMEAR, smear); @@ -584,6 +585,19 @@ static void init_brush_icons(void) INIT_BRUSH_ICON(ICON_GPBRUSH_ERASE_HARD, gp_brush_erase_hard); INIT_BRUSH_ICON(ICON_GPBRUSH_ERASE_STROKE, gp_brush_erase_stroke); + /* Curves sculpt. */ + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_ADD, curves_sculpt_add); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_COMB, curves_sculpt_comb); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_CUT, curves_sculpt_cut); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_DELETE, curves_sculpt_delete); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_DENSITY, curves_sculpt_density); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_GROW_SHRINK, curves_sculpt_grow_shrink); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_PINCH, curves_sculpt_pinch); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_PUFF, curves_sculpt_puff); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_SLIDE, curves_sculpt_slide); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_SMOOTH, curves_sculpt_smooth); + INIT_BRUSH_ICON(ICON_BRUSH_CURVES_SNAKE_HOOK, curves_sculpt_snake_hook); + # undef INIT_BRUSH_ICON } diff --git a/source/blender/makesrna/intern/rna_brush.c b/source/blender/makesrna/intern/rna_brush.c index 46b009191ca..423cb084f27 100644 --- a/source/blender/makesrna/intern/rna_brush.c +++ b/source/blender/makesrna/intern/rna_brush.c @@ -243,15 +243,17 @@ const EnumPropertyItem rna_enum_brush_gpencil_weight_types_items[] = { {0, NULL, 0, NULL, NULL}, }; +/* clang-format off */ const EnumPropertyItem rna_enum_brush_curves_sculpt_tool_items[] = { - {CURVES_SCULPT_TOOL_COMB, "COMB", ICON_NONE, "Comb Curves", ""}, - {CURVES_SCULPT_TOOL_DELETE, "DELETE", ICON_NONE, "Delete Curves", ""}, - {CURVES_SCULPT_TOOL_SNAKE_HOOK, "SNAKE_HOOK", ICON_NONE, "Curves Snake Hook", ""}, - {CURVES_SCULPT_TOOL_ADD, "ADD", ICON_NONE, "Add Curves", ""}, - {CURVES_SCULPT_TOOL_GROW_SHRINK, "GROW_SHRINK", ICON_NONE, "Grow / Shrink Curves", ""}, - {CURVES_SCULPT_TOOL_SELECTION_PAINT, "SELECTION_PAINT", ICON_NONE, "Paint Selection", ""}, + {CURVES_SCULPT_TOOL_COMB, "COMB", ICON_BRUSH_CURVES_COMB, "Comb Curves", ""}, + {CURVES_SCULPT_TOOL_DELETE, "DELETE", ICON_BRUSH_CURVES_DELETE, "Delete Curves", ""}, + {CURVES_SCULPT_TOOL_SNAKE_HOOK, "SNAKE_HOOK", ICON_BRUSH_CURVES_SNAKE_HOOK, "Curves Snake Hook", ""}, + {CURVES_SCULPT_TOOL_ADD, "ADD", ICON_BRUSH_CURVES_ADD, "Add Curves", ""}, + {CURVES_SCULPT_TOOL_GROW_SHRINK, "GROW_SHRINK", ICON_BRUSH_CURVES_GROW_SHRINK, "Grow / Shrink Curves", ""}, + {CURVES_SCULPT_TOOL_SELECTION_PAINT, "SELECTION_PAINT", ICON_BRUSH_PAINT_SELECT, "Paint Selection", ""}, {0, NULL, 0, NULL, NULL}, }; +/* clang-format om */ #ifndef RNA_RUNTIME static EnumPropertyItem rna_enum_gpencil_brush_eraser_modes_items[] = {