<!DOCTYPE html>
<html lang="en-US">
	<head>
		<meta charset="utf-8" />
		<title>openOutpaint 🐠</title>
		<!-- CSS Variables -->
		<link href="css/colors.css" rel="stylesheet" />

		<link href="css/index.css" rel="stylesheet" />
		<link href="css/ui/generic.css" rel="stylesheet" />

		<link href="css/ui/history.css" rel="stylesheet" />
		<link href="css/ui/toolbar.css" rel="stylesheet" />

		<!-- Tool Specific CSS -->
		<link href="css/ui/tool/stamp.css" rel="stylesheet" />

		<link rel="icon" type="image/x-icon" href="favicon.ico" />
	</head>

	<body>
		<!-- Main Toolbar -->
		<div
			id="infoContainer"
			class="floating-window"
			style="left: 10px; top: 10px">
			<div id="infoTitleBar" class="draggable floating-window-title">
				openOutpaint 🐠
			</div>
			<div id="info" class="menu-container" style="min-width: 200px">
				<label for="host">Host</label>
				<input id="host" value="http://127.0.0.1:7860" />
				<br />

				<!-- Prompts section -->
				<button type="button" class="collapsible">Prompts</button>
				<div class="content">
					<label for="prompt">Prompt:</label>
					<br />
					<textarea id="prompt">
oceanographic study, underwater wildlife, award winning</textarea
					>
					<br />
					<label for="negPrompt">Negative prompt:</label>
					<br />
					<textarea id="negPrompt">
