From 4101d3e4003a6745fec11cdc86ca0f721bd7cf7e Mon Sep 17 00:00:00 2001 From: Harley Acheson Date: Mon, 30 Sep 2019 16:38:40 -0700 Subject: [PATCH] UI: Changes to Paint Cursors Changes to cursors that can be used for painting and sculpting. Differential Revision: https://developer.blender.org/D5951 Reviewed by Brecht Van Lommel --- release/windows/icons/cursors/crossa.cur | Bin 30894 -> 30894 bytes release/windows/icons/cursors/crossb.cur | Bin 30894 -> 30894 bytes .../editors/sculpt_paint/paint_cursor.c | 2 +- source/blender/makesrna/intern/rna_wm_api.c | 5 +- .../blender/windowmanager/intern/wm_cursors.c | 132 +++++++++--------- source/blender/windowmanager/wm_cursors.h | 4 +- 6 files changed, 72 insertions(+), 71 deletions(-) diff --git a/release/windows/icons/cursors/crossa.cur b/release/windows/icons/cursors/crossa.cur index f6f11f32b284faef66bd8afc645fbc4b0b61c805..7a2bfa7f406d15d88e3f1fe48cc59282f0a846d9 100644 GIT binary patch literal 30894 zcmeHQy>8nu5WX}(19WJ*bZUnz1u|x8G8Bc;C+TB!OQw#=VS~q3%lx#aIE%zDMN-xwr&9#BDwSPbMqm{`j18<*1x`%b9Z-lLE|5K z{X3mb(D-ZUhFt&9$FKT&4q9#!0*GU~4vS>o9Br87gUr&ZWoFAM^Br?Y*X?%wvuZr+ z#&c`%#l?mBgEU$4k5N>KG+FXxVt!<0nOst4wwyBGSH-F+_?PjKX^2482;jQm{bSXr zmM_n>+imM#%jarNN_TsE%lg;X9=w074|`a4ynn2<0U9xW&G!;%FeJ0##>nZRRz>So zl`Qa2K785mJ76=i5QnPjlazyfS}o-xW!tAE`dc#+5g-CYfCvx)B0vO)01+SpM1Tko z0U|&IhyW2F0z_a%1fFX?tUuo*jAQ6xp%Zn~p8c7GE*AQ&j{5z-sXf5Z#X`Q#v41$V zhZwq8i2iH*v;7(WF<<}K|DM_dA6@?!vHyPj$NrDh9*~&E|Jdh$vCscwndi|@B0vO) zKo)_wsyJ2tnJ|vuC^wlfW?|g+a~GBV9yUkfJkk}dXTeXbdu8)OSA;=Tw$;SSgf+Ts zofmya`aD8gyZ!xr*X#8>;}|++oXexCZ0D6-R_A|{b#-;+-&u_J7USK)S-!lyG+*+5 z^95UodGGgpkEip;&?V654nm9n zs`?=G{Wr>XotT8K$^G9WE|sN8LmdB>I>iJ;fCvx)BCr$zjHQ@QV9W#KxafXCPyKfk z`}(K9hr~N0z}mXtnAX3&&v;h`IPo7c7NY+e^Rc%-)(}$v|0ufnr~hpKNaNp+|5!@| z>!1gYY5b3U{ukW*-`1*|D}Nl$>-N;LECTa-$X55GZ0j2yN=oOf{*SZsFQ4VFR{jCr CA->80 literal 30894 zcmeI3L2eT<6owzI1Y$!G7ih9T>aq*Oy6PR+H40Zi2)YYdAjAs9EqaeioS>`{r5pgN zsDd5A{J%SnMp0&(3FAzr{$KR!spr|x{`~CmxT)EW?OLZ}_7I=5$7avX?C{X+5k6;6 z%_hh@Ix>5L&%v?T2N)c{21N|ncF$j#4Phq{0TB=Z5fFiv5crCAIw;d7#9dxq(m%Bc zaTGX~|0d{zd(-?Ij=$LRFVr7mJfAMk`6{-nMvI$FCVq_bKbW^<&Q-Bp)qj;fRk2;w z|7~``C(|ZG>n{Qm;HgcBpB8YOtpB^b{^r-bm9O_$263;Xb^-|xHe zcpUohrcO8;sLKt9LmZUM&+djB@L8t|wZBf9)$0=f>dfjaA^vsJtX@~!*Z*yM{)YX` zdkn?L0_8pKd1xE#^ZOs}gWf`m$}^w$W9*mmJj0%#D5dS9uua?t6_v^7$Jj4j_j)}y zo6Y>5VA&7eqYc`4z1VpC{+ewcjYi9g&hvPmc9}hr+T^0!?Yh&`(^91kJYFpE%D8eT zCnu%ld7pMr+Se)1P#N15>Mu%ZL)%5+d|+Jth8C4&KJU|x_DxFY@3yq3DvNKOPRGX! z3X*Hx@ldrrRqg){1_M9ev-S_FR?x7$_CL)IfcT65{}5<<{Iq@jZ2R+TtM(5!8(eGz zylhcAWrNV3>ANT?{%dQ`pCInpgR(T1|4=W#r*#A!Lc{m8>=?gDL_h>YKmYKmYKmo=%u7W+qoa%8FJoRR@)I3( z=jZ2Mc@1S=D&ohUe^sWS(?Qk$Gze(?5%WP5|C;|<45Tspv-Mu_e?vg?U-Lh)`Jej! zH}&_Qw!ic_hIvDT?r^{(5`SmoGH zj`dZhyk=f1lKTE9_5H7Z7KUdgf<8POQ;C1|A7dUw&xbDowZq}1#QnNos&#R`+HPg=E_a75XtiAvM diff --git a/release/windows/icons/cursors/crossb.cur b/release/windows/icons/cursors/crossb.cur index 39c0b3fba028dfae141b88abf81d322bd37f04c0..78bb1a3574bbb477213f941633bcb38ccac04cae 100644 GIT binary patch literal 30894 zcmeI(F;2rk5QX6fbQC~C1w|U9l&P>gEKb5rl8TmNkYmtrQbKmQlZM*-v^|L(!2q1s}0tg_0z%K-vONsm=xcxPpUHdwB$*%u% z`%fNmomS;sIJ@h#Kk#UFt`z+V7MCk3h?rAd?~Qj|y+rArZ| zL=-8YL2wbe6cJqnN)XbeaDkY7-yCnX_U#z2J>%Vl_k538W@p~}zHi5~JA>sj=837B zxjAFr!|VA6#(Zv!Sy(XUeY~E3WXxZvYqyR05U;0e#(aSWPtgWl4604d9U0R>J2h26 z6;K6K0af5mf!|SD_%ZygySh9D`>-!#Fjii(r>Cd3-EOo0OL!g(Z2OXZ83V`kymq{@ zvSKeTF6`RcS{@88_ww>`x-WIeYfsSOk3I~4qHd55u1{a?`}z#Rl?OxU+=6Qu46$+x z26s*Su7!-rtm`f3q<@Ig<>8pVyu7qaOG_M+-_Uu?x)I+id9XPQi;IhPettg5&tujh zPz>Jv_=w?aIJxt>(|OD~o{Mco<}Xrzm%E_x=W_SWYckf{InR4D#8?<+ZgFk;FpM+r z3hrTY_p}X&Ay4iY7>+&HTXOlztno0){kQ1nk3yfnY))&~hMl@?*!oSw*18Sbxo+A0 zja7SYw(YgCwp+9IrvBP_%sQT98@6R1_GJvdxKFVF-+(9k6xh>HQw3B3RX`O`1yli5 zKow90Q~^~$6(~%B&ye{A{6F|taIU{Y8)Gsyb1)ZkhO!rPb8~imeVzN4^q=4%IWQJu zx*W`fV{!;(uQoO|+-iMqZ!a{51UqBXmeQ{C~xYdX3Q-jv9yfL@)^3b{QJA! zQtI#8Nk54raV3xB6&!*~a0+hWf$R>y@Zn>3aA3AfGVI0 zr~;~hDxeCe0;+&2pbDr0s(>n>3aA3Az++J09gy6E{{z2*e+i$0PuiH1xru>Th>6%@ z8}r~VHa-3;exIZU%*CAjIEXE_QEPi}a9|G)5ADp%j9{3Q1_^iOCI(_5COEOhwttbp z9vvOw?{(IFx5NZB=;6-q#G(-kF~Nx~w(&h@r>Cdw$;pY!e|C0eo6V+Rh&2up?)|xE zXJ;ihvBfqoj))p~bEde*(mhL0&a=P32aSW@aQ@w_&N=J6xl-Ii<;nxiiz_t_#>M5$ zQ80JW$%`+52Hw~u;T}_is&J2?LDjg2)S#-|LugQS?xKPBUY(i~`|s7>KB>8`zmMcA zW9j9S(jfh;mibIsQSNd*5)HUMxaV2D$TfxFjZyY!Fkr1#^qMjTcZr#3fC^csuuQMj z%dn>)cw>~*fba1uc-CGG=YDFyb8N%5?4za%JOl+E^Z0+v^IyXKp1sP4c>n9+{>Ywx z67ECpRq}o}XfN$SJo^uLp7-jNS}#;VgK^fd-o7af#@$bhc`x@OxvFTmvue z9NgvFcw?1R125hYxK~Ys7~HF(K}_yt*I*Ld%c_C*UY&ZshrU;PbEf9R&^bl_{xb7f zEh2ZxKa2*%7Tb#4t4uT)Vox=e4n?okdNdfYry7fY8TKj@4M5Vjry7et=l(M6RZ;`K z->=|Vd#b1oZ|(y>75>3*UD${7TNpZU_pJ;px9zPvUbQ!_Y}qc$PQzZa?f#TKXJ7ol zA^zW+8c$g^GA)!hX3MOiyfw@G!UqIwvO5Aa*&P9z?2Z6Uc1M6FyCXoeg`aO)x7l)) o(oXtG9Ep3ENAd~|!6i5ax9|{N0PlDL{A=E#1Co<~=p?%R59LBgi2wiq diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c index 411710635d6..82975b2b0fb 100644 --- a/source/blender/editors/sculpt_paint/paint_cursor.c +++ b/source/blender/editors/sculpt_paint/paint_cursor.c @@ -1363,7 +1363,7 @@ static void paint_draw_cursor(bContext *C, int x, int y, void *UNUSED(unused)) } /* Use special paint crosshair cursor in all paint modes*/ wmWindow *win = CTX_wm_window(C); - WM_cursor_set(win, WM_CURSOR_CROSSA); + WM_cursor_set(win, WM_CURSOR_PAINT); if ((mode == PAINT_MODE_SCULPT) && ss && !is_multires && !(brush->falloff_shape & BRUSH_AIRBRUSH)) { diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c index 1457f0e45e7..886258ee45f 100644 --- a/source/blender/makesrna/intern/rna_wm_api.c +++ b/source/blender/makesrna/intern/rna_wm_api.c @@ -41,7 +41,7 @@ #include "rna_internal.h" /* own include */ -/* confusingm 2 enums mixed up here */ +/* confusing 2 enums mixed up here */ const EnumPropertyItem rna_enum_window_cursor_items[] = { {WM_CURSOR_DEFAULT, "DEFAULT", 0, "Default", ""}, {WM_CURSOR_NONE, "NONE", 0, "None", ""}, @@ -54,7 +54,8 @@ const EnumPropertyItem rna_enum_window_cursor_items[] = { {WM_CURSOR_KNIFE, "KNIFE", 0, "Knife", ""}, {WM_CURSOR_TEXT_EDIT, "TEXT", 0, "Text", ""}, {WM_CURSOR_PAINT_BRUSH, "PAINT_BRUSH", 0, "Paint Brush", ""}, - {WM_CURSOR_CROSSA, "PAINT_CROSS", 0, "Paint Cross", ""}, + {WM_CURSOR_PAINT, "PAINT_CROSS", 0, "Paint Cross", ""}, + {WM_CURSOR_DOT, "DOT", 0, "Dot Cursor", ""}, {WM_CURSOR_ERASER, "ERASER", 0, "Eraser", ""}, {WM_CURSOR_HAND, "HAND", 0, "Hand", ""}, {WM_CURSOR_EW_SCROLL, "SCROLL_X", 0, "Scroll-X", ""}, diff --git a/source/blender/windowmanager/intern/wm_cursors.c b/source/blender/windowmanager/intern/wm_cursors.c index 96353fc472a..4b1abeceebb 100644 --- a/source/blender/windowmanager/intern/wm_cursors.c +++ b/source/blender/windowmanager/intern/wm_cursors.c @@ -107,9 +107,9 @@ static GHOST_TStandardCursor convert_to_ghost_standard_cursor(WMCursorType curs) return GHOST_kStandardCursorUpArrow; case WM_CURSOR_S_ARROW: return GHOST_kStandardCursorDownArrow; - case WM_CURSOR_CROSSA: + case WM_CURSOR_PAINT: return GHOST_kStandardCursorCrosshairA; - case WM_CURSOR_CROSSB: + case WM_CURSOR_DOT: return GHOST_kStandardCursorCrosshairB; case WM_CURSOR_CROSSC: return GHOST_kStandardCursorCrosshairC; @@ -752,54 +752,54 @@ void wm_init_cursor_data(void) BlenderCursor[WM_CURSOR_CROSS] = &CrossCursor; END_CURSOR_BLOCK; - /****************** Crosshair Cursor A ************************/ + /****************** Painting Cursor ************************/ BEGIN_CURSOR_BLOCK; - static char crossa_sbm[] = { - 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, - 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + static char paint_sbm[] = { + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, }; - static char crossa_smsk[] = { - 0x80, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x80, - 0x00, 0x1e, 0x3c, 0x3f, 0x7e, 0x1e, 0x3c, 0x80, 0x00, 0xc0, 0x01, - 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, + static char paint_smsk[] = { + 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x8f, 0x78, 0xcf, 0x79, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, }; - static char crossa_lbm[] = { + static char paint_lbm[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, - 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, - 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfe, 0x0f, 0xf0, 0x7f, 0xfe, 0x0f, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, - 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0x80, 0x01, 0x7f, 0xfe, 0x80, 0x01, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static char crossa_lmsk[] = { + static char paint_lmsk[] = { 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, - 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, - 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xf0, 0x7f, - 0xff, 0x1f, 0xf8, 0xff, 0xff, 0x1f, 0xf8, 0xff, 0xfe, 0x0f, 0xf0, 0x7f, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, - 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x01, 0x7f, + 0xff, 0xc1, 0x83, 0xff, 0xff, 0xc1, 0x83, 0xff, 0xfe, 0x80, 0x01, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, }; - static BCursor CrossCursorA = { + static BCursor PaintCursor = { /* small */ - crossa_sbm, - crossa_smsk, + paint_sbm, + paint_smsk, 16, 16, 7, 7, /* big */ - crossa_lbm, - crossa_lmsk, + paint_lbm, + paint_lmsk, 32, 32, 15, @@ -808,69 +808,69 @@ void wm_init_cursor_data(void) false, }; - BlenderCursor[WM_CURSOR_CROSSA] = &CrossCursorA; + BlenderCursor[WM_CURSOR_PAINT] = &PaintCursor; END_CURSOR_BLOCK; - /********************** Diagonal Cross Cursor B ***********************/ + /********************** Dot Cursor ***********************/ BEGIN_CURSOR_BLOCK; - static char crossb_sbm[] = { - 0x00, 0x00, 0x02, 0x40, 0x04, 0x20, 0x08, 0x10, 0x10, 0x08, 0x20, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, - 0x10, 0x08, 0x08, 0x10, 0x04, 0x20, 0x02, 0x40, 0x00, 0x00, + static char dot_sbm[] = { + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x8f, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, }; - static char crossb_smsk[] = { - 0x03, 0xc0, 0x07, 0xe0, 0x0e, 0x70, 0x1c, 0x38, 0x38, 0x1c, 0x70, - 0x0e, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x06, 0x70, 0x0e, - 0x38, 0x1c, 0x1c, 0x38, 0x0e, 0x70, 0x07, 0xe0, 0x03, 0xc0, + static char dot_smsk[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static char crossb_lbm[] = { - 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, - 0x10, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x02, 0x80, 0x00, - 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, - 0x08, 0x10, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + static char dot_lbm[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x02, - 0x40, 0x00, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x20, - 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x20, - 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static char crossb_lmsk[] = { - 0x07, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, - 0x7c, 0x7c, 0x00, 0x00, 0x3e, 0xf8, 0x00, 0x00, 0x1f, 0xf0, 0x01, 0x80, 0x0f, 0xe0, 0x03, - 0xc0, 0x07, 0xc0, 0x07, 0xe0, 0x03, 0x80, 0x0f, 0xf0, 0x01, 0x00, 0x1f, 0xf8, 0x00, 0x00, - 0x3e, 0x7c, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x1c, - 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x80, 0x0f, - 0xf0, 0x01, 0xc0, 0x07, 0xe0, 0x03, 0xe0, 0x03, 0xc0, 0x07, 0xf0, 0x01, 0x80, 0x0f, 0xf8, - 0x00, 0x00, 0x1f, 0x7c, 0x00, 0x00, 0x3e, 0x3e, 0x00, 0x00, 0x7c, 0x1f, 0x00, 0x00, 0xf8, - 0x0f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xe0, + static char dot_lmsk[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, + 0x00, 0xe0, 0x01, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static BCursor CrossCursorB = { + static BCursor DotCursor = { /* small */ - crossb_sbm, - crossb_smsk, + dot_sbm, + dot_smsk, 16, 16, 7, 7, /* big */ - crossb_lbm, - crossb_lmsk, + dot_lbm, + dot_lmsk, 32, 32, - 15, - 15, + 14, + 14, /* don't invert color */ false, }; - BlenderCursor[WM_CURSOR_CROSSB] = &CrossCursorB; + BlenderCursor[WM_CURSOR_DOT] = &DotCursor; END_CURSOR_BLOCK; - /************* Minimal Cross Cursor C ***************/ + /************* Minimal Crosshair Cursor ***************/ BEGIN_CURSOR_BLOCK; static char crossc_sbm[] = { 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, diff --git a/source/blender/windowmanager/wm_cursors.h b/source/blender/windowmanager/wm_cursors.h index 29d84eeb151..7a28aeb3c70 100644 --- a/source/blender/windowmanager/wm_cursors.h +++ b/source/blender/windowmanager/wm_cursors.h @@ -37,8 +37,8 @@ typedef enum WMCursorType { WM_CURSOR_HAND, WM_CURSOR_CROSS, - WM_CURSOR_CROSSA, - WM_CURSOR_CROSSB, + WM_CURSOR_PAINT, + WM_CURSOR_DOT, WM_CURSOR_CROSSC, WM_CURSOR_KNIFE,