You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					82 lines
				
				1.9 KiB
			
		
		
			
		
	
	
					82 lines
				
				1.9 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								<!-- Licensed under a BSD license. See license.html for license -->
							 | 
						||
| 
								 | 
							
								<!DOCTYPE html>
							 | 
						||
| 
								 | 
							
								<html>
							 | 
						||
| 
								 | 
							
								  <head>
							 | 
						||
| 
								 | 
							
								    <meta charset="utf-8">
							 | 
						||
| 
								 | 
							
								    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
							 | 
						||
| 
								 | 
							
								    <title>Three.js - Responsive Editor</title>
							 | 
						||
| 
								 | 
							
								    <style>
							 | 
						||
| 
								 | 
							
								    html, body {
							 | 
						||
| 
								 | 
							
								        height: 100%;
							 | 
						||
| 
								 | 
							
								      margin: 0;
							 | 
						||
| 
								 | 
							
								      font-size: 16pt;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    #editor {
							 | 
						||
| 
								 | 
							
								      display: flex;
							 | 
						||
| 
								 | 
							
								      width: 100%;
							 | 
						||
| 
								 | 
							
								      height: 100%;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    #controls {
							 | 
						||
| 
								 | 
							
								      background: #AAA;
							 | 
						||
| 
								 | 
							
								      padding: 5px;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    #c {
							 | 
						||
| 
								 | 
							
								      width: 100%;
							 | 
						||
| 
								 | 
							
								      height: 100%;
							 | 
						||
| 
								 | 
							
								      display: block;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .gutter {
							 | 
						||
| 
								 | 
							
								        background-color: #eee;
							 | 
						||
| 
								 | 
							
								        background-repeat: no-repeat;
							 | 
						||
| 
								 | 
							
								        background-position: 50%;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    .gutter.gutter-horizontal {
							 | 
						||
| 
								 | 
							
								        cursor: ew-resize;
							 | 
						||
| 
								 | 
							
								        background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==')
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    </style>
							 | 
						||
| 
								 | 
							
								  </head>
							 | 
						||
| 
								 | 
							
								  <body>
							 | 
						||
| 
								 | 
							
								    <div id="editor">
							 | 
						||
| 
								 | 
							
								      <div id="view"><canvas id="c"></canvas></div>
							 | 
						||
| 
								 | 
							
								      <div id="controls">
							 | 
						||
| 
								 | 
							
								        <div>
							 | 
						||
| 
								 | 
							
								          <p>various controls
							 | 
						||
| 
								 | 
							
								             would appear here</p>
							 | 
						||
| 
								 | 
							
								           <div>Drag this bar</div>
							 | 
						||
| 
								 | 
							
								           <div>⇐</div>
							 | 
						||
| 
								 | 
							
								        </div>
							 | 
						||
| 
								 | 
							
								      </div>
							 | 
						||
| 
								 | 
							
								    </div>
							 | 
						||
| 
								 | 
							
								  </body>
							 | 
						||
| 
								 | 
							
								<script type="importmap">
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  "imports": {
							 | 
						||
| 
								 | 
							
								    "three": "../../build/three.module.js"
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								</script>
							 | 
						||
| 
								 | 
							
								<script type="module" src="threejs-responsive.js"></script>
							 | 
						||
| 
								 | 
							
								<script src="../3rdparty/split.min.js"></script>
							 | 
						||
| 
								 | 
							
								<script type="module">
							 | 
						||
| 
								 | 
							
								/* global Split */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// This code is only related to handling the split.
							 | 
						||
| 
								 | 
							
								// Our three.js code has not changed
							 | 
						||
| 
								 | 
							
								Split(['#view', '#controls'], {  // eslint-disable-line new-cap
							 | 
						||
| 
								 | 
							
								  sizes: [75, 25],
							 | 
						||
| 
								 | 
							
								  minSize: 100,
							 | 
						||
| 
								 | 
							
								  elementStyle: (dimension, size, gutterSize) => {
							 | 
						||
| 
								 | 
							
								    return {
							 | 
						||
| 
								 | 
							
								      'flex-basis': `calc(${size}% - ${gutterSize}px)`,
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  gutterStyle: (dimension, gutterSize) => {
							 | 
						||
| 
								 | 
							
								    return {
							 | 
						||
| 
								 | 
							
								      'flex-basis': `${gutterSize}px`,
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								</script>
							 | 
						||
| 
								 | 
							
								</html>
							 |