thumbs.xml.bak 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666
  1. <!-- skin events -->
  2. <krpano>
  3. <skin_settings
  4. thumbs="true"
  5. thumbs_width="280" thumbs_height="220" thumbs_padding="25" thumbs_crop="0|0|670|482"
  6. mthumbs_width="300" mthumbs_height="200" mthumbs_padding="0" mthumbs_crop="0|0|670|482"
  7. thumbs_opened="false"
  8. thumbs_text="true"
  9. thumbs_dragging="true"
  10. thumbs_onhoverscrolling="false"
  11. thumbs_scrollbuttons="false"
  12. thumbs_scrollindicator="false"
  13. thumbs_loop="false"
  14. deeplinking="false"
  15. loadscene_blend="BLEND(1)"
  16. loadscene_blend_prev="BLEND(1)"
  17. loadscene_blend_next="BLEND(1)"
  18. design_thumbborder_bgborder="4 0xaf8c48 1.0"
  19. design_thumbborder_padding="2"
  20. design_thumbborder_bgroundedge="5"
  21. design_text_css="color:#FFFFFF; font-family:Arial; font-weight:bold;"
  22. thumbscc="null"
  23. thumbscount="0"
  24. />
  25. <layer name="skin_scroll_container" type="container" keep="true" align.normal="center" align.mobile="right" zorder="100"
  26. width.normal="80%" width.mobile="300" height.normal="240" height.mobile="100%" x="0" y="0" bgroundedge="0" bgcolor="#000" maskchildren="true" >
  27. <!-- <layer name="skin_thumbs_scrollleft" style="skin_glow" url="%SWFPATH%/img/ui/left.jpg" align="left" x="0" y="0" height="100%" width="prop" zorder="2" alpha="1.0" ondown2="asyncloop(pressed, layer[skin_thumbs].scrollby(+2,0));" visible="true" />
  28. <layer name="skin_thumbs_scrollright" style="skin_glow" url="%SWFPATH%/img/ui/right.jpg" align="right" x="0" y="0" height="100%" width="prop" zorder="2" alpha="1.0" ondown2="asyncloop(pressed, layer[skin_thumbs].scrollby(-2,0));" visible="true" /> -->
  29. <layer name="skin_thumbs_container" type="container" align="center" width="100%" height="100%" visible="true">
  30. <layer name="skin_thumbs" state="opened" url.flash="%SWFPATH%/plugins/scrollarea.swf" url.html5="%SWFPATH%/plugins/scrollarea.js" direction.normal="h" direction.mobile="v" align.normal="center" align.mobile="top"
  31. width.normal="500" width.mobile="90%" height.normal="90%" height.mobile="600" zorder="1" onloaded="skin_updatescroll();" onscroll="skin_updatethumbscroll();" />
  32. </layer>
  33. </layer>
  34. <events name="skin_events" keep="true"
  35. onxmlcomplete="set(events[skin_events].onxmlcomplete,null); skin_startup();"
  36. onnewpano="skin_showloading(true); skin_deeplinking_update_url();activatespot();skin_startup();"
  37. onremovepano="skin_showloading(true);"
  38. onloadcomplete="skin_showloading(false);"
  39. onidle="skin_deeplinking_update_url();"
  40. onkeydown="skin_keydown_event();"
  41. onmousedown="skin_showthumbs(false);"
  42. />
  43. <style name="thumbborder_style" keep="true" type="container" zorder="5" width.normal="calc:skin_settings.thumbs_width" height.normal="calc:skin_settings.thumbs_height" width.mobile="calc:skin_settings.mthumbs_width" height.mobile="calc:skin_settings.mthumbs_height"
  44. visible="true" enabled="false" align="lefttop" bgborder="0" bgcolor.normal="0x0e89fc" bgcolor.mobile="0x211d1a" bgalpha="1"/>
  45. <style name="skin_thumbtext_style" url="%SWFPATH%/plugins/textfield.swf" align="bottom" width="100%" autoheight="true" y="0" enabled="false" background="true" bgalp="0.8" backgroundcolor="0x000" border="false" css="calc:skin_settings.design_text_css + ' text-align:center; font-size:14px;'" textshadow="get:skin_settings.design_text_shadow" />
  46. <!-- skin actions -->
  47. <action name="skin_startup">
  48. set(ggid,get(scene[get(xml.scene)].gid));
  49. if(ggid == skin_settings.thumbscc,
  50. skin_update_scene_infos();
  51. skin_updatescroll();
  52. ,
  53. clearthumbs();
  54. );
  55. </action>
  56. <!-- 添加导览 -->
  57. <action name="groupthumbs">
  58. for(set(i,0), i LT scene.count, inc(i),
  59. if(scene[get(i)].gid == ggid
  60. ,
  61. if(groupscenes,
  62. set(groupscenes[get(groupscenes.count)].value,get(scene[get(i)].name));
  63. ,
  64. set(groupscenes[0].value,get(scene[get(i)].name));
  65. );
  66. set(skin_settings.thumbscc,get(ggid));
  67. );
  68. );
  69. skin_addthumbs();
  70. </action>
  71. <action name="clearthumbs">
  72. if(groupscenes,
  73. for(set(i,0), i LT groupscenes.count, ,
  74. groupscenes.removearrayitem(get(i));
  75. );
  76. for(set(r,0), r LT layer.count, inc(r),
  77. if(layer[get(r)].parent == skin_thumbs,
  78. removelayer(get(layer[get(r)].name), true);
  79. sub(r,2);
  80. );
  81. );
  82. );
  83. addlayer(skin_thumbborder);
  84. layer[skin_thumbborder].loadstyle(thumbborder_style);
  85. groupthumbs();
  86. </action>
  87. <action name="groupthumbs2">
  88. for(set(i,0), i LT scene.count, inc(i),
  89. subtxt(newscenename,get(scene[get(i)].name),6,5);
  90. if(newscenename == skin_settings.thumbscc,
  91. ,
  92. if(groupscenes,
  93. set(namecf,false);
  94. for(set(j,0), j LT groupscenes.count, inc(j),
  95. subtxt(newscenenamen,get(groupscenes[get(j)].value),6,5);
  96. if(newscenenamen == newscenename ,
  97. set(namecf,true);
  98. );
  99. );
  100. if(namecf == false,
  101. set(groupscenes[get(groupscenes.count)].value,get(scene[get(i)].name));
  102. );
  103. ,
  104. set(groupscenes[0].value,get(scene[get(i)].name));
  105. );
  106. set(skin_settings.thumbscc,get(newscenename));
  107. );
  108. );
  109. skin_addthumbs
  110. </action>
  111. <action name="skin_addthumbs">
  112. if(device.mobile
  113. ,mskin_addthumbs();
  114. ,
  115. copy(thumbwidth, skin_settings.thumbs_width);
  116. copy(thumbheight, skin_settings.thumbs_height);
  117. copy(thumbpadding, skin_settings.thumbs_padding);
  118. copy(thumbcrop, skin_settings.thumbs_crop);
  119. add(thumbxoffset, thumbwidth, thumbpadding);
  120. mul(thumbxcenter, thumbxoffset, 0.5);
  121. mul(thumbbarwidth, thumbxoffset, groupscenes.count);
  122. add(thumbbarwidth, thumbpadding);
  123. add(thumbbarheight, thumbpadding, thumbheight);
  124. add(thumbbarheight, thumbpadding);
  125. if(skin_settings.thumbs_scrollindicator,
  126. copy(layer[skin_thumbs_scrollindicator].y, thumbbarheight);
  127. add(thumbbarheight, layer[skin_thumbs_scrollindicator].height);
  128. );
  129. copy(layer[skin_thumbs].height, thumbbarheight);
  130. copy(layer[skin_thumbs].width, thumbbarwidth);
  131. mul(halfheight, thumbbarheight, 0.5);
  132. for(set(i,0), i LT groupscenes.count, inc(i),
  133. txtadd(thumbname,'skin_thumb_',get(i));
  134. addlayer(get(thumbname));
  135. if(isen,
  136. txtadd(layer[get(thumbname)].url, %SWFPATH%/img/ethumbs/,get(scene[get(groupscenes[get(i)].value)].name),.png);
  137. ,
  138. txtadd(layer[get(thumbname)].url, %SWFPATH%/img/thumbs/,get(scene[get(groupscenes[get(i)].value)].name),.png);
  139. );
  140. set(layer[get(thumbname)].keep, true);
  141. set(layer[get(thumbname)].parent, 'skin_thumbs');
  142. set(layer[get(thumbname)].align, lefttop);
  143. copy(layer[get(thumbname)].crop, thumbcrop);
  144. copy(layer[get(thumbname)].width, thumbwidth);
  145. copy(layer[get(thumbname)].height, thumbheight);
  146. set(layer[get(thumbname)].zorder, 10);
  147. mul(thumbx,i, thumbxoffset);
  148. add(thumbx, thumbpadding);
  149. copy(layer[get(thumbname)].x, thumbx);
  150. copy(layer[get(thumbname)].y, thumbpadding);
  151. add(scene[get(i)].thumbx, thumbx, thumbxcenter);
  152. copy(scene[get(i)].thumby, thumbpadding);
  153. set(layer[get(thumbname)].linkedscene, get(groupscenes[get(i)].value) );
  154. set(layer[get(thumbname)].onclick, txtadd(layer[skin_thumbborder].parent, get(name),bg);skin_showthumbs(false); loadscene(get(linkedscene),null,get(skin_settings.loadscene_flags),get(skin_settings.loadscene_blend));skin_update_scene_infos(); );
  155. if(skin_settings.tooltips_thumbs,
  156. set(layer[get(thumbname)].tooltip, get(scene[get(groupscenes[get(i)].value)].title) );
  157. layer[get(thumbname)].loadstyle(skin_tooltips);
  158. );
  159. if(skin_settings.thumbs_text,
  160. txtadd(thumbtext, 'skin_thumbtext_', get(i));
  161. addlayer(get(thumbtext));
  162. layer[get(thumbtext)].loadstyle(skin_thumbtext_style);
  163. set(layer[get(thumbtext)].keep, true);
  164. set(layer[get(thumbtext)].parent, get(thumbname));
  165. set(layer[get(thumbtext)].html, get(scene[get(groupscenes[get(i)].value)].grouptitle));
  166. );
  167. txtadd(thumbnamebg,'skin_thumb_',get(i),bg);
  168. addlayer(get(thumbnamebg));
  169. set(layer[get(thumbnamebg)].type, container);
  170. set(layer[get(thumbnamebg)].bgcolor, 0x000000);
  171. set(layer[get(thumbnamebg)].bgalpha, 0.3);
  172. set(layer[get(thumbnamebg)].zorder, 1);
  173. set(layer[get(thumbnamebg)].keep, true);
  174. set(layer[get(thumbnamebg)].parent, 'skin_thumbs');
  175. set(layer[get(thumbnamebg)].align, lefttop);
  176. copy(layer[get(thumbnamebg)].crop, thumbcrop);
  177. copy(layer[get(thumbnamebg)].width, thumbwidth);
  178. copy(layer[get(thumbnamebg)].height, thumbheight);
  179. mul(thumbx,i, thumbxoffset);
  180. add(thumbx, thumbpadding);
  181. copy(layer[get(thumbnamebg)].x, thumbx);
  182. copy(layer[get(thumbnamebg)].y, thumbpadding);
  183. );
  184. );
  185. skin_update_scene_infos();
  186. skin_updatescroll();
  187. </action>
  188. <action name="mskin_addthumbs">
  189. copy(thumbwidth, skin_settings.mthumbs_width);
  190. copy(thumbheight, skin_settings.mthumbs_height);
  191. copy(thumbpadding, skin_settings.mthumbs_padding);
  192. copy(thumbcrop, skin_settings.mthumbs_crop);
  193. add(thumbyoffset, thumbheight, thumbpadding);
  194. mul(thumbycenter, thumbyoffset, 0.5);
  195. mul(thumbbarheight, thumbyoffset, groupscenes.count);
  196. add(thumbbarheight, thumbpadding);
  197. add(thumbbarwidth, thumbpadding, thumbwidth);
  198. add(thumbbarwidth, thumbpadding);
  199. if(skin_settings.thumbs_scrollindicator,
  200. copy(layer[skin_thumbs_scrollindicator].y, thumbbarheight);
  201. add(thumbbarheight, layer[skin_thumbs_scrollindicator].height);
  202. );
  203. copy(layer[skin_thumbs].height, thumbbarheight);
  204. copy(layer[skin_thumbs].width, thumbbarwidth);
  205. mul(halfheight, thumbbarheight, 0.5);
  206. for(set(i,0), i LT groupscenes.count, inc(i),
  207. txtadd(thumbname,'skin_thumb_',get(i));
  208. addlayer(get(thumbname));
  209. if(isen,
  210. txtadd(layer[get(thumbname)].url, %SWFPATH%/img/ethumbs/,get(scene[get(groupscenes[get(i)].value)].name),.png);
  211. ,
  212. txtadd(layer[get(thumbname)].url, %SWFPATH%/img/thumbs/,get(scene[get(groupscenes[get(i)].value)].name),.png);
  213. );
  214. set(layer[get(thumbname)].keep, true);
  215. set(layer[get(thumbname)].parent, 'skin_thumbs');
  216. set(layer[get(thumbname)].align, top);
  217. copy(layer[get(thumbname)].crop, thumbcrop);
  218. copy(layer[get(thumbname)].width, thumbwidth);
  219. copy(layer[get(thumbname)].height, thumbheight);
  220. set(layer[get(thumbname)].zorder, 10);
  221. mul(thumby,i, thumbyoffset);
  222. add(thumby, thumbpadding);
  223. copy(layer[get(thumbname)].x, thumbpadding);
  224. copy(layer[get(thumbname)].y, thumby);
  225. add(scene[get(i)].thumby, thumby, thumbycenter);
  226. copy(scene[get(i)].thumbx, thumbpadding);
  227. set(layer[get(thumbname)].linkedscene, get(groupscenes[get(i)].value) );
  228. set(layer[get(thumbname)].onclick, txtadd(layer[skin_thumbborder].parent, get(name),bg); skin_showthumbs(false); loadscene(get(linkedscene),null,get(skin_settings.loadscene_flags),get(skin_settings.loadscene_blend));skin_update_scene_infos(); );
  229. if(skin_settings.tooltips_thumbs,
  230. set(layer[get(thumbname)].tooltip, get(scene[get(groupscenes[get(i)].value)].title) );
  231. layer[get(thumbname)].loadstyle(skin_tooltips);
  232. );
  233. if(skin_settings.thumbs_text,
  234. txtadd(thumbtext, 'skin_thumbtext_', get(i));
  235. addlayer(get(thumbtext));
  236. layer[get(thumbtext)].loadstyle(skin_thumbtext_style);
  237. set(layer[get(thumbtext)].keep, true);
  238. set(layer[get(thumbtext)].parent, get(thumbname));
  239. set(layer[get(thumbtext)].html, get(scene[get(groupscenes[get(i)].value)].grouptitle));
  240. );
  241. txtadd(thumbnamebg,'skin_thumb_',get(i),bg);
  242. addlayer(get(thumbnamebg));
  243. set(layer[get(thumbnamebg)].type, container);
  244. set(layer[get(thumbnamebg)].bgcolor, 0x443a33);
  245. set(layer[get(thumbnamebg)].bgalpha, 1);
  246. set(layer[get(thumbnamebg)].zorder, 1);
  247. set(layer[get(thumbnamebg)].keep, true);
  248. set(layer[get(thumbnamebg)].parent, 'skin_thumbs');
  249. set(layer[get(thumbnamebg)].align, lefttop);
  250. copy(layer[get(thumbnamebg)].crop, thumbcrop);
  251. copy(layer[get(thumbnamebg)].width, thumbwidth);
  252. copy(layer[get(thumbnamebg)].height, thumbheight);
  253. mul(thumby,i, thumbyoffset);
  254. add(thumby, thumbpadding);
  255. copy(layer[get(thumbnamebg)].x, thumbpadding);
  256. copy(layer[get(thumbnamebg)].y, thumby);
  257. );
  258. </action>
  259. <action name="skin_updatescroll">
  260. if(layer[skin_thumbs].loaded,
  261. set(cursceneindex, 0);
  262. if(xml.scene, copy(cursceneindex, scene[get(xml.scene)].index));
  263. layer[skin_thumbs].setcenter(get(scene[get(cursceneindex)].thumbx), get(scene[get(cursceneindex)].thumby));
  264. );
  265. </action>
  266. <action name="skin_updatethumbscroll">
  267. copy(padding,skin_settings.thumbs_padding);
  268. if(skin_settings.thumbs_scrollbuttons,
  269. if(loverflow GT 0, set(layer[skin_thumbs_scrollleft].visible,true), set(layer[skin_thumbs_scrollleft].visible,false) );
  270. if(roverflow GT 0, set(layer[skin_thumbs_scrollright].visible,true), set(layer[skin_thumbs_scrollright].visible,false) );
  271. );
  272. if(skin_settings.thumbs_scrollindicator,
  273. if(woverflow GT 0,
  274. set(layer[skin_thumbs_scrollindicator].visible,true);
  275. sub(iw,pixelwidth,woverflow);
  276. div(pw,iw,pixelwidth);
  277. div(px,loverflow,woverflow);
  278. mul(pw,iw);
  279. copy(layer[skin_thumbs_scrollindicator].width,pw);
  280. sub(iw,pw);
  281. sub(iw,padding);
  282. sub(iw,padding);
  283. mul(px,iw);
  284. add(px,padding);
  285. copy(layer[skin_thumbs_scrollindicator].x,px);
  286. ,
  287. set(layer[skin_thumbs_scrollindicator].visible,false);
  288. );
  289. );
  290. </action>
  291. <action name="skin_update_scene_infos">
  292. if(xml.scene !== null AND scene[get(xml.scene)].index GE 0,
  293. if(skin_settings.thumbs_loop == false,
  294. if(scene[get(xml.scene)].index GT 0,
  295. set(layer[skin_btn_prev].enabled, true);
  296. set(layer[skin_btn_prev].alpha, 1.0);
  297. ,
  298. set(layer[skin_btn_prev].enabled, false);
  299. set(layer[skin_btn_prev].alpha, 0.3);
  300. );
  301. sub(lastsceneindex, scene.count, 1);
  302. if(scene[get(xml.scene)].index LT lastsceneindex,
  303. set(layer[skin_btn_next].enabled, true);
  304. set(layer[skin_btn_next].alpha, 1.0);
  305. ,
  306. set(layer[skin_btn_next].enabled, false);
  307. set(layer[skin_btn_next].alpha, 0.3);
  308. );
  309. ,
  310. if(scene.count GT 1,
  311. set(layer[skin_btn_prev].enabled, true);
  312. set(layer[skin_btn_prev].alpha, 1.0);
  313. set(layer[skin_btn_next].enabled, true);
  314. set(layer[skin_btn_next].alpha, 1.0);
  315. ,
  316. set(layer[skin_btn_prev].enabled, false);
  317. set(layer[skin_btn_prev].alpha, 0.3);
  318. set(layer[skin_btn_next].enabled, false);
  319. set(layer[skin_btn_next].alpha, 0.3);
  320. );
  321. );
  322. if(scene.count GT 1,
  323. set(layer[skin_btn_prev_fs].visible, true);
  324. set(layer[skin_btn_next_fs].visible, true);
  325. ,
  326. set(layer[skin_btn_prev_fs].visible, false);
  327. set(layer[skin_btn_next_fs].visible, false);
  328. );
  329. subtxt(newscenenamep,get(scene[get(xml.scene)].name),6,5);
  330. initmap(get(newscenenamep));
  331. set(tumindex,0);
  332. for(set(i,0), i LT groupscenes.count, inc(i),
  333. subtxt(newscenenamep2,get(groupscenes[get(i)].value),6,5);
  334. if(newscenenamep == newscenenamep2,
  335. set(tumindex,get(groupscenes[get(i)].index));
  336. );
  337. );
  338. txtadd(parentname, 'skin_thumb_', get(tumindex));
  339. if(layer[get(parentname)],
  340. txtadd(parentbg,get(parentname),bg);
  341. if(layer[skin_thumbborder].parent == get(parentbg),,
  342. set(layer[skin_thumbborder].parent, get(parentbg));
  343. set(layer[skin_thumbborder].visible, true);
  344. mini_startup();
  345. nexttick(mini_update_scene_infos);
  346. );
  347. ,
  348. set(layer[skin_thumbborder].visible, false);
  349. );
  350. );
  351. </action>
  352. <action name="skin_gotoscene">
  353. if(scene[%1],
  354. copy(cursceneindex, scene[get(xml.scene)].index);
  355. copy(newsceneindex, scene[%1].index);
  356. txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex),bg);
  357. layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
  358. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(newsceneindex LT cursceneindex ? skin_settings.loadscene_blend_prev : (newsceneindex GT cursceneindex ? skin_settings.loadscene_blend_next : skin_settings.loadscene_blend)));
  359. );
  360. </action>
  361. <action name="skin_nextscene">
  362. add(newsceneindex, scene[get(xml.scene)].index, %1);
  363. if(newsceneindex GE 0 AND newsceneindex LT scene.count,
  364. txtadd(layer[skin_thumbborder].parent, 'skin_thumb_', get(newsceneindex),bg);
  365. layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
  366. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(%1 LT 0 ? skin_settings.loadscene_blend_prev : skin_settings.loadscene_blend_next));
  367. );
  368. </action>
  369. <action name="skin_nextscene_loop">
  370. add(newsceneindex, scene[get(xml.scene)].index, %1);
  371. sub(lastsceneindex, scene.count, 1);
  372. if(newsceneindex LT 0, copy(newsceneindex,lastsceneindex));
  373. if(newsceneindex GT lastsceneindex, set(newsceneindex,0));
  374. layer[skin_thumbs].scrolltocenter(get(scene[get(newsceneindex)].thumbx), get(scene[get(newsceneindex)].thumby));
  375. loadscene(get(scene[get(newsceneindex)].name),null,get(skin_settings.loadscene_flags),calc(%1 LT 0 ? skin_settings.loadscene_blend_prev : skin_settings.loadscene_blend_next));
  376. </action>
  377. <action name="skin_showloading">
  378. if(display.stereo == true,
  379. set(layer[skin_loadingtext].visible, false);
  380. ,
  381. set(layer[skin_loadingtext].visible, %1);
  382. );
  383. </action>
  384. <action name="skin_hidetooltips">
  385. set(layer[skin_tooltip].alpha,0.0);
  386. set(layer[skin_tooltip].visible,false);
  387. </action>
  388. <action name="skin_buttonglow">
  389. if('%1' !== 'null',
  390. set(strength,0.7);
  391. if(%2 != null, set(strength,%2));
  392. set(layer[skin_buttonglow].parent, %1);
  393. set(layer[skin_buttonglow].visible, true);
  394. tween(layer[skin_buttonglow].alpha, get(strength), 0.07);
  395. ,
  396. tween(layer[skin_buttonglow].alpha, 0.0, 0.1, default,
  397. set(layer[skin_buttonglow].parent, null);
  398. set(layer[skin_buttonglow].visible, false);
  399. );
  400. );
  401. </action>
  402. <action name="skin_calc_opened_closed">
  403. set(layer[get(name)].y_opened, get(layer[get(name)].y));
  404. set(layer[get(name)].y_closed, calc(layer[get(name)].y - skin_settings.controlbar_offset - skin_settings.controlbar_height + skin_settings.controlbar_offset_closed));
  405. </action>
  406. <action name="skin_hideskin">
  407. if(layer[skin_map].state != 'closed', skin_showmap(false); wait(0.40); );
  408. if(layer[skin_thumbs].state != 'closed', skin_showthumbs(false); wait(0.25); );
  409. set(hidetime, calc('%1' == 'instant' ? 0.0 : 0.5));
  410. tween(layer[skin_scroll_window].y, get(layer[skin_scroll_window ].y_closed), get(hidetime));
  411. tween(layer[skin_splitter_bottom].y, get(layer[skin_splitter_bottom].y_closed), get(hidetime));
  412. tween(layer[skin_control_bar].y, get(layer[skin_control_bar ].y_closed), get(hidetime));
  413. tween(layer[skin_btn_prev_fs].x, 0, get(hidetime));
  414. tween(layer[skin_btn_next_fs].x, 0, get(hidetime));
  415. if(layer[skin_logo], tween(layer[skin_logo].alpha, 0.0, 0.5, default, set(layer[skin_logo].visible,false)); );
  416. stopdelayedcall(skin_btn_show_alpha);
  417. set(layer[skin_btn_show].visible, true);
  418. delayedcall(skin_btn_show_alpha, get(hidetime), tween(layer[skin_btn_show].alpha, 0.25, 0.25); );
  419. </action>
  420. <action name="skin_showthumbs">
  421. if(%1 == null, if(layer[skin_thumbs].state == 'closed', set(show,true), set(show,false)); , set(show,%1); );
  422. mul(mh, layer[skin_scroll_layer].pixelheight, -1);
  423. if(show,
  424. set(layer[btn1].crop,64|200|56|56);set(layer[mbtn1].crop,75|112|75|80);
  425. set(layer[skin_thumbs].state, 'opened');
  426. tween(layer[skin_thumbs].alpha, 1.0, 0.25);
  427. add(mh, layer[skin_thumbs].height);
  428. add(mh, layer[skin_scroll_layer].y_offset);
  429. tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint);
  430. set(layer[skin_thumbs_container].visible, true);
  431. tween(layer[skin_thumbs_container].alpha, 1.0, 0.25);
  432. tween(layer[skin_map].alpha, 0.0, 0.25, default, set(layer[skin_map].visible,false));
  433. ,
  434. set(layer[btn1].crop,8|200|56|56);set(layer[mbtn1].crop,0|112|75|80);
  435. set(layer[skin_thumbs].state, 'closed');
  436. tween(layer[skin_thumbs].alpha, 0.0, 0.25, easeOutQuint);
  437. add(mh, layer[skin_scroll_layer].y_offset);
  438. tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint, set(layer[skin_thumbs_container].visible, false););
  439. );
  440. </action>
  441. <action name="skin_showmap">
  442. if(%1 == null, if(layer[skin_map].state == 'closed', set(show,true), set(show,false)); , set(show,%1); );
  443. mul(mh, layer[skin_scroll_layer].pixelheight, -1);
  444. if(show,
  445. tween(layer[skin_thumbs_container].alpha, 0.0, 0.25, default, set(layer[skin_thumbs_container].visible,false));
  446. set(layer[skin_map].visible, true);
  447. tween(layer[skin_map].alpha, 1.0, 0.25);
  448. set(layer[skin_map].state, 'opened');
  449. sub(hh,area.pixelheight,skin_settings.controlbar_offset);
  450. sub(hh,layer[skin_control_bar].height);
  451. sub(hh,32);
  452. add(mh,hh);
  453. sub(hh,skin_settings.controlbar_overlap);
  454. copy(layer[skin_map].height, hh);
  455. tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint);
  456. ,
  457. if(layer[skin_map].state != 'closed',
  458. set(layer[skin_map].state, 'closed');
  459. add(mh, layer[skin_scroll_layer].y_offset);
  460. tween(layer[skin_map].alpha, 0.0, 0.5, easeOutQuint);
  461. tween(layer[skin_scroll_layer].y, get(mh), 0.5, easeOutQuint, set(layer[skin_map].visible,false) );
  462. );
  463. );
  464. </action>
  465. <action name="skin_keydown_event">
  466. if(keycode == 33, skin_nextscene_loop(-1) ); <!-- Page Up - previous scene -->
  467. if(keycode == 34, skin_nextscene_loop(+1) ); <!-- Page Dowm - next scene -->
  468. if(keycode == 35, skin_gotoscene(calc(scene.count-1)) ); <!-- End - last scene -->
  469. if(keycode == 36, skin_gotoscene(0) ); <!-- Home/Pos1 - first scene -->
  470. </action>
  471. <action name="skin_deeplinking_update_url">
  472. if(skin_settings.deeplinking AND (!webvr OR webvr.isenabled === false),
  473. copy(adr, browser.location);
  474. indexoftxt(qi, get(adr), '?');
  475. if(qi GT 0, subtxt(adr, adr, 0, get(qi)));
  476. copy(si, scene[get(xml.scene)].index);
  477. copy(h, view.hlookat);
  478. copy(v, view.vlookat);
  479. copy(f, view.fov);
  480. copy(d, view.distortion);
  481. copy(a, view.architectural);
  482. clamp(d, 0.0, 1.0);
  483. clamp(a, 0.0, 1.0);
  484. set(pp, calc(f LT 10 ? 6 : 2));
  485. roundval(h, get(pp));
  486. roundval(v, get(pp));
  487. roundval(f, get(pp));
  488. roundval(d, 2);
  489. roundval(a, 1);
  490. set(adr, calc(adr + '?startscene=' + si + '&amp;startactions=lookat('+h+','+v+','+f+','+d+','+a+');'));
  491. js( history.replaceState(null, document.title, get(adr)); );
  492. );
  493. </action>
  494. </krpano>