<krpano>

<glinks_settings
	glinks_enable="true"
	glinks_urlchange="true"
	glinks_contextmenu="true"
	glinks_updatedelay="1"
/>

	
 <action name="glinks_startup" autorun="onstart"> if(glinks_settings.glinks_enable, set_startup_pano_view_hash(); if(glinks_settings.glinks_urlchange, set_current_pano_view_hash();); if(glinks_settings.glinks_contextmenu, set_glinks_context_menu();); ); </action><action name="set_glinks_context_menu"> set("contextmenu.item[glinkscm].caption", "Enable/Disable GLinks"); set("contextmenu.item[glinkscm].onclick", "switch(glinks_settings.glinks_urlchange); if(glinks_settings.glinks_urlchange, set_current_pano_view_hash(), stopdelayedcall(set_current_pano_view_hash););"); set("contextmenu.item[glinkscm].separator", "true"); set("contextmenu.item[glinksc2c].caption", "Copy URL to clipboard"); set("contextmenu.item[glinksc2c].onclick", " ifnot(glinks_settings.glinks_urlchange, set_current_pano_view_hash();); js('copyURLToClipboard()'); ifnot(glinks_settings.glinks_urlchange, stopdelayedcall(set_current_pano_view_hash);); "); </action> <action name="set_startup_pano_view_hash"> js(createvars()); if(scene[get(startscene)] !== null, loadscene(get(startscene)); if(starthlookat !== null, delayedcall(1, tween(view.hlookat, get(starthlookat),2))); if(startvlookat !== null, delayedcall(1, tween(view.vlookat, get(startvlookat),2))); if(startfov !== null, delayedcall(1, tween(view.fov, get(startfov),2))); ); </action> <action name="set_current_pano_view_hash"> div(hlook, get(view.hlookat), 360); Math.floor(hlook); mul(hlook, 360); sub(hlook, get(view.hlookat), hlook); if(hlook GT 180, sub(hlook, 360)); roundval(hlook, 1); if(hlook==0, set(hlook,0.0)); copy(vlook, view.vlookat); roundval(vlook, 1); copy(fov, view.fov); roundval(fov, 1); txtadd(hash, get(xml.scene), '/', get(hlook), '/', get(vlook), '/', get(fov)); js(sethash(get(hash))); delayedcall(set_current_pano_view_hash, get(glinks_settings.glinks_updatedelay), set_current_pano_view_hash()); </action></krpano>