mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 19:30:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			190 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
| <head>
 | |
| <title>ImageGrid.Viewer</title>
 | |
| <meta charset="utf-8" />
 | |
| <!--meta http-equiv="Content-Security-Policy" 
 | |
| 	content="script-src 'self' 'unsafe-inline' 'unsafe-eval';"-->
 | |
| <meta name="msapplication-tap-highlight" content="no" />
 | |
| <meta name="viewport" content="width=device-width, user-scalable=no" />
 | |
| <!-- Fonts -->
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-Bold.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-BoldItalic.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-ExtraBold.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-ExtraBoldItalic.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-Italic.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-Light.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-LightItalic.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-Regular.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-Semibold.ttf" />
 | |
| <link rel="prefetch" href="css/fonts/Open_Sans/OpenSans-SemiboldItalic.ttf" />
 | |
| <!-- CSS -->
 | |
| <link rel="stylesheet" href="css/fonts.css" />
 | |
| <link rel="stylesheet" href="css/layout.css" />
 | |
| <link rel="stylesheet" href="css/editor.css" />
 | |
| <link rel="stylesheet" href="css/widget/browse.css" />
 | |
| <link rel="stylesheet" href="css/widget/overlay.css" />
 | |
| <link rel="stylesheet" href="css/widget/drawer.css" />
 | |
| <link rel="stylesheet" href="css/loader.css" />
 | |
| <link rel="stylesheet" href="css/experimenting.css" />
 | |
| 
 | |
| <!-- Scripts -->
 | |
| 
 | |
| <!-- Global scope pollution test -->
 | |
| <!--script> 
 | |
| var __window = {...window} 
 | |
| function scopeDiff(cur=window, base=__window){
 | |
| 	return Object.keys(cur)
 | |
| 		.filter(function(k){ 
 | |
| 			return base[k] !== cur[k] })
 | |
| 		.reduce(function(res, k){
 | |
| 			res[k] = cur[k]
 | |
| 			return res }, {})}
 | |
| </script-->
 | |
| 
 | |
| <!-- DevTools fail-safe for electron/nw... -->
 | |
| <script>
 | |
| if(window.require){
 | |
| 	Object.defineProperty(window, 'STARTUP_DEVTOOLS_TIMEOUT', {
 | |
| 		get: function(){
 | |
| 			return parseInt(localStorage.STARTUP_DEVTOOLS_TIMEOUT || 5000) },
 | |
| 		set: function(value){
 | |
| 			if(value == null){
 | |
| 				delete localStorage.STARTUP_DEVTOOLS_TIMEOUT
 | |
| 				return }
 | |
| 			value = parseInt(value)
 | |
| 			;(value || value == 0)
 | |
| 				&& (localStorage.STARTUP_DEVTOOLS_TIMEOUT = value) }, })
 | |
| 
 | |
| 	window.__devtools_failsafe = setTimeout(function(){
 | |
| 		// nw...
 | |
| 		if(window.nw){
 | |
| 				nw.Window.get().showDevTools()
 | |
| 		// electron...
 | |
| 		} else {
 | |
| 			try{
 | |
| 				require('electron').ipcRenderer.send('openDevTools')
 | |
| 			} catch(err){ } }
 | |
| 	}, STARTUP_DEVTOOLS_TIMEOUT) }
 | |
| </script>
 | |
| 
 | |
| <!-- Electron fix -->
 | |
| <script>if(typeof(module) == 'object'){ window.__module = module; module = undefined }</script>
 | |
| 
 | |
| <!-- jQuery -->
 | |
| <script src="ext-lib/jquery.js"></script>
 | |
| <script src="ext-lib/jquery-ui.js"></script>
 | |
| <script src="ext-lib/jquery.ui.touch-punch.min.js"></script>
 | |
| <!-- velocity.js -->
 | |
| <script src="ext-lib/velocity.min.js"></script>
 | |
| <!-- hammer.js -->
 | |
| <script src="ext-lib/hammer.min.js"></script>
 | |
| <script src="ext-lib/jquery.hammer.js"></script>
 | |
| <!-- lib -->
 | |
| <script src="lib/jli.js"></script>
 | |
| 
 | |
| <!-- Electron unfix -->
 | |
| <script>if(window.__module){ module = window.__module; delete window.__module }</script>
 | |
| 
 | |
| <!-- RequireJS -->
 | |
| <script>
 | |
| // Electron...
 | |
| // NOTE: we need to load the electron way first because the other way 
 | |
| //		around requirejs messes things up...
 | |
| if(typeof(process) != 'undefined'){
 | |
| 	require('./cfg/requirejs')(require)
 | |
| 	requirejs('ui') }
 | |
| </script>
 | |
| <script src="node_modules/requirejs/require.js"></script>
 | |
| <script> 
 | |
| // Browser...
 | |
| if(typeof(process) == 'undefined'){
 | |
| 	requirejs(['cfg/requirejs'])
 | |
| 	requirejs(['ui']) }
 | |
| </script>
 | |
| 
 | |
| </head>
 | |
| <body>
 | |
| 
 | |
| <!-- XXX STUB: this fixes Chrome's tendency to mess up full screen colors 
 | |
| 		unless a video is present and visible...  -->
 | |
| <video style="display:block; position:absolute; width:1px; height:1px; top:0px; left:0px" tabindex="-1">
 | |
| 	<source src="data/blank.mp4" type="video/mp4">
 | |
| </video>
 | |
| 
 | |
| <!-- XXX STUB: this lives in css/filters.svg but Chrome refuses to reference 
 | |
| 		it's internals from the file:// protocol...  -->
 | |
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="0%" height="0%" class="svg-filters">
 | |
| 	<!-- edge detect -->
 | |
| 	<filter id="EdgeDetect">
 | |
| 		<!--feConvolveMatrix order="3 3" preserveAlpha="true" divisor="1" bias="-1.4" kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1"/-->
 | |
| 		<feConvolveMatrix order="3 3" preserveAlpha="true" kernelMatrix="-1 -1 -1 -1 8 -1 -1 -1 -1"/>
 | |
| 	</filter>
 | |
| 
 | |
| 	<!-- shadows and highlights 
 | |
| 		gradient map: [blue 0-5% black 93-96% white] 
 | |
| 		via: https://justcode.today/filters/ -->
 | |
| 	<!-- NOTE: not sure about the tail end here (white zone) might be a 
 | |
| 			bit too flat... -->
 | |
| 	<filter id="ShadowsAndHilights">
 | |
| 		<fecolormatrix type="saturate" values="0" />
 | |
| 		<feComponentTransfer color-interpolation-filters="sRGB" result="cutoff">
 | |
| 			<feFuncR type="table" tableValues="
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0.33 0.67 1 1 1 1" />
 | |
| 			<feFuncG type="table" tableValues="
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0.33 0.67 1 1 1 1" />
 | |
| 			<feFuncB type="table" tableValues="
 | |
| 				1 0.8 0.6 0.4 0.2 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0 0 0 0 0 0 
 | |
| 				0 0 0 0 0.33 0.67 1 1 1 1"/>
 | |
| 		</feComponentTransfer>
 | |
| 		<feBlend mode="difference" in="SourceGraphic" in2="cutoff"/>
 | |
| 	</filter>
 | |
| 
 | |
| 	<!-- gamma shadows -->
 | |
| 	<!-- XXX should this be gamma or a transfer function?? -->
 | |
| 	<filter id="GammaShadows">
 | |
| 		<feComponentTransfer color-interpolation-filters="sRGB">
 | |
| 			<feFuncR type="gamma" exponent="0.3" amplitude="1.0" offset="0"></feFuncR>
 | |
| 			<feFuncG type="gamma" exponent="0.3" amplitude="1.0" offset="0"></feFuncG>
 | |
| 			<feFuncB type="gamma" exponent="0.3" amplitude="1.0" offset="0"></feFuncB>
 | |
| 		</feComponentTransfer>
 | |
| 	</filter>
 | |
| </svg>
 | |
| 
 | |
| 
 | |
| <!-- The Viewer block (see: imagegrid/ribbons.js) -->
 | |
| <div class="viewer gray marks-visible" tabindex="0">
 | |
| 	<div class="drag-bar"></div>
 | |
| </div>
 | |
| 
 | |
| 
 | |
| <!-- vim:set ts=4 sw=4 spell nowrap : -->
 | |
| </body>
 | |
| </html>
 |