people, person, humans, human, divers, diver, glitch, error, text, watermark, bad quality, blurry</textarea
					>
					<br />
					<hr />
				</div>
				<!-- SD section -->
				<button type="button" class="collapsible">
					Stable Diffusion settings
				</button>
				<div class="content">
					<label for="models">Model:</label>
					<select id="models" onchange="changeModel()"></select>
					<br />
					<label for="samplerSelect">Sampler:</label>
					<select id="samplerSelect" onchange="changeSampler()"></select>
					<br />
					<label for="seed">Seed (-1 for random):</label>
					<br />
					<input
						type="number"
						id="seed"
						onchange="changeSeed()"
						min="1"
						max="9999999999"
						value="-1"
						step="1" />
					<br />
					<div id="steps"></div>
					<div id="cfgScale"></div>
					<div id="batchSize"></div>
					<div id="batchCount"></div>
				</div>
				<!-- Unsectioned -->
				<div id="scaleFactor"></div>
				<input type="checkbox" id="cbxHRFix" onchange="changeHiResFix()" />
				<label for="cbxHRFix">Auto txt2img HRfix</label>
				<br />
				<label for="maskBlur">Mask blur:</label>
				<span id="maskBlurText"></span>
				<br />
				<input
					type="number"
					id="maskBlur"
					name="maskBlur"
					min="0"
					max="256"
					value="0"
					step="1"
					onchange="changeMaskBlur()" />
				<br />
				<!-- Save/load image section -->
				<button type="button" class="collapsible">Save/Upscaling</button>
				<div class="content">
					<button onclick="downloadCanvas()">Save canvas</button>
					<br />
					<label for="upscalers">Choose upscaler</label>
					<select id="upscalers"></select>
					<button onclick="upscaleAndDownload()">
						Upscale (might take a sec)
					</button>
					<br />

					<button onclick="newImage()">Clear canvas</button>
				</div>
				<!-- Debug info -->
				<button type="button" class="collapsible">Debug info</button>
				<div id="coords" class="content">
					<label for="mouseX">mouseX:</label>
					<span id="mouseX"></span>
					<br />
					<label for="mouseY">mouseY:</label>
					<span id="mouseY"></span>
					<br />
					<label for="canvasX">canvasX:</label>
					<span id="canvasX"></span>
					<br />
					<label for="canvasY">canvasY:</label>
					<span id="canvasY"></span>
					<br />
					<label for="snapX">snapX:</label>
					<span id="snapX"></span>
					<br />
					<label for="snapY">snapY:</label>
					<span id="snapY"></span>
					<br />
					<label for="heldButton">Mouse button:</label>
					<span id="heldButton"></span>
					<br />
					<span id="version">
						<a href="https://github.com/zero01101/openOutpaint" target="_blank">
							Alpha release v0.0.7
						</a>
					</span>
					<br />
					<hr />
				</div>
				<div style="display: flex; align-items: center">
					<div
						style="
							flex: 1;
							border-top: 1px black solid;
							margin-right: 10px;
						"></div>
					Context Menu
					<div
						style="
							flex: 1;
							border-top: 1px black solid;
							margin-left: 10px;
						"></div>
				</div>
				<div id="tool-context" class="context-menu"></div>
			</div>
		</div>

		<!-- History -->
		<div id="ui-history" class="floating-window" style="right: 10px; top: 10px">
			<div class="draggable floating-window-title">History</div>
			<div class="menu-container" style="min-width: 200px">
				<div id="history" class="history"></div>
				<div class="button-array" style="padding: 10px">
					<button type="button" onclick="commands.undo()" class="button tool">
						undo
					</button>
					<button type="button" onclick="commands.redo()" class="button tool">
						redo
					</button>
				</div>
			</div>
		</div>

		<!-- Toolbar -->
		<div
			id="ui-toolbar"
			class="floating-window toolbar"
			style="right: 10px; top: 350px">
			<div class="draggable handle">
				<span class="line"></span>
			</div>
			<div class="lock-indicator" id="toolbar-lock-indicator"></div>
			<div class="toolbar-section"></div>
		</div>

		<!-- Canvases -->
		<div
			id="mainHSplit"
			class="mainHSplit"
			onmouseover="document.activeElement.blur()">
			<div id="uiWrapper" class="uiWrapper">
				<div
					id="canvasHolder"
					class="canvasHolder"
					oncontextmenu="return false;">
					<canvas
						id="backgroundCanvas"
						class="mainCanvases backgroundCanvas"
						width="2560"
						height="1440"
						style="z-index: 0">
						<!-- gray grid bg canvas -->
						<p>lol ur browser sucks</p>
					</canvas>
					<canvas
						id="canvas"
						class="mainCanvases canvas"
						width="2560"
						height="1440"
						style="z-index: 1">
						<!-- normal canvas on which images are drawn -->
						<p>lol ur browser sucks</p>
					</canvas>
					<canvas
						id="tempCanvas"
						class="mainCanvases tempCanvas"
						width="2560"
						height="1440"
						style="z-index: 2">
						<!-- temporary canvas on which images being selected/rejected or imported arbitrary images are superimposed -->
						<p>lol ur browser sucks</p>
					</canvas>
					<canvas
						id="targetCanvas"
						class="mainCanvases targetCanvas"
						width="2560"
						height="1440"
						style="z-index: 3">
						<!-- canvas on which "targeting" squares are drawn  -->
						<p>lol ur browser sucks</p>
					</canvas>
					<canvas
						id="maskPaintCanvas"
						class="mainCanvases maskPaintCanvas"
						width="2560"
						height="1440"
						style="z-index: 4">
						<!-- canvas on which masking brush is "painted" -->
						<p>lol ur browser sucks</p>
					</canvas>
					<canvas
						id="overlayCanvas"
						class="mainCanvases overlayCanvas"
						width="2560"
						height="1440"
						style="z-index: 5">
						<!-- canvas on which "cursor" reticle or arc is drawn  -->
						<p>lol ur browser sucks</p>
					</canvas>
					<div id="tempDiv" style="position: relative; z-index: 6">
						<!-- where popup buttons go -->
					</div>
				</div>
			</div>
			<div id="masks" class="masks">
				<div>
					<!-- <canvas id="maskCanvasMonitor" class="maskCanvasMonitor" width="512" height="512">
                        <p>lol ur browser sucks</p>
                    </canvas><br /> -->
					<canvas
						id="overMaskCanvasMonitor"
						class="overMaskCanvasMonitor"
						width="512"
						height="512">
						<p>lol ur browser sucks</p>
					</canvas>
					<br />
					<canvas
						id="initImgCanvasMonitor"
						class="initImgCanvasMonitor"
						width="512"
						height="512">
						<p>lol ur browser sucks</p>
					</canvas>
					<br />
				</div>
			</div>
		</div>

		<!-- Base Libs -->
		<script src="js/util.js" type="text/javascript"></script>
		<script src="js/input.js" type="text/javascript"></script>
		<script src="js/commands.js" type="text/javascript"></script>
		<script src="js/ui/history.js" type="text/javascript"></script>
		<script src="js/settingsbar.js" type="text/javascript"></script>

		<!-- Content -->
		<script src="js/index.js" type="text/javascript"></script>
		<script src="js/shortcuts.js" type="text/javascript"></script>

		<!-- Load Tools -->
		<script src="js/ui/tool/dream.js" type="text/javascript"></script>
		<script src="js/ui/tool/maskbrush.js" type="text/javascript"></script>
		<script src="js/ui/tool/select.js" type="text/javascript"></script>
		<script src="js/ui/tool/stamp.js" type="text/javascript"></script>

		<script src="js/ui/toolbar.js" type="text/javascript"></script>
	</body>
</html>