From 3e12c1ea5e53a6b7dbc7e1ec2c15cfc84f0c16e8 Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Mon, 23 Mar 2015 23:55:13 -0700 Subject: [PATCH] Render sprites from vectors. Remove blurry shadow from trash. --- core/blockly.js | 2 +- core/inject.js | 19 ---------- core/trashcan.js | 7 ++-- media/sprites.png | Bin 1044 -> 4498 bytes media/sprites.svg | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 24 deletions(-) create mode 100644 media/sprites.svg diff --git a/core/blockly.js b/core/blockly.js index 3d5e89d64..e31fed091 100644 --- a/core/blockly.js +++ b/core/blockly.js @@ -86,7 +86,7 @@ Blockly.HSV_VALUE = 0.65; * Sprited icons and images. */ Blockly.SPRITE = { - width: 64, + width: 84, height: 92, url: 'sprites.png' }; diff --git a/core/inject.js b/core/inject.js index c201ad0d6..ee3afebb8 100644 --- a/core/inject.js +++ b/core/inject.js @@ -243,25 +243,6 @@ Blockly.createDom_ = function(container) { Blockly.createSvgElement('feComposite', {'in': 'SourceGraphic', 'in2': 'specOut', 'operator': 'arithmetic', 'k1': 0, 'k2': 1, 'k3': 1, 'k4': 0}, filter); - /* - - - - - - - - - */ - filter = Blockly.createSvgElement('filter', - {'id': 'blocklyTrashcanShadowFilter'}, defs); - Blockly.createSvgElement('feGaussianBlur', - {'in': 'SourceAlpha', 'stdDeviation': 2, 'result': 'blur'}, filter); - Blockly.createSvgElement('feOffset', - {'in': 'blur', 'dx': 1, 'dy': 1, 'result': 'offsetBlur'}, filter); - feMerge = Blockly.createSvgElement('feMerge', {}, filter); - Blockly.createSvgElement('feMergeNode', {'in': 'offsetBlur'}, feMerge); - Blockly.createSvgElement('feMergeNode', {'in': 'SourceGraphic'}, feMerge); /* diff --git a/core/trashcan.js b/core/trashcan.js index dbc3f46c3..4b88fedfa 100644 --- a/core/trashcan.js +++ b/core/trashcan.js @@ -151,7 +151,7 @@ Blockly.Trashcan.prototype.top_ = 0; */ Blockly.Trashcan.prototype.createDom = function() { /* - + @@ -160,8 +160,7 @@ Blockly.Trashcan.prototype.createDom = function() { */ - this.svgGroup_ = Blockly.createSvgElement('g', - {'filter': 'url(#blocklyTrashcanShadowFilter)'}, null); + this.svgGroup_ = Blockly.createSvgElement('g', {}, null); var clip = Blockly.createSvgElement('clipPath', {'id': 'blocklyTrashBodyClipPath'}, @@ -278,7 +277,7 @@ Blockly.Trashcan.prototype.animateLid_ = function() { (Blockly.RTL ? -lidAngle : lidAngle) + ', ' + (Blockly.RTL ? 4 : this.WIDTH_ - 4) + ', ' + (this.LID_HEIGHT_ - 2) + ')'); - var opacity = goog.math.lerp(0.2, 0.4, this.lidOpen_); + var opacity = goog.math.lerp(0.4, 0.8, this.lidOpen_); this.svgGroup_.style.opacity = opacity; if (this.lidOpen_ > 0 && this.lidOpen_ < 1) { this.lidTask_ = goog.Timer.callOnce(this.animateLid_, 20, this); diff --git a/media/sprites.png b/media/sprites.png index 6e1f4d2b96ddfb31d73f56bc8ed6a6354f6666f5..bb5ceeed0ff3d3cf5658df6c32634530c25004a0 100644 GIT binary patch literal 4498 zcmV;D5pC{?P)f2W%!z1ae?xQzWgM$y6hQ?YHbD{z4j(h(h6@G}2N`BQ5FNi#Q9wX)gCMdQKtWN5MM%?IlD_?Z zf1Ct*Pj>*JQ#@6-Ztgkfea^j4pY=WW+`vg3cQ|sC`-H^xz_-Vc{|Df1Kpn$8jwv#| z@qFNafW9g0dIJ-)%zF&5DlSZF&#Qq)fR$Ntp73Z1Ob5c~hpju}VFA8~OOx&}YHi{X zohAa50;eCfr#X(W0S^O}Bo`zZdZR_CPs|9=Ck02c^gdubU_Y`)I)1nw*h+d)Qek#I zc7iT-sgTZYC%S#j8FU2RC$lP>3TFWa)7bfebJEynlJ_UT#SM7AUlmSZA(^*<>F`t< zyC>_h%{2dowfB6&qd%~oBNH?as7PY7o%-9s`tscZT$klD9d|SV3V}T|Oi+MZlGxmw zfnBQn_5)7*FP`9npd7kW(E3qUEQ;^Mmj#aZS(N-0$y z$5S_gSPML&l=>`7&Q!1g_o96XZyzPj>>(m&i%6-6L?j9+(takH<8u*7_%V~DTO=aw zj>4nNMGyIo&jdk4oFXz_L;}gwNMUn{h?p6OX^KdX6dcJ=B_h*B#M8jXc?dWFv~8e$ z!yzI{L{4M%Gc zIgrNGD|2VFCwx@M6PMrUFH}>#3~{WW|6*`h&0P0{eu~_lP7T! zCvg%d(MXZAFSe$_nl)>#2n1wMFc|4(wW?O8DSI3a%AHQ@yZQO~OS9z@kt+fL2Kjt+ zv)O1>Q^Ov&n{ua5Je2qrX^78U-2M@}u%1X{%xDe;2O<4EuhvvzAp0h}!Mb}lv~CUEyJHR+LZC$pzB~0)?omqB z%a>F5;tONY(xqkoYpyAeC}jvF9u|us0|pq8rArN8S=pLf((#4EGU(tz@!xTWM3fSN z#KU3{x$7>8_g5$WUg@?oDoIM=VQpRa3IShkFS$3uUm)XD}4 zT2fNtGEMV+Af4x@UMQtj27|$ZhKgz!hAj}_yC%v9E=JWC0;K7`^cyZ=@H{1Yo=J37SO}lKo-+(TerfGh}5sC>QBA43j_D_n6ikdgj ze(;tpc;dwzGX~y$7yk1fc;N-;)G0Q8=~Aeupt;B6xh;-z@RwiWi5K(LS7GBu`0+>h z=p*P6w}7*7A$;`}&4JsR)CCq77jMh(IXvji3`Yyylv3Xm7Z+z#N=JyQWRKI9b!tzCC!o;C90w{s1joCh{#`4mKN?WL@P?B;@5O&;I?1;eJ0fX#x`` zg2e*!=f^%gz`lK8x2qUGtJ8^R_wGbKuNQ1Kc5`n!>xEZdfyW*L(@c!-(na&-w4e?L z?_7N~RmtLlK{$92s;iUR78DS2xtJRr=63VW?YAfA^ZQ}{eyB0f?(bErR<#L-ZQE|WRa`&*7@Kav0yyU!T}^lGij6z_Y?wP2zsqH5 zo1dS*r!HJX+604a>(mL?ci+X@Y}o?8{jKhxwr`J(Yu_He`U=0(c^uwOIoepU!Wj9F ze;B^Jyx6Jc?|*N|%{Lq3a>a(*?S{;oXZV&cFB_hWFA$KC>(`6V;fS4T-gcWvVWEh} z6C3Vyifq^*zCb{d^5rBx`^v@G5BNGdDkt+i{# zcjlSN=kayN*=LKaTPMECN;$-rbn01LT)a&wWvyKka#$>uU)3uWi9|#x6%>&JN+~mX zFrN$}qLwc&e@ZDvzw?f=eei+Uwna@-&OaXt3Z!Q6U{zzWFzM1uyA>;?(!Elo0s)=^ zM*r<^*yhZ^_Vw3?<1e}h?zn@RVZ*4gSeRtDbBHgMpxNy7IOZ5NYE(u)s9_lA1OoDy zh#F|O)6(y!%H<+26k@MZ@~+)3B|Urg{65osMdTcxkH!r%$AukwYuTs40 zc2lC1is5ULiYyn=y?ghaz%XFgk|j&*PN$<~AQ0T!uV24VL->?ZhxkOq-l7F9fxRA& zO3Bx#1dT?mh(8=HKBZJfd^tT1JrU7pOK4eHSqESsFuzBS9$Su-ul9AKfxvvFR7$=^ zSwaoNI3pBNE9cE)LMWtG8isMkk?@Jg8Gb)2pMRbSem^TkBqd*?6x8QarL$+_E-6vg z*|Tx`d@Aj@vp!T-QaW`i?qS2QPMwOovNH8&J{p~%Wo2dkLm|0z)+}rQZ@hsm7^HW3 zd3ixY_(Y_CAi$+XMVfE&WNbbky+tG`U!xLq$&w{a0s%GinP+g-IYnw}pr}aPK40V& z!!T^w@QFwhua}vHg}CaRBGuLK;DflmUS1KA1inTkXkMOsctwS3wQL#m?F&yn37224 zmqRvhwzLR^z=apW%{N2GjyitQByoWnmuUwjBCR74#@>HFE`V;`ps*0~^L2b-AueECdIKuwVf;pO1`Q0QUKq_R>q(wxk#!ZQTkly@ai@GM2AV2x=Hc zzG+5onmP0E#|y%>tL@R=^_O0vscFiMWo2bO)A5N&emKlc6DB0`g~Nx_jT=W()8s}G zImDOqf{KXp`FQQQ=WzIZhr{>o)#vC%w?F`=lM^MbBkU4HlO-CVGEajfTT`*zs03F1BPix#1N`iXX{R~vUF z<12zW7GeM5i$t5cVbitOCdQSQ!@`B+g+dI^ zX+djhEcd_pX7bMrZ`!06>NamqZu{n&IBIGv_eY0SRdN56DarZD%XJA|vnDy;lqoo> zs<=O=y-gO2I8rSWFI%RMRH&}j_OX08LMdFw@4cswR0xH%eNGFilp6ciTQb>VQTA{+ z^9^ZDnkW^CNGK9fV`KRkYZy$nTCtmE<{$jBT2ZD+C=y|8P7B(%Z?_r1j13z$xJ}c{ zc%E*xT5CFY?(B;XKjjoP1DGKqZuECbGDVG2$_I_a!JJH-BSD=w4M9$KN+%*t3VM{0 z^Hsj0q9Sk4p2|l>p%6bg9G00LPu{f7ojWIt5kw>}6ynifkoz1C z&LI894haVN$>m~Z)22*QN>%5yp!4R#x^uEti(+#k9ggeJ(A9-~2}JRZ3Q6lc7~Bxc6TD)^bUSw!iX9eJ&}{uSgCVqBqk< zqtOU@`QWL>b&%l9Tx9jVT z8{zfW6Ww`@M$pBJbrm-Z-L4fD!n4o90}try)vNVpuSJV8<0~!IReZ@3Z9jgz-tIVI zg1-LvW4+mH)~r~&Mk8paPP)1`tNjK~S(#p$T)kRfw`ifOYpQKC@#xV*?_6$G`}LXDqY>2U)IQ0A0^OspSfM+l&p+4K1qC|Zk>P*6bG!AT-tD(T zyLNg5S=X-c{`>m+_S<#5J8oxaPWSTBC@X`TZi3fd)79{eH}ue`eS6(`Y~2b&hi19=SdT7+SvtC;H`fIrCvP8Qa7gR+o7O_MxsJUEvh;z#=aPGOVV~4(u zFG+fQqhglgM2J|e#0T2&Z7hOa}Nr?p8wWHo?ip8Sa)aRZf*rf~K)YKd-ijH?Wd8T)7Di$mt*txT= z#_3?S>QTeL|4p!GPrh+FDN5<{XE)7O>#9=8}XCyUW){Ur!LLo=P|MGvm96J4 zT)zC)>YPqA>)}(kOk=;k{&o4T!U7=`!3M|1_wP^2Or0#%px404AZEeOc!puiYL-RJ z30w*KY{#Y@L#IWoKc5SMn+r0`qhyu z%3NxFfBat0sIq1#X6RkibtfXs;3VgLi{)`SI=earFRh)UG{fS7s*t1kbgfCI$&ch2 z>MBEChWEYS&-{bq!E%Wo85Jt;|0~pQezLwjIiEF2F?Nw+;QmNmDh5w^oDIY2~OJ%C9k}p82zyIjb>J;Ezeh`-98>$ z|6IOUtFI~7hcJy$#_d9p0kVZxgUb0*#CZrqr9=D|nn z)5%^*HSbax6i(`%GVTA_9PJ#*YWJd$w$IL!vL~r` zD;Ku;UGJE5gfYo`(_4?mE&nDy>3S0Up83V&ipftVJvq3sY2#u)AKOIr|TTO$L#G zT=p0kkT%NCe_qKmn6&3_eyC09bhj^OY)dZ*ZkQMrqrc=;wba!~r}lpBWmvrUjq7?r zjs$(#rBdG+H(ks;&DO?Pl|0Fu@v)}#D!r4h?y_@q#2xq%bz)xJwkuWgA13wR4xhjI z+ogrt46F+l6|LLD{$WDlj}Mh{Ph|Bk{Y>Y57<4Y2$*JVy<;$hH*Yp-Jh%_(-FlcFM ziQf + + + + + + + + ? + + + + ? + + + + ! + + + + ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +