From b280f0ca784de3e7d19281951e8fcdb9eb62e5b3 Mon Sep 17 00:00:00 2001 From: felix xia <125861688@qq.com> Date: Tue, 24 Dec 2019 17:01:02 +0800 Subject: [PATCH] add 3d rotation style --- build.xml | 4 +- README.en.md => document/README.en.md | 0 README.md => document/README.md | 0 document/easyslides.png | Bin 0 -> 7871 bytes document/pane.png | Bin 0 -> 17841 bytes document/specific.md | 25 ++ document/toolbar.png | Bin 0 -> 18143 bytes document/使用手册 | 17 + plugin.xml | 4 +- specific.md | 16 - .../plugin/easyslides/EasySlidesWidget.java | 32 ++ .../fr/plugin/easyslides/images/display.png | Bin 7000 -> 8309 bytes .../com/fr/plugin/easyslides/images/icon.png | Bin 689 -> 700 bytes .../easyslides/local/easyslides.properties | 3 + .../local/easyslides_en_US.properties | 5 +- .../local/easyslides_zh_CN.properties | 5 +- .../easyslides/slidestyles/FarAwayStyle.java | 7 +- .../slidestyles/Rotation3DStyle.java | 321 ++++++++++++++++ .../easyslides/slidestyles/StyleFactory.java | 2 + .../easyslides/ui/EasySlidesWidgetUI.java | 8 + .../easyslides/ui/SlideStyleEditor.java | 3 +- .../fr/plugin/easyslides/web/3D-rotations.css | 276 ++++++++++++++ .../plugin/easyslides/web/impress-default.css | 355 ++++++++++-------- .../com/fr/plugin/easyslides/web/widget.js | 5 +- .../fr-plugin-widget-easyslides-1.0.zip | Bin 0 -> 113054 bytes 25 files changed, 914 insertions(+), 174 deletions(-) rename README.en.md => document/README.en.md (100%) rename README.md => document/README.md (100%) create mode 100644 document/easyslides.png create mode 100644 document/pane.png create mode 100644 document/specific.md create mode 100644 document/toolbar.png create mode 100644 document/使用手册 delete mode 100644 specific.md create mode 100644 src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java create mode 100644 src/main/java/com/fr/plugin/easyslides/web/3D-rotations.css create mode 100644 超酷幻灯片/fr-plugin-widget-easyslides-1.0.zip diff --git a/build.xml b/build.xml index 1932038..7ca05c6 100644 --- a/build.xml +++ b/build.xml @@ -14,7 +14,7 @@ - + @@ -116,5 +116,7 @@ + + diff --git a/README.en.md b/document/README.en.md similarity index 100% rename from README.en.md rename to document/README.en.md diff --git a/README.md b/document/README.md similarity index 100% rename from README.md rename to document/README.md diff --git a/document/easyslides.png b/document/easyslides.png new file mode 100644 index 0000000000000000000000000000000000000000..e5883ef5ac02d95f1292426dd363ca2e82ba9a02 GIT binary patch literal 7871 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 padding:40 +- slide height:700->758 padding:60 +- slide fontsize:30->(1536*758) +- slide line-height:36->(1536*758) + + +#git码云 +- git init +- git remote add origin https://gitee.com/你的码云用户名/XXXX //添加远程仓库 +- git pull origin master 命令,将码云上的仓库pull到本地文件夹 +- git push origin master ,将本地仓库推送到远程仓库 diff --git a/document/toolbar.png b/document/toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..ca6ee267d7a718cd6926f1ffc5f6becad6280a7b GIT binary patch literal 18143 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 literal 0 HcmV?d00001 diff --git a/document/使用手册 b/document/使用手册 new file mode 100644 index 0000000..885c8bb --- /dev/null +++ b/document/使用手册 @@ -0,0 +1,17 @@ +EasySlides插件使用手册 + + EasySlides插件用于帆软设计平台决策报表,方便的生成及显示ppt。 +一、数据源 + 使用帆软设计平台的数据集做为插件的数据源。 + 1、数据源中需要提供一列字符串类型的文本内容。 + 2、每一行文本,对应于ppt的每一页。 + 3、每一行文本的格式,可以使用html标签来设置。 +二、参数设置 + 1、幻灯片样式选择列表:选择ppt的显示方式。(将来会进一步增加样式,或者接受按需定制) + 2、背景颜色:ppt背景色。 + 3、文字背景色,文字颜色。 + 4、自动/手动播放。自动播放可以设置播放间隔时间(秒)。手动播放,使用键盘方向键进行。(可能需要先在网页中点击一下控件,以获取焦点) + 5、工具条、进度条、进度:显示在ppt底部,用于查看播放进度。 + +备注: + 目前不支持图片显示,计划在下一步实现。 \ No newline at end of file diff --git a/plugin.xml b/plugin.xml index 75ef9f5..d3f80ff 100644 --- a/plugin.xml +++ b/plugin.xml @@ -5,11 +5,11 @@ yes 1.0 10.0 - 2019-11-1 + 2019-12-1 Felix [2019-11-21]Felix:适配新的API

+

[2019-12-241]Felix:适配新的API

]]>
diff --git a/specific.md b/specific.md deleted file mode 100644 index 27f6bf2..0000000 --- a/specific.md +++ /dev/null @@ -1,16 +0,0 @@ -##UI组成 -- 数据源:一列,每行为一页slide的文字内容,其中可以用h5标签 -- 幻灯片样式选择列表 -- 背景颜色 -- 可选项:1、自动/手动播放;2、自动播放间隔时间 - -##幻灯片样式 -- 左入,右入 -- 上入,下入 -- 前入,后入 - -##比例 -- slide width:900->1536 padding:40 -- slide height:700->758 padding:60 -- slide fontsize:30->(1536*758) -- slide line-height:36->(1536*758) \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/easyslides/EasySlidesWidget.java b/src/main/java/com/fr/plugin/easyslides/EasySlidesWidget.java index d488d5e..5d82858 100644 --- a/src/main/java/com/fr/plugin/easyslides/EasySlidesWidget.java +++ b/src/main/java/com/fr/plugin/easyslides/EasySlidesWidget.java @@ -27,6 +27,8 @@ import static com.fr.plugin.easyslides.Util.colorValueToHexString; public class EasySlidesWidget extends DirectWriteEditor implements DataControl { public static final String BACKGROUND_COLOR = "backgroundColor"; + public static final String SLIDE_BACKGROUND_COLOR = "slideBackgroundColor"; + public static final String SLIDE_FONT_COLOR = "slideFontColor"; public static final String AUTO_PLAY = "autoPlay"; public static final String AUTO_PLAY_INTERVAL_TIME = "autoPlayIntervalTime"; public static final String SLIDE_STYLE = "slideStyle"; @@ -36,6 +38,8 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { private ValueInitializer widgetValue; private Object backgroundColor; + private Object slideBackgroundColor; + private Object slideFontColor; private boolean autoPlay; private int autoPlayIntervalTime; private String slideStyle; @@ -48,6 +52,8 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { //autoPlay = true; setAutoPlayIntervalTime(5); backgroundColor = new Color(215, 215, 215); + slideBackgroundColor = new Color(255, 255, 255); + slideFontColor = new Color(102, 102, 102); slideStyle = SlideStyleEditor.DEFAULT_STYLE; } @@ -59,6 +65,22 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { this.backgroundColor = backgroundColor; } + public Object getSlideBackgroundColor() { + return slideBackgroundColor; + } + + public void setSlideBackgroundColor(Object slideBackgroundColor) { + this.slideBackgroundColor = slideBackgroundColor; + } + + public Object getSlideFontColor() { + return slideFontColor; + } + + public void setSlideFontColor(Object slideFontColor) { + this.slideFontColor = slideFontColor; + } + public boolean isAutoPlay() { return autoPlay; } @@ -189,6 +211,8 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { jsonConfig.put("value", html); } jsonConfig.put(BACKGROUND_COLOR, colorValueToHexString(getBackgroundColor())); + jsonConfig.put(SLIDE_BACKGROUND_COLOR, colorValueToHexString(getSlideBackgroundColor())); + jsonConfig.put(SLIDE_FONT_COLOR, colorValueToHexString(getSlideFontColor())); jsonConfig.put(TOOLBAR, isToolBar()); jsonConfig.put(PROGRESSBAR, isProgressBar()); jsonConfig.put(PROGRESS, isProgress()); @@ -220,6 +244,12 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { if ((color = reader.getAttrAsInt(BACKGROUND_COLOR, -1)) != -1) { setBackgroundColor(new Color(color)); } + if ((color = reader.getAttrAsInt(SLIDE_BACKGROUND_COLOR, -1)) != -1) { + setSlideBackgroundColor(new Color(color)); + } + if ((color = reader.getAttrAsInt(SLIDE_FONT_COLOR, -1)) != -1) { + setSlideFontColor(new Color(color)); + } setAutoPlayIntervalTime(reader.getAttrAsInt(AUTO_PLAY_INTERVAL_TIME, 0)); setToolBar(reader.getAttrAsBoolean(TOOLBAR, false)); setProgressBar(reader.getAttrAsBoolean(PROGRESSBAR, false)); @@ -237,6 +267,8 @@ public class EasySlidesWidget extends DirectWriteEditor implements DataControl { writer.startTAG("EasySlidesAttr"); writer.attr(SLIDE_STYLE, getSlideStyle()); writer.attr(BACKGROUND_COLOR, ((Color) getBackgroundColor()).getRGB()); + writer.attr(SLIDE_BACKGROUND_COLOR, ((Color) getSlideBackgroundColor()).getRGB()); + writer.attr(SLIDE_FONT_COLOR, ((Color) getSlideFontColor()).getRGB()); writer.attr(AUTO_PLAY_INTERVAL_TIME, getAutoPlayIntervalTime()); writer.attr(TOOLBAR, isToolBar()); writer.attr(PROGRESSBAR, isProgressBar()); diff --git a/src/main/java/com/fr/plugin/easyslides/images/display.png b/src/main/java/com/fr/plugin/easyslides/images/display.png index fe809b2b0efe27b25b77ef1ba2604a7fa43b2ca2..f106d3808260d6e7fd70a81c40d388098b09a4bd 100644 GIT binary patch literal 8309 zcmb_>cTf~x)9x&bfUqP9N|3040+MqE2}%@@9G9@N(xhXU_DT>2sc^6ZCY{$w?VW0RSL>qVZTC z06_Rl5I{nN7ZyI1j(9-`Q_@xffQB@(OWPa&Sbg=?m4UiZ=52g~%}zsK8vsJM0015h z0OxoWdFyw4YwzytA>eH1 z>A~;l>ES2f=kE2dmUW<`i$}1FcW{V@r+}W9-y?h%V481x0Kj_Z$zvtMAgjHCo9WD` zu*J?+*e05(3wj#~ki1%Ek7T=xss>dBB%zflc3k-tn?GgaTAYMr_44fFGo4=uY- z9|V-W;_+VPNq(56S%!A_tHF^A5qNg5_kxHd1E4><6?!nbKid8`!qZVPoui>qu2BRz zw?v5@8x9!LI`iv12*sV9`v=<0!l`<)39HAHNmx0+R6T=Vf#^daVSxQbGDMMtmGeJP zX_*U<^r&w7NUeX8qD{O{OL~Kr|LHGbn9p4C2uK3Q&X_hr?Jx~&DJQM zYS&i$B2vtN36p)z+uGdR@ZQDp=%g0*oJ>KuxGDst>Aa~0F6Nu@k1>C9FJS z1*1By<@0ZU2={V#&IM`dYOjSZUHM*aO$-V-f6T?e8cq4Kv#Cjp^x34#G~=+lZb zh`qiJujWGy5YF@gJU)q60=U(PwTU>^L37W7z`aWwwjlO}+sc=s4lqIoltR6`4e!2e z5O4U(?Fg1R;?EzS5U=E+zfY};vIMUW1}$I5d7qz{t{>mX9?-Z{w#X}XjyC(Yc`O8`p&CKjZ%lxe4&x?&Djo^Zz z;eUUrNOr6IniSEo8+q?c)Ron@JIq&zJ$l`OBgWkpXg~a*P2Q3!&))aD%847EZS~^D z8E)id(4V6UK?#|_6&_^~Co@)na{CI~z@fiMRi)#P`e)e;akI>ED^W)Ci&((tit|yaq02VE>K6gDtL)?{Fz?rDU?Iz z`vlcLAgZsgkMI23{SrHd+cwW>rj4o6Tv+|gGn-{gJG|Y}t=~ZPgWlFRimRrO%KfD@ zkJ)VDSY~>IO$@zvDM(7TMgQA0*uP6<$8y0EJ0freo(~%<(BPt(Ze4Uv1ZnALt#pR% zL@Y;KO;cJPIJEDDKgx-d>)EhB@&XFHX~Na-ST@v$YJI!a%Wkh!Yx+9KdD7vGzt>ZbbOQj%u5fE$&Q)iO56B zOR*>Z=JgTxQVJj6c`!%nt(o?F_KvcfXk}B)^Bjgyp>~tLB<{_l_Ur-g0QrM+;@{4< z>O1)}wN{d>uL(RlkLgcNL<2?@d)rAwL>hzkno${Jbh{rjGc}I{)-|^fdAQf8lNHPm z(mQwh+PuWpFWL?4#p~_LLz~ZMf-oI0oiW`o#Z-Y@BJ+yHjkw?z?4EftyGi@`sz=k#aMmOAgLBVg&a%%GNz>R1oIpNd*-#;NRgp=DU~zniaM6 zn0TMS8F_DOmbdzvm|1+#IZcIuZH6KXZsq>H@m5A+Lyf0)3IqE!in;2RTfkzUx8K=M z;q0@v$UeT=kWeo?_DPrg#S2e?{Vz3h&Mz5TY4P|h(^PkNxf@j< z65#DUVQCZB`_h@f>c|ZU4jfp@DdX^*C4FODb7lHXz4odxB9ye(^4UF3CG(akflKXi zmxDLXwk;xwSKyl!8JV}B0d)E&FzwJOHeJMV;u)mN$i~BC)N;4z7$v%6k&vszpAeicw3aaAt1OA0X? zvtq7W<>W5!ADN=_Nn2fR%s&Dz7Za*ka_^$ev6DTB$6SDN{O5OEmE_#Gwsk`(QWT;T zC|nK+u{LHGmvA3fcO_ROX{bvFk*wI+1IpMt3~(xWH6pg?w2c3w%87+^k#9^kgt3eB z6_UeI1jECy^l$dVgno``RJHc4Zs$XMEj!+NN&f^i21>m~Lz9#9)~7epSo*FB$pmv{ zvyU^wYnsWNoE)FqBu7ud42m~%TOss(WKQ;cpQxaxdcMb5VaRF%(;K^VV?Y{rSu6LtdE56Kx_lW$`FmMLxg!B82%MCJ zo8=CroCI7#Ur)N}vfB%on2$5{V5D6lqW37zRdvaD4W9Vo1X<_}A%}~H&WUNWCyyoJi;oHCe%PLrbHvYnagvN~3VY;m{IWS} zr#EbefdL-D^HaBct4LZbE#d+zr6oXTG(TGlcU?~YdYzvokaLT*H5^jMwb`(dmO~vq zd{3G~DcP^z>!MEQg*_VM%CRdS2c5-u{wgy8%@ytm1E-)S(Ed*|X>Fz2xaGD(aZd+c zlfOTNKXKU%K;OB=KJQtFg4W1xye$y0@#Bg^4Q3zyn1xtL7IYswI*tkA^Yzx{EuFEA zg}@epW*qd21MCEz>Wit*3uq^F4O6QffYl>llWZ={a-5@%@ac0mdOy|P{e$hYTl*2d z^bv<>hRb&jVoMRh1aXUIeNEH$s@G2$BTce{#Nmovq>n|TH14flW6-atc9H{gXnI-h zOdZZW6C)NOV(j~*ZT?AXrB(|xX0CP!`>3^SE$2tN6nxG9MYtjQxK)@GV+p-lnFY|- zJG)v)l24yCu=JCiB1AAEjDWGlKyIt-_1MlNwv>BpWz3pout|(_KEJQ6CzQxWMg;nR zO$GUU$_8QM|B{zx^EPSF={!N9j98lSAU&U^AdQ}_sd3Q9HvTp1NBK)4A6`dSc5^BB z<&pf=XHXx=u95O$5lG`Vk|uT_*dhA04;@)X6R34ROyFEg!V2i7w3ZS|QN-%`7Tcmv z0@fbo1Oz`OVw<7O($1Rr^!!4dE9+2wEO{l@mqF{7CeL@UY&S(9OY@VmR~i)tS?8nhs^2cVo?Jp;WlaiapunGH82TE51; zRLUoCe|^R0MkES-Ck)pH#G3SLh|$c;ZEy33*6JC$cq@cW9%eGR^q$jwwib{LQYWg9 zTOOT&JDPsHuIv8WF=nk+NuyA6IPG)slpynLNV>^)+0OM;@pYb~`X zl__@eAb!X4{lk?F(Q&Zc3bXD*ql2q$zt_S3T-mVy*zU@ljNEKgl^vOkERu|4 z2pwVcZa%D$^O$rcHo(SxKImf8?F~!Y`{ubZl?0o%`Xlo}Ku`4;tKx+8zjPqQyA6zg$AQV~pBBzE_xgU9aF$sauJxQncA;HImM zp2isa4SJoLJ2a?dhI!=e8Rk6ah2tZ9yzX?i zMUb8I&Dj)1RrfQ&{VnQD2CD6n_Umna#Va}#I*|(lN0Wx+?;IaJqjBh*zBI=4c^`ha zVs3&&RuCLJDcKoHgLOyOy?T1g7)tuT0)5~0Hp>mI{@Sw9brTc4+G=(rz93*c0*o+j zL|%&Heb9+hA)Xsf{KCL91+MX&?bqse`LWRE#jAM%0not62yN%(5c&QCS@y28{|msMxcSKRV8AR z?dpI70fB@3(D)Ypb;~wUVCHhRD*M0lE&#kwcss0O(!A@k>pzIgw!Bgah|sxV=k)|7uh0#sievJJ8!V$>)qa*InVzA%VDk@w^7# zOCas)VByx_b93qWvaj!PGaO*_mR@ure&sOy)33z-Q^YlFk#{+zimyg@? zOZ#nw83=SHdP`GvB0sr>DK`Eew_=O*#Oa(b)s!EHeZN(9z_v?F_%bsdWC_7Iikfo} zl12QhC(58weEze47{{%)c{r$>wxS^GO%!qdThcKrk-Y3m4Eotm;* z5CK}aUEJ?QXxX?=re{U5oY+Bexeyk%g>Vo3CbI2DUG6UeD)caris-bzNUjP)m?%fa z+K9<~9Fq{YZdGFqy-1?hq<=d$=4Hu5r(hebp{jyS$w#cz@rH~S#T(X9Zgg_2e5wst zxUEPu4$X4_qLHaZzew8X8dMLRu8@HeflBU-tgS_rDpp6?5xyfP2G&qiUE)t+$z|9< z7GXyKN-*HKgrhk({Cx^hag8fjrMEe8mM$kZlVj)tpkH{0Oyab2R&WiEt=_KA6eMGt zTYuq^g}teJ;b42v^nE#Xp#Ys%X`$QodDT-y7*0;nY)Vs&THdtGq1vmeio!kEMcNr% zc|K9|?$4s=n?7DL!cP*1`qpmSPJD9oo*dOlKJjN$ZVWbVeB4CA0C&16mSXMPeBI9a zGu9f}v9vHL$hP;H?jOUhp_W<{cFy>0waxwJ$v_W@@n!;s9Zcm)>Ke}S+y>XPcuiq} zmzp+v_j4l zd#8UqL{Svt`eJb=DG-y8e?B{d3q^VM3mhy(h0Sa%WyQ072NB)EwW$!X8Iik&BKAzz zj-!fSY>+EII!IerDSt)4=CIl^pDSD7qmNAKK<*?xLLv1e2{3)w1~0%TCVQIh{=tXJLY?g z_)C-VeRJXZWa*JR^IU-RT{O4o91zPtE#FcxDGB-?v#0;n5iWk1I(NV?5K4A7`;=sbjzN*B*l`FF`s~l0eXjQXxy5jLX!BRV z4C485%shm55im%>eCG)#_08uWgo?VYhl|?nDGg%u?ee<iQ+3q~%n21bGr8qMqnUFRC1^V?_ik2vh6}{i-TlMZ+6G9LLm71|XCM%vn zW77IpbzUl=C^yN+iXbt{8hAipHlFe@5J{_CBRAv-fF`XuMnGQviz)qjihKZ*t ziOE^7ltU4t;MZTw)u78Ts=5Pb5?kkWD;IxZXqDbJ~vJUKn4sFjt4n1iWfgY11XgVRg zyj-D>Z28gmHR=N*n<{l!8_l*KBd9R#%W4R*o?t#x!8i6^i^1bpF=+c7df~E9lWGmG zSd7a%S!)zV0BM=YM^W8+{sX^{_z=;)eGvOKfsEC38unFRTg_L$`a&Gy1D5i-Yl1e3V;9a$MTza@^lCV=N)^q!0 zGwa9zGgWYLxSlAT#CAB_4CH~P2%8&(hvEk~%3IrYLQ`(lzkxbTTSfV_CYO4$45D!T z2P@cyXW6M!uU~mpS@=n_^mqkAWRPpvaXr#d#C@tXBKOd3=o-{lF*38Zrtxp+$t6dj z)a&kqZ9W}Sdf6i0=VJex6b{Ag4xl17KQH)}8n1hxfv@Z9wEGt`tZN@}e~7rj)l|7^--cm8q8QH6{tVz5R87Uge5`@iq)|muM217a* z6YC5gwrX9x?mW3Uf3Z`fG~sJoyFyun{;P1{^7LF6KgN6cBP$7mMLyb*Ma;pI2}=b$h6f*C z+Dv+_u~`y68VWqDafhV2j`BNOJrN^}}26rv_!qZ~y7Ewlr7afVB9s!T*jHFLJ5E^a(kY2N>=pk*Vk+H3X~a$;#|Q+f&& zB_;wWa}PN-=HwRyavioGTr(7g|CU1avL-yXke*CdVNiB6tfWSq=Kg6^{<2*T#%5Yy zy-A1=_)*}Dn(NGBG&KOXlNWy0EB=+Cp;^y{-p3oMCZros& zkxsN5RJRQ1QlhBav(qv8fQXDnyVY~S9**&15B(*X1Jp+`yR!*HnB5+7;<~}Q0?w_S z9si0;L{t`oVv6#+_?Y1+SH|Hnm|)1|J)O6b2~}0jTFJW5`A;v)V(!C8`K`p*X9yh| zX+zaNfz3akAjyJHFadTI31O&xYRyxFtlxtfT3ofx%yr=(#G2-TN3ltxzy8om(T?0f zQ$Pj5>DYe9D6THEqA+U+MP^z*bibr<&ut$u4MbDzsahWXw;cI@LJFJ1ag=KuHLfJ? TPek!mci@St&f_{|o2dT<^W}{y literal 7000 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 B0DJ%d delta 658 zcmV;D0&V@g1+fK?D}S%ZHwB9600009a7bBm000ie000ie0hKEb8vpKs|f(8E^#MY~V z2CWAXv{c(BLBV7@Evx`y8&oP4%r=dq`{n^~f8g$#h|F??;5d$NLJ0Tg9=fh0 zm&?I9c34$ODCHxFkID6IexkwG8@FLu7I!D09!0dh9pP{op~6E|v5apZW)aWR;85{B zCTS4KSAVY&;B9s+me4gahHVoCRRPSjMxX`w2;vmMEyMTvh3PSL7p9QDa2Z!>6dPQs z6v?%XQNKfC)v9b}dK&ZdU$FW43v^69Q6>N8)6Q;`hE8C2Dh1fwfHD4HO;oR5XW|cC sxqgi1RfWJ~VlSy%HGc2^2LbRCp@!(c_j?Vr01E&B07*qoM6N<$f{%SL2><{9 diff --git a/src/main/java/com/fr/plugin/easyslides/local/easyslides.properties b/src/main/java/com/fr/plugin/easyslides/local/easyslides.properties index 74690cd..9d66a05 100644 --- a/src/main/java/com/fr/plugin/easyslides/local/easyslides.properties +++ b/src/main/java/com/fr/plugin/easyslides/local/easyslides.properties @@ -2,6 +2,8 @@ Plugin-EasySlides_Widget=EasySlides Plugin-EasySlides_Advanced=Advanced Plugin-EasySlides_DataSource=DataSource Plugin-EasySlides_ColorBackground=BackgroundColor +Plugin-EasySlides_SlideColorBackground=SlideBackgroundColor +Plugin-EasySlides_SlideFontColor=FontColor Plugin-EasySlides_AutoPlay=AutoPlay Plugin-EasySlides_AutoPlayTime=APInterTime Plugin-EasySlides_SlideStyle=SlideStyle @@ -11,3 +13,4 @@ Plugin-EasySlides_Progress=Progress Plugin-EasySlides_Style1=horizontal slide Plugin-EasySlides_Style2=vertical slide Plugin-EasySlides_Style3=far away slide +Plugin-EasySlides_Style4=rotation 3d slide diff --git a/src/main/java/com/fr/plugin/easyslides/local/easyslides_en_US.properties b/src/main/java/com/fr/plugin/easyslides/local/easyslides_en_US.properties index 2de9dca..9d66a05 100644 --- a/src/main/java/com/fr/plugin/easyslides/local/easyslides_en_US.properties +++ b/src/main/java/com/fr/plugin/easyslides/local/easyslides_en_US.properties @@ -2,6 +2,8 @@ Plugin-EasySlides_Widget=EasySlides Plugin-EasySlides_Advanced=Advanced Plugin-EasySlides_DataSource=DataSource Plugin-EasySlides_ColorBackground=BackgroundColor +Plugin-EasySlides_SlideColorBackground=SlideBackgroundColor +Plugin-EasySlides_SlideFontColor=FontColor Plugin-EasySlides_AutoPlay=AutoPlay Plugin-EasySlides_AutoPlayTime=APInterTime Plugin-EasySlides_SlideStyle=SlideStyle @@ -10,4 +12,5 @@ Plugin-EasySlides_ProgressBar=ProgressBar Plugin-EasySlides_Progress=Progress Plugin-EasySlides_Style1=horizontal slide Plugin-EasySlides_Style2=vertical slide -Plugin-EasySlides_Style3=far away slide \ No newline at end of file +Plugin-EasySlides_Style3=far away slide +Plugin-EasySlides_Style4=rotation 3d slide diff --git a/src/main/java/com/fr/plugin/easyslides/local/easyslides_zh_CN.properties b/src/main/java/com/fr/plugin/easyslides/local/easyslides_zh_CN.properties index 2e752c2..b6b4a2e 100644 --- a/src/main/java/com/fr/plugin/easyslides/local/easyslides_zh_CN.properties +++ b/src/main/java/com/fr/plugin/easyslides/local/easyslides_zh_CN.properties @@ -2,6 +2,8 @@ Plugin-EasySlides_Widget=\u8D85\u9177\u5E7B\u706F\u7247 Plugin-EasySlides_Advanced=\u9AD8\u7EA7 Plugin-EasySlides_DataSource=\u6570\u636E\u6E90 Plugin-EasySlides_ColorBackground=\u80CC\u666F\u8272 +Plugin-EasySlides_SlideColorBackground=\u5E7B\u706F\u7247\u80CC\u666F\u8272 +Plugin-EasySlides_SlideFontColor=\u5E7B\u706F\u7247\u6587\u5B57\u989C\u8272 Plugin-EasySlides_AutoPlay=\u81EA\u52A8\u64AD\u653E Plugin-EasySlides_AutoPlayTime=\u64AD\u653E\u95F4\u9694\u65F6\u95F4 Plugin-EasySlides_SlideStyle=\u5E7B\u706F\u7247\u6837\u5F0F @@ -10,4 +12,5 @@ Plugin-EasySlides_ProgressBar=\u8FDB\u5EA6\u6761 Plugin-EasySlides_Progress=\u8FDB\u5EA6 Plugin-EasySlides_Style1=\u6C34\u5E73\u79FB\u52A8 Plugin-EasySlides_Style2=\u4E0A\u4E0B\u79FB\u52A8 -Plugin-EasySlides_Style3=\u8FDC\u8FD1\u79FB\u52A8 \ No newline at end of file +Plugin-EasySlides_Style3=\u8FDC\u8FD1\u79FB\u52A8 +Plugin-EasySlides_Style4=3D\u65CB\u8F6C diff --git a/src/main/java/com/fr/plugin/easyslides/slidestyles/FarAwayStyle.java b/src/main/java/com/fr/plugin/easyslides/slidestyles/FarAwayStyle.java index 6af2422..00a15df 100644 --- a/src/main/java/com/fr/plugin/easyslides/slidestyles/FarAwayStyle.java +++ b/src/main/java/com/fr/plugin/easyslides/slidestyles/FarAwayStyle.java @@ -9,11 +9,12 @@ public class FarAwayStyle extends SlideStyle { @Override protected String buildContents(List contents) { StringBuilder slides = new StringBuilder(); - String divStr = "
\n%s\n
"; + String divStr = "
\n%s\n
"; for (int i = 0; i < contents.size(); i++) { String id = "slide" + i; - String dataZ = String.valueOf(-i * 1500); - slides.append(String.format(divStr, id, dataZ, contents.get(i))); + String dataY = String.valueOf(i * 50); + String dataZ = String.valueOf(i * 1500); + slides.append(String.format(divStr, id, dataY, dataZ, contents.get(i))); slides.append('\n'); } return slides.toString(); diff --git a/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java b/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java new file mode 100644 index 0000000..095f1ea --- /dev/null +++ b/src/main/java/com/fr/plugin/easyslides/slidestyles/Rotation3DStyle.java @@ -0,0 +1,321 @@ +package com.fr.plugin.easyslides.slidestyles; + +import java.util.List; + +/** + * 旋转3D风格 + */ +public class Rotation3DStyle extends SlideStyle { + private String[] stepsDiv = { + "
\n", + "
", + "
", + "
", + "
", + "
", + "
", + "
", + "
" + }; + + private int[] dataX = {0, 420, 700, 422, 0, 379, 700, 379}; + + @Override + protected String buildContents(List contents) { + StringBuilder r = new StringBuilder(); + for (int i = 0; i < contents.size(); i++) { + if (i == 0) { + r.append(stepsDiv[i]); + } else { + int id = (i / stepsDiv.length) < 1 ? (i % stepsDiv.length) : (i % stepsDiv.length + 1); + String div = stepsDiv[id]; + div = String.format(div, i, (dataX[(i - 1) % dataX.length] + 1000 * ((i - 1) / dataX.length))); + r.append(div); + } + r.append(contents.get(i)); + r.append("
\n"); + } + r.append(""); + return r.toString(); + } + + private static final String css = + "/* Fallback message */\n" + + "\n" + + ".fallback-message {\n" + + " font-family: sans-serif;\n" + + " line-height: 1.3;\n" + + "\n" + + " width: 780px;\n" + + " padding: 10px 10px 0;\n" + + " margin: 20px auto;\n" + + "\n" + + " border: 1px solid #E4C652;\n" + + " border-radius: 10px;\n" + + " background: #EEDC94;\n" + + "}\n" + + "\n" + + ".fallback-message p {\n" + + " margin-bottom: 10px;\n" + + "}\n" + + "\n" + + ".impress-supported .fallback-message {\n" + + " display: none;\n" + + "}\n" + + "\n" + + "\n" + + "/* Body & steps */\n" + + "body {\n" + + " font-family: 'PT Sans', sans-serif;\n" + + " min-height: 740px;\n" + + "\n" + + " background: #00000f;\n" + + " color: rgb(102, 102, 102);\n" + + "}\n" + + "\n" + + ".step {\n" + + " position: relative;\n" + + " width: 700px;\n" + + " height: 700px;\n" + + " padding: 40px 60px;\n" + + " margin: 20px auto;\n" + + "\n" + + " box-sizing: border-box;\n" + + "\n" + + " line-height: 1.5;\n" + + "\n" + + " background-color: white;\n" + + " border-radius: 10px;\n" + + " box-shadow: 0 2px 6px rgba(0, 0, 0, .1);\n" + + "\n" + + " text-shadow: 0 2px 2px rgba(0, 0, 0, .1);\n" + + "\n" + + " font-family: 'Open Sans', Arial, sans-serif;\n" + + " font-size: 40pt;\n" + + " letter-spacing: -1px;\n" + + "\n" + + "}\n" + + "\n" + + ".notes {\n" + + " display: none;\n" + + "}\n" + + "\n" + + "/* Overview step has no background or border */\n" + + "\n" + + ".overview {\n" + + " background-color: transparent;\n" + + " border: none;\n" + + " box-shadow: none;\n" + + " pointer-events: none;\n" + + " display: none;\n" + + "}\n" + + ".overview.active {\n" + + " display: block;\n" + + " pointer-events: auto;\n" + + "}\n" + + "\n" + + "/*\n" + + " Make inactive steps a little bit transparent.\n" + + "*/\n" + + ".impress-enabled .step {\n" + + " margin: 0;\n" + + " opacity: 0.1;\n" + + " transition: opacity 1s;\n" + + "}\n" + + "\n" + + ".impress-enabled .step.active { opacity: 1 }\n" + + "\n" + + "\n" + + "/* Content */\n" + + "\n" + + "h1, \n" + + "h2, \n" + + "h3 {\n" + + " margin-bottom: 0.5em;\n" + + " margin-top: 0.5em;\n" + + " text-align: center;\n" + + "}\n" + + "\n" + + "p {\n" + + " margin: 0.7em;\n" + + "}\n" + + "\n" + + "li {\n" + + " margin: 0.2em; \n" + + "}\n" + + "\n" + + "/* Highlight.js used for coloring pre > code blocks. */\n" + + "pre > code {\n" + + " font-size: 14px;\n" + + " text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n" + + "}\n" + + "\n" + + "/* Inline code, no Highlight.js */\n" + + "code {\n" + + " font-family: \"Cutive mono\",\"Courier New\", monospace;\n" + + "}\n" + + "\n" + + "\n" + + "a {\n" + + " color: inherit;\n" + + " text-decoration: none;\n" + + " padding: 0 0.1em;\n" + + " background: rgba(200,200,200,0.2);\n" + + " text-shadow: -1px 1px 2px rgba(100,100,100,0.9);\n" + + " border-radius: 0.2em;\n" + + " border-bottom: 1px solid rgba(100,100,100,0.2);\n" + + " border-left: 1px solid rgba(100,100,100,0.2);\n" + + "\n" + + " transition: 0.5s;\n" + + "}\n" + + "a:hover,\n" + + "a:focus {\n" + + " background: rgba(200,200,200,1);\n" + + " text-shadow: -1px 1px 2px rgba(100,100,100,0.5);\n" + + "}\n" + + "\n" + + "blockquote {\n" + + " font-family: 'PT Serif';\n" + + " font-style: italic;\n" + + " font-weight: 400; \n" + + "}\n" + + "\n" + + "em {\n" + + " text-shadow: 0 2px 2px rgba(0, 0, 0, .3); \n" + + "}\n" + + "\n" + + "strong {\n" + + " text-shadow: -1px 1px 2px rgba(100,100,100,0.5);\n" + + "}\n" + + "\n" + + "q {\n" + + " font-family: 'PT Serif';\n" + + " font-style: italic;\n" + + " font-weight: 400; \n" + + " text-shadow: 0 2px 2px rgba(0, 0, 0, .3);\n" + + "}\n" + + "\n" + + "strike {\n" + + " opacity: 0.7;\n" + + "}\n" + + "\n" + + "small {\n" + + " font-size: 0.4em;\n" + + "}\n" + + "\n" + + "\n" + + "/*\n" + + " This version of impress.js supports plugins, and in particular, a UI toolbar\n" + + " plugin that allows easy navigation between steps and autoplay.\n" + + "*/\n" + + ".impress-enabled div#impress-toolbar {\n" + + " position: fixed;\n" + + " right: 1px;\n" + + " bottom: 1px;\n" + + " opacity: 0.6;\n" + + " z-index: 10;\n" + + "}\n" + + ".impress-enabled div#impress-toolbar > span {\n" + + " margin-right: 10px;\n" + + "}\n" + + "\n" + + "/*\n" + + " With help from the mouse-timeout plugin, we can hide the toolbar and\n" + + " have it show only when you move/click/touch the mouse.\n" + + "*/\n" + + "body.impress-mouse-timeout div#impress-toolbar {\n" + + " display: none;\n" + + "}\n" + + "\n" + + "/*\n" + + " In fact, we can hide the mouse cursor itself too, when mouse isn't used.\n" + + "*/\n" + + "body.impress-mouse-timeout {\n" + + " cursor: none;\n" + + "}\n" + + "\n" + + "\n" + + "\n" + + "/* Progress bar */\n" + + ".impress-progressbar {\n" + + " position: absolute;\n" + + " right: 118px;\n" + + " bottom: 1px;\n" + + " left: 118px;\n" + + " border-radius: 7px;\n" + + " border: 2px solid rgba(100, 100, 100, 0.2);\n" + + "}\n" + + ".impress-progressbar DIV {\n" + + " width: 0;\n" + + " height: 2px;\n" + + " border-radius: 5px;\n" + + " background: rgba(75, 75, 75, 0.4);\n" + + " transition: width 1s linear;\n" + + "}\n" + + ".impress-progress {\n" + + " position: absolute;\n" + + " left: 59px;\n" + + " bottom: 1px;\n" + + " text-align: left;\n" + + " font-size: 10pt;\n" + + " opacity: 0.6;\n" + + "}\n" + + "\n" + + "/* Help popup plugin */\n" + + ".impress-enabled #impress-help {\n" + + " background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5);\n" + + " color: #EEEEEE;\n" + + " font-size: 80%;\n" + + " position: fixed;\n" + + " left: 2em;\n" + + " bottom: 2em;\n" + + " width: 24em;\n" + + " border-radius: 1em;\n" + + " padding: 1em;\n" + + " text-align: center;\n" + + " z-index: 100;\n" + + " font-family: Verdana, Arial, Sans;\n" + + "}\n" + + ".impress-enabled #impress-help td {\n" + + " padding-left: 1em;\n" + + " padding-right: 1em;\n" + + "}\n" + + "\n" + + "\n" + + "/* Styles specific to each step */\n" + + "\n" + + "#overview2 {\n" + + " font-size: 20pt;\n" + + " padding-left: 200px;\n" + + " text-align: right;\n" + + "}\n" + + "\n" + + "\n" + + "/*\n" + + " And as the last thing there is a workaround for quite strange bug.\n" + + " It happens a lot in Chrome. I don't remember if I've seen it in Firefox.\n" + + "\n" + + " Sometimes the element positioned in 3D (especially when it's moved back\n" + + " along Z axis) is not clickable, because it falls 'behind' the \n" + + " element.\n" + + "\n" + + " To prevent this, I decided to make non clickable by setting\n" + + " pointer-events property to `none` value.\n" + + " Value if this property is inherited, so to make everything else clickable\n" + + " I bring it back on the #impress element.\n" + + "\n" + + " If you want to know more about `pointer-events` here are some docs:\n" + + " https://developer.mozilla.org/en/CSS/pointer-events\n" + + "\n" + + " There is one very important thing to notice about this workaround - it makes\n" + + " everything 'unclickable' except what's in #impress element.\n" + + "\n" + + " So use it wisely ... or don't use at all.\n" + + "*/\n" + + ".impress-enabled { pointer-events: none }\n" + + ".impress-enabled #impress { pointer-events: auto }\n" + + ".impress-enabled #impress-toolbar { pointer-events: auto }\n" + + ".impress-enabled #impress-console-button { pointer-events: auto }\n"; +} diff --git a/src/main/java/com/fr/plugin/easyslides/slidestyles/StyleFactory.java b/src/main/java/com/fr/plugin/easyslides/slidestyles/StyleFactory.java index 44a0536..66337ec 100644 --- a/src/main/java/com/fr/plugin/easyslides/slidestyles/StyleFactory.java +++ b/src/main/java/com/fr/plugin/easyslides/slidestyles/StyleFactory.java @@ -10,6 +10,8 @@ public class StyleFactory { return new HorizontalStyle(); } else if (Inter.getLocText("Plugin-EasySlides_Style3").equalsIgnoreCase(type)) { return new FarAwayStyle(); + } else if (Inter.getLocText("Plugin-EasySlides_Style4").equalsIgnoreCase(type)) { + return new Rotation3DStyle(); } return null; } diff --git a/src/main/java/com/fr/plugin/easyslides/ui/EasySlidesWidgetUI.java b/src/main/java/com/fr/plugin/easyslides/ui/EasySlidesWidgetUI.java index 1cb0e9e..842c014 100644 --- a/src/main/java/com/fr/plugin/easyslides/ui/EasySlidesWidgetUI.java +++ b/src/main/java/com/fr/plugin/easyslides/ui/EasySlidesWidgetUI.java @@ -62,6 +62,14 @@ public class EasySlidesWidgetUI extends XWidgetCreator { .setI18NName(Inter.getLocText("Plugin-EasySlides_ColorBackground")) .setEditorClass(ColorEditor.class) .putKeyValue("category", advanced), + (new CRPropertyDescriptor(SLIDE_BACKGROUND_COLOR, this.data.getClass())) + .setI18NName(Inter.getLocText("Plugin-EasySlides_SlideColorBackground")) + .setEditorClass(ColorEditor.class) + .putKeyValue("category", advanced), + (new CRPropertyDescriptor(SLIDE_FONT_COLOR, this.data.getClass())) + .setI18NName(Inter.getLocText("Plugin-EasySlides_SlideFontColor")) + .setEditorClass(ColorEditor.class) + .putKeyValue("category", advanced), (new CRPropertyDescriptor(AUTO_PLAY, this.data.getClass())) .setI18NName(Inter.getLocText("Plugin-EasySlides_AutoPlay")) .setEditorClass(BooleanEditor.class) diff --git a/src/main/java/com/fr/plugin/easyslides/ui/SlideStyleEditor.java b/src/main/java/com/fr/plugin/easyslides/ui/SlideStyleEditor.java index c2fe7af..dd23ad5 100644 --- a/src/main/java/com/fr/plugin/easyslides/ui/SlideStyleEditor.java +++ b/src/main/java/com/fr/plugin/easyslides/ui/SlideStyleEditor.java @@ -8,6 +8,7 @@ import java.util.Vector; public class SlideStyleEditor extends ComboEditor { public static final String DEFAULT_STYLE = Inter.getLocText("Plugin-EasySlides_Style1"); + private static final int NUM_STYLE = 4; public SlideStyleEditor() { } @@ -15,7 +16,7 @@ public class SlideStyleEditor extends ComboEditor { @Override public ComboBoxModel model() { Vector vector = new Vector(); - for (int i = 0; i < 3; i++) { + for (int i = 0; i < NUM_STYLE; i++) { vector.add(Inter.getLocText("Plugin-EasySlides_Style" + (i + 1))); } return new DefaultComboBoxModel(vector); diff --git a/src/main/java/com/fr/plugin/easyslides/web/3D-rotations.css b/src/main/java/com/fr/plugin/easyslides/web/3D-rotations.css new file mode 100644 index 0000000..138dc67 --- /dev/null +++ b/src/main/java/com/fr/plugin/easyslides/web/3D-rotations.css @@ -0,0 +1,276 @@ +/* Fallback message */ + +.fallback-message { + font-family: sans-serif; + line-height: 1.3; + + width: 780px; + padding: 10px 10px 0; + margin: 20px auto; + + border: 1px solid #E4C652; + border-radius: 10px; + background: #EEDC94; +} + +.fallback-message p { + margin-bottom: 10px; +} + +.impress-supported .fallback-message { + display: none; +} + + +/* Body & steps */ +body { + font-family: 'PT Sans', sans-serif; + min-height: 740px; + + background: #00000f; + color: rgb(102, 102, 102); +} + +.step { + position: relative; + width: 700px; + height: 700px; + padding: 40px 60px; + margin: 20px auto; + + box-sizing: border-box; + + line-height: 1.5; + + background-color: white; + border-radius: 10px; + box-shadow: 0 2px 6px rgba(0, 0, 0, .1); + + text-shadow: 0 2px 2px rgba(0, 0, 0, .1); + + font-family: 'Open Sans', Arial, sans-serif; + font-size: 40pt; + letter-spacing: -1px; + +} + +.notes { + display: none; +} + +/* Overview step has no background or border */ + +.overview { + background-color: transparent; + border: none; + box-shadow: none; + pointer-events: none; + display: none; +} +.overview.active { + display: block; + pointer-events: auto; +} + +/* + Make inactive steps a little bit transparent. +*/ +.impress-enabled .step { + margin: 0; + opacity: 0.1; + transition: opacity 1s; +} + +.impress-enabled .step.active { opacity: 1 } + + +/* Content */ + +h1, +h2, +h3 { + margin-bottom: 0.5em; + margin-top: 0.5em; + text-align: center; +} + +p { + margin: 0.7em; +} + +li { + margin: 0.2em; +} + +/* Highlight.js used for coloring pre > code blocks. */ +pre > code { + font-size: 14px; + text-shadow: 0 0 0 rgba(0, 0, 0, 0); +} + +/* Inline code, no Highlight.js */ +code { + font-family: "Cutive mono","Courier New", monospace; +} + + +a { + color: inherit; + text-decoration: none; + padding: 0 0.1em; + background: rgba(200,200,200,0.2); + text-shadow: -1px 1px 2px rgba(100,100,100,0.9); + border-radius: 0.2em; + border-bottom: 1px solid rgba(100,100,100,0.2); + border-left: 1px solid rgba(100,100,100,0.2); + + transition: 0.5s; +} +a:hover, +a:focus { + background: rgba(200,200,200,1); + text-shadow: -1px 1px 2px rgba(100,100,100,0.5); +} + +blockquote { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; +} + +em { + text-shadow: 0 2px 2px rgba(0, 0, 0, .3); +} + +strong { + text-shadow: -1px 1px 2px rgba(100,100,100,0.5); +} + +q { + font-family: 'PT Serif'; + font-style: italic; + font-weight: 400; + text-shadow: 0 2px 2px rgba(0, 0, 0, .3); +} + +strike { + opacity: 0.7; +} + +small { + font-size: 0.4em; +} + + +/* + This version of impress.js supports plugins, and in particular, a UI toolbar + plugin that allows easy navigation between steps and autoplay. +*/ +.impress-enabled div#impress-toolbar { + position: fixed; + right: 1px; + bottom: 1px; + opacity: 0.6; + z-index: 10; +} +.impress-enabled div#impress-toolbar > span { + margin-right: 10px; +} + +/* + With help from the mouse-timeout plugin, we can hide the toolbar and + have it show only when you move/click/touch the mouse. +*/ +body.impress-mouse-timeout div#impress-toolbar { + display: none; +} + +/* + In fact, we can hide the mouse cursor itself too, when mouse isn't used. +*/ +body.impress-mouse-timeout { + cursor: none; +} + + + +/* Progress bar */ +.impress-progressbar { + position: absolute; + right: 118px; + bottom: 1px; + left: 118px; + border-radius: 7px; + border: 2px solid rgba(100, 100, 100, 0.2); +} +.impress-progressbar DIV { + width: 0; + height: 2px; + border-radius: 5px; + background: rgba(75, 75, 75, 0.4); + transition: width 1s linear; +} +.impress-progress { + position: absolute; + left: 59px; + bottom: 1px; + text-align: left; + font-size: 10pt; + opacity: 0.6; +} + +/* Help popup plugin */ +.impress-enabled #impress-help { + background: none repeat scroll 0 0 rgba(0, 0, 0, 0.5); + color: #EEEEEE; + font-size: 80%; + position: fixed; + left: 2em; + bottom: 2em; + width: 24em; + border-radius: 1em; + padding: 1em; + text-align: center; + z-index: 100; + font-family: Verdana, Arial, Sans; +} +.impress-enabled #impress-help td { + padding-left: 1em; + padding-right: 1em; +} + + +/* Styles specific to each step */ + +#overview2 { + font-size: 20pt; + padding-left: 200px; + text-align: right; +} + + +/* + And as the last thing there is a workaround for quite strange bug. + It happens a lot in Chrome. I don't remember if I've seen it in Firefox. + + Sometimes the element positioned in 3D (especially when it's moved back + along Z axis) is not clickable, because it falls 'behind' the + element. + + To prevent this, I decided to make non clickable by setting + pointer-events property to `none` value. + Value if this property is inherited, so to make everything else clickable + I bring it back on the #impress element. + + If you want to know more about `pointer-events` here are some docs: + https://developer.mozilla.org/en/CSS/pointer-events + + There is one very important thing to notice about this workaround - it makes + everything 'unclickable' except what's in #impress element. + + So use it wisely ... or don't use at all. +*/ +.impress-enabled { pointer-events: none } +.impress-enabled #impress { pointer-events: auto } +.impress-enabled #impress-toolbar { pointer-events: auto } +.impress-enabled #impress-console-button { pointer-events: auto } diff --git a/src/main/java/com/fr/plugin/easyslides/web/impress-default.css b/src/main/java/com/fr/plugin/easyslides/web/impress-default.css index 64369a0..ed2a4ef 100644 --- a/src/main/java/com/fr/plugin/easyslides/web/impress-default.css +++ b/src/main/java/com/fr/plugin/easyslides/web/impress-default.css @@ -19,8 +19,7 @@ Shall we begin? */ - -/* +/* We start with a good ol' reset. That's the one by Eric Meyer http://meyerweb.com/eric/tools/css/reset/ @@ -37,8 +36,8 @@ b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; @@ -50,19 +49,23 @@ time, mark, audio, video { } /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } + body { line-height: 1; } + ol, ul { list-style: none; } + blockquote, q { quotes: none; } + blockquote:before, blockquote:after, q:before, q:after { content: ''; @@ -101,17 +104,22 @@ table { background: rgb(215, 215, 215); background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 500, from(rgb(240, 240, 240)), to(rgb(190, 190, 190))); background: -webkit-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); - background: -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); - background: -ms-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); - background: -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); - background: radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -moz-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -ms-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: -o-radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); + background: radial-gradient(rgb(240, 240, 240), rgb(190, 190, 190)); } /* Now let's bring some text styles back ... */ -b, strong { font-weight: bold } -i, em { font-style: italic } +b, strong { + font-weight: bold +} + +i, em { + font-style: italic +} /* ... and give links a nice look. @@ -120,21 +128,21 @@ a { color: inherit; text-decoration: none; padding: 0 0.1em; - background: rgba(255,255,255,0.5); - text-shadow: -1px -1px 2px rgba(100,100,100,0.9); + background: rgba(255, 255, 255, 0.5); + text-shadow: -1px -1px 2px rgba(100, 100, 100, 0.9); border-radius: 0.2em; - + -webkit-transition: 0.5s; - -moz-transition: 0.5s; - -ms-transition: 0.5s; - -o-transition: 0.5s; - transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } a:hover, a:focus { - background: rgba(255,255,255,1); - text-shadow: -1px -1px 2px rgba(100,100,100,0.5); + background: rgba(255, 255, 255, 1); + text-shadow: -1px -1px 2px rgba(100, 100, 100, 0.5); } /* @@ -152,7 +160,7 @@ a:focus { .fallback-message { font-family: sans-serif; line-height: 1.3; - + width: 780px; padding: 10px 10px 0; margin: 20px auto; @@ -183,10 +191,10 @@ a:focus { margin: 20px auto; -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - -ms-box-sizing: border-box; - -o-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + -ms-box-sizing: border-box; + -o-box-sizing: border-box; + box-sizing: border-box; font-family: 'PT Serif', georgia, serif; font-size: 48px; @@ -203,13 +211,15 @@ a:focus { opacity: 0.3; -webkit-transition: opacity 1s; - -moz-transition: opacity 1s; - -ms-transition: opacity 1s; - -o-transition: opacity 1s; - transition: opacity 1s; + -moz-transition: opacity 1s; + -ms-transition: opacity 1s; + -o-transition: opacity 1s; + transition: opacity 1s; } -.impress-enabled .step.active { opacity: 1 } +.impress-enabled .step.active { + opacity: 1 +} /* These 'slide' step styles were heavily inspired by HTML5 Slides: @@ -244,14 +254,28 @@ a:focus { display: block; font-size: 50px; line-height: 72px; - margin-top: 100px; } -.slide q strong { +.slide q, strong { white-space: nowrap; } +.slide h1, h2, h3 { + margin-bottom: 0.5em; + margin-top: 0.5em; + text-align: center; +} + +.slide p { + text-align: center; + margin: 0.7em; +} + +.slide li { + margin: 0.2em; +} + /* And now we start to style each step separately. @@ -272,22 +296,22 @@ a:focus { position: absolute; top: -0.5em; left: 1.5em; - + -webkit-transform: translateZ(20px); - -moz-transform: translateZ(20px); - -ms-transform: translateZ(20px); - -o-transform: translateZ(20px); - transform: translateZ(20px); + -moz-transform: translateZ(20px); + -ms-transform: translateZ(20px); + -o-transform: translateZ(20px); + transform: translateZ(20px); } #title h1 { font-size: 190px; - + -webkit-transform: translateZ(50px); - -moz-transform: translateZ(50px); - -ms-transform: translateZ(50px); - -o-transform: translateZ(50px); - transform: translateZ(50px); + -moz-transform: translateZ(50px); + -ms-transform: translateZ(50px); + -o-transform: translateZ(50px); + transform: translateZ(50px); } #title .footnote { @@ -329,7 +353,9 @@ a:focus { /* This step has some animated text ... */ -#ing { width: 500px } +#ing { + width: 500px +} /* ... so we define display to `inline-block` to enable transforms and @@ -338,10 +364,10 @@ a:focus { #ing b { display: inline-block; -webkit-transition: 0.5s; - -moz-transition: 0.5s; - -ms-transition: 0.5s; - -o-transition: 0.5s; - transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } /* @@ -350,10 +376,10 @@ a:focus { */ #ing.present .positioning { -webkit-transform: translateY(-10px); - -moz-transform: translateY(-10px); - -ms-transform: translateY(-10px); - -o-transform: translateY(-10px); - transform: translateY(-10px); + -moz-transform: translateY(-10px); + -ms-transform: translateY(-10px); + -o-transform: translateY(-10px); + transform: translateY(-10px); } /* @@ -361,16 +387,16 @@ a:focus { */ #ing.present .rotating { -webkit-transform: rotate(-10deg); - -moz-transform: rotate(-10deg); - -ms-transform: rotate(-10deg); - -o-transform: rotate(-10deg); - transform: rotate(-10deg); + -moz-transform: rotate(-10deg); + -ms-transform: rotate(-10deg); + -o-transform: rotate(-10deg); + transform: rotate(-10deg); -webkit-transition-delay: 0.25s; - -moz-transition-delay: 0.25s; - -ms-transition-delay: 0.25s; - -o-transition-delay: 0.25s; - transition-delay: 0.25s; + -moz-transition-delay: 0.25s; + -ms-transition-delay: 0.25s; + -o-transition-delay: 0.25s; + transition-delay: 0.25s; } /* @@ -378,16 +404,16 @@ a:focus { */ #ing.present .scaling { -webkit-transform: scale(0.7); - -moz-transform: scale(0.7); - -ms-transform: scale(0.7); - -o-transform: scale(0.7); - transform: scale(0.7); + -moz-transform: scale(0.7); + -ms-transform: scale(0.7); + -o-transform: scale(0.7); + transform: scale(0.7); -webkit-transition-delay: 0.5s; - -moz-transition-delay: 0.5s; - -ms-transition-delay: 0.5s; - -o-transition-delay: 0.5s; - transition-delay: 0.5s; + -moz-transition-delay: 0.5s; + -ms-transition-delay: 0.5s; + -o-transition-delay: 0.5s; + transition-delay: 0.5s; } /* @@ -415,7 +441,7 @@ a:focus { #source { width: 700px; padding-bottom: 300px; - + /* Yoda Icon :: Pixel Art from Star Wars http://www.pixeljoint.com/pixelart/1423.htm */ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYCAMAAACwUBm+AAAAAXNSR0IArs4c6QAAAKtQTFRFsAAAvbWSLUUrLEQqY1s8UYJMqJ1vNTEgOiIdIzYhjIFVLhsXZ6lgSEIsP2U8JhcCVzMsSXZEgXdOO145XJdWOl03LzAYMk4vSXNExr+hwcuxRTs1Qmk+RW9Am49eFRANQz4pUoNMQWc+OSMDTz0wLBsCNVMxa2NBOyUDUoNNSnlEWo9VRGxAVzYFl6tXCggHbLNmMUIcHhwTXkk5f3VNRT8wUT8xAAAACQocRBWFFwAAAAF0Uk5TAEDm2GYAAAPCSURBVHja7d3JctNAFIZRMwRCCGEmzPM8z/D+T8bu/ptbXXJFdij5fMt2Wuo+2UgqxVmtttq5WVotLzBgwIABAwYMGDCn0qVqbo69psPqVpWx+1XG5iaavF8wYMCAAQMGDBgwi4DJ6Y6qkxB1HNlcN3a92gbR5P2CAQMGDBgwYMCAWSxMlrU+UY5yu2l9okfV4bAxUVbf7TJnAwMGDBgwYMCAAbMLMHeqbGR82Zy+VR1Ht81nVca6R+UdTLaU24Ruzd3qM/e4yjnAgAEDBgwYMGDA7AJMd1l/3NRdVGcj3eX/2WEhCmDGxnM7yqygu8XIPjJj8iN/MGDAgAEDBgwYMAuDGb8q0RGlLCHLv1t9qDKWn3vdNHVuEI6HPaxO9Jo3GDBgwIABAwYMmIXBdC9ShGgMk+XnkXUeuGcsP/e1+lhNnZsL/G5Vs3OAAQMGDBgwYMCAWSxMR3SzOmraG5atdy9wZKzb+vg16qyqe2FltbnAgAEDBgwYMGDALAxmTJSuN3WA76rnVca6GTnemGN1WoEBAwYMGDBgwIBZGMxUomy4+xO899V4LAg5Xnc2MGDAgAEDBgwYMGA218Wq+2K1LDqvY9xZu8zN8fICdM6btYABAwYMGDBgwIABMzfH0+pGU5afze2tXebmeAfVz+p8BQYMGDBgwIABAwbMPBzZ+oWmfJrln1273FhkbHzee9WWbw7AgAEDBgwYMGDALAKm43hcdctKgblcPamOhuXnXlY5Xs6bsW4FGyQCAwYMGDBgwIABswiYMceZKgvMo+h8mrHLTdn676rj+FEFoTtHd8MwOxEYMGDAgAEDBgyYRcBM5UhXqiymW3R3c9ARhWO/OmjqfjVZy+xEYMCAAQMGDBgwYBYG073OnCV0RFNhMhaOa9WfKmOB6XjHMN1tQmaAAQMGDBgwYMCA2VWY7vXjz1U4croAzgPztwIDBgwYMGDAgAEDZhswh035NBw59Dww3RgYMGDAgAEDBgwYMJuD6f4tXT7NUqfCdBvZLkxXdgQGDBgwYMCAAQNmt2DGj8WzwAfV/w7T/aq7mxwwYMCAAQMGDBgwuwqTOo7uTwTngflSzQ3TdaJvAwEDBgwYMGDAgAED5gSvgbyo5oHZ4Pc+gwEDBgwYMGDAgAEzhOm+5G0qTGaAAQMGDBgwYMCAAXNaMOcnls3tNwWm+zRzp54NDBgwYMCAAQMGDJh5YNL36k1TLuGvVq+qnKMbS5n7tulT9asCAwYMGDBgwIABA2ZumKuztLnjgQEDBgwYMGDAgNl5mH/4/ltKA6vBNAAAAABJRU5ErkJggg==); background-position: bottom right; @@ -436,10 +462,10 @@ a:focus { */ #its-in-3d p { -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; /* Y U need this Firefox?! */ - -ms-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - transform-style: preserve-3d; + -moz-transform-style: preserve-3d; /* Y U need this Firefox?! */ + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; } /* @@ -452,75 +478,75 @@ a:focus { #its-in-3d b { display: inline-block; -webkit-transform: translateZ(40px); - -moz-transform: translateZ(40px); - -ms-transform: translateZ(40px); - -o-transform: translateZ(40px); - transform: translateZ(40px); - + -moz-transform: translateZ(40px); + -ms-transform: translateZ(40px); + -o-transform: translateZ(40px); + transform: translateZ(40px); + -webkit-transition: 0.5s; - -moz-transition: 0.5s; - -ms-transition: 0.5s; - -o-transition: 0.5s; - transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + -o-transition: 0.5s; + transition: 0.5s; } #its-in-3d .have { -webkit-transform: translateZ(-40px); - -moz-transform: translateZ(-40px); - -ms-transform: translateZ(-40px); - -o-transform: translateZ(-40px); - transform: translateZ(-40px); + -moz-transform: translateZ(-40px); + -ms-transform: translateZ(-40px); + -o-transform: translateZ(-40px); + transform: translateZ(-40px); } #its-in-3d .you { -webkit-transform: translateZ(20px); - -moz-transform: translateZ(20px); - -ms-transform: translateZ(20px); - -o-transform: translateZ(20px); - transform: translateZ(20px); + -moz-transform: translateZ(20px); + -ms-transform: translateZ(20px); + -o-transform: translateZ(20px); + transform: translateZ(20px); } #its-in-3d .noticed { -webkit-transform: translateZ(-40px); - -moz-transform: translateZ(-40px); - -ms-transform: translateZ(-40px); - -o-transform: translateZ(-40px); - transform: translateZ(-40px); + -moz-transform: translateZ(-40px); + -ms-transform: translateZ(-40px); + -o-transform: translateZ(-40px); + transform: translateZ(-40px); } #its-in-3d .its { -webkit-transform: translateZ(60px); - -moz-transform: translateZ(60px); - -ms-transform: translateZ(60px); - -o-transform: translateZ(60px); - transform: translateZ(60px); + -moz-transform: translateZ(60px); + -ms-transform: translateZ(60px); + -o-transform: translateZ(60px); + transform: translateZ(60px); } #its-in-3d .in { -webkit-transform: translateZ(-10px); - -moz-transform: translateZ(-10px); - -ms-transform: translateZ(-10px); - -o-transform: translateZ(-10px); - transform: translateZ(-10px); + -moz-transform: translateZ(-10px); + -ms-transform: translateZ(-10px); + -o-transform: translateZ(-10px); + transform: translateZ(-10px); } #its-in-3d .footnote { font-size: 32px; -webkit-transform: translateZ(-10px); - -moz-transform: translateZ(-10px); - -ms-transform: translateZ(-10px); - -o-transform: translateZ(-10px); - transform: translateZ(-10px); + -moz-transform: translateZ(-10px); + -ms-transform: translateZ(-10px); + -o-transform: translateZ(-10px); + transform: translateZ(-10px); } #its-in-3d.present span, #its-in-3d.present b { -webkit-transform: translateZ(0px); - -moz-transform: translateZ(0px); - -ms-transform: translateZ(0px); - -o-transform: translateZ(0px); - transform: translateZ(0px); + -moz-transform: translateZ(0px); + -ms-transform: translateZ(0px); + -o-transform: translateZ(0px); + transform: translateZ(0px); } /* @@ -529,17 +555,32 @@ a:focus { to be able to click on other steps. */ -#overview { display: none } +/*#overview { + display: none +}*/ + +/* Overview step has no background or border */ + +.overview { + background-color: transparent; + border: none; + box-shadow: none; + pointer-events: none; + display: none; +} +.overview.active { + display: block; + pointer-events: auto; +} /* We also make other steps visible and give them a pointer cursor using the `impress-on-` class. */ -.impress-on-overview .step { +/*.impress-on-overview .step { opacity: 1; cursor: pointer; -} - +}*/ /* Now, when we have all the steps styled let's give users a hint how to navigate @@ -589,7 +630,7 @@ a:focus { impress.js, as they will have a linear scrollable view ... */ display: none; - + /* ... and give it some fixed position and nice styles. */ @@ -597,29 +638,29 @@ a:focus { left: 0; right: 0; bottom: 200px; - - background: rgba(0,0,0,0.5); + + background: rgba(0, 0, 0, 0.5); color: #EEE; text-align: center; - + font-size: 50px; padding: 20px; - + z-index: 100; - + /* By default we don't want the hint to be visible, so we make it transparent ... */ opacity: 0; - + /* ... and position it below the bottom of the screen (relative to it's fixed position) */ -webkit-transform: translateY(400px); - -moz-transform: translateY(400px); - -ms-transform: translateY(400px); - -o-transform: translateY(400px); - transform: translateY(400px); + -moz-transform: translateY(400px); + -ms-transform: translateY(400px); + -o-transform: translateY(400px); + transform: translateY(400px); /* Now let's imagine that the hint is visible and we want to fade it out and move out @@ -632,16 +673,18 @@ a:focus { This way user will not see the hint moving down. */ -webkit-transition: opacity 1s, -webkit-transform 0.5s 1s; - -moz-transition: opacity 1s, -moz-transform 0.5s 1s; - -ms-transition: opacity 1s, -ms-transform 0.5s 1s; - -o-transition: opacity 1s, -o-transform 0.5s 1s; - transition: opacity 1s, transform 0.5s 1s; + -moz-transition: opacity 1s, -moz-transform 0.5s 1s; + -ms-transition: opacity 1s, -ms-transform 0.5s 1s; + -o-transition: opacity 1s, -o-transform 0.5s 1s; + transition: opacity 1s, transform 0.5s 1s; } /* Now we 'enable' the hint when presentation is initialized ... */ -.impress-enabled .hint { display: block } +.impress-enabled .hint { + display: block +} /* ... and we will show it when the first step (with id 'bored') is active. @@ -652,13 +695,13 @@ a:focus { position. */ opacity: 1; - + -webkit-transform: translateY(0px); - -moz-transform: translateY(0px); - -ms-transform: translateY(0px); - -o-transform: translateY(0px); - transform: translateY(0px); - + -moz-transform: translateY(0px); + -ms-transform: translateY(0px); + -o-transform: translateY(0px); + transform: translateY(0px); + /* Now for fade in transition we have the oposite situation from the one above. @@ -668,10 +711,10 @@ a:focus { transition. */ -webkit-transition: opacity 1s 5s, -webkit-transform 0.5s 4.5s; - -moz-transition: opacity 1s 5s, -moz-transform 0.5s 4.5s; - -ms-transition: opacity 1s 5s, -ms-transform 0.5s 4.5s; - -o-transition: opacity 1s 5s, -o-transform 0.5s 4.5s; - transition: opacity 1s 5s, transform 0.5s 4.5s; + -moz-transition: opacity 1s 5s, -moz-transform 0.5s 4.5s; + -ms-transition: opacity 1s 5s, -ms-transform 0.5s 4.5s; + -o-transition: opacity 1s 5s, -o-transform 0.5s 4.5s; + transition: opacity 1s 5s, transform 0.5s 4.5s; } /* @@ -695,8 +738,13 @@ a:focus { So use it wisely ... or don't use at all. */ -.impress-enabled { pointer-events: none } -.impress-enabled #impress { pointer-events: auto } +.impress-enabled { + pointer-events: none +} + +.impress-enabled #impress { + pointer-events: auto +} /* There is one funny thing I just realized. @@ -727,6 +775,7 @@ a:focus { opacity: 0.6; z-index: 10; } + .impress-enabled div#impress-toolbar > span { margin-right: 10px; } @@ -746,8 +795,6 @@ body.impress-mouse-timeout { cursor: none; } - - /* Progress bar */ .impress-progressbar { position: absolute; @@ -757,6 +804,7 @@ body.impress-mouse-timeout { border-radius: 7px; border: 2px solid rgba(100, 100, 100, 0.2); } + .impress-progressbar DIV { width: 0; height: 2px; @@ -764,6 +812,7 @@ body.impress-mouse-timeout { background: rgba(75, 75, 75, 0.4); transition: width 1s linear; } + .impress-progress { position: absolute; left: 59px; @@ -788,6 +837,7 @@ body.impress-mouse-timeout { z-index: 100; font-family: Verdana, Arial, Sans; } + .impress-enabled #impress-help td { padding-left: 1em; padding-right: 1em; @@ -804,7 +854,18 @@ body.impress-mouse-timeout { transition: opacity 1s; } -.impress-enabled { pointer-events: none } -.impress-enabled #impress { pointer-events: auto } -.impress-enabled #impress-toolbar { pointer-events: auto } -.impress-enabled #impress-console-button { pointer-events: auto } +.impress-enabled { + pointer-events: none +} + +.impress-enabled #impress { + pointer-events: auto +} + +.impress-enabled #impress-toolbar { + pointer-events: auto +} + +.impress-enabled #impress-console-button { + pointer-events: auto +} diff --git a/src/main/java/com/fr/plugin/easyslides/web/widget.js b/src/main/java/com/fr/plugin/easyslides/web/widget.js index ef681de..866d4d2 100644 --- a/src/main/java/com/fr/plugin/easyslides/web/widget.js +++ b/src/main/java/com/fr/plugin/easyslides/web/widget.js @@ -17,7 +17,6 @@ var myWidgetName = o.widgetName; var myWidget = this.element; var contents = o.value; - debugger; //var $topdiv = $("[widgetname='" +o.widgetName+ "']"); myWidget.css("background-color", o.backgroundColor); @@ -48,7 +47,9 @@ 'height': height / hScale + 'px', 'font-size': width * height / fontScale + 'px', 'line-height': width * height / lhScale + 'px', - 'padding': width / padxScale + 'px ' + height / padyScale + 'px' + 'padding': width / padxScale + 'px ' + height / padyScale + 'px', + 'background-color': o.slideBackgroundColor, + 'color': o.slideFontColor }); }); diff --git a/超酷幻灯片/fr-plugin-widget-easyslides-1.0.zip b/超酷幻灯片/fr-plugin-widget-easyslides-1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..166382f69880b1c7624457ad11600aa45e076c12 GIT binary patch literal 113054 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 XSC9sW_|I&>zmEA2`wngYIRO6)`F8bY literal 0 HcmV?d00001