summaryrefslogtreecommitdiff
path: root/shader-api.html
diff options
context:
space:
mode:
Diffstat (limited to 'shader-api.html')
-rw-r--r--shader-api.html146
1 files changed, 62 insertions, 84 deletions
diff --git a/shader-api.html b/shader-api.html
index 9020136..dc96762 100644
--- a/shader-api.html
+++ b/shader-api.html
@@ -2,39 +2,48 @@
<html>
<head>
<style type="text/css">
-#url { width: 300px; }
+#url { width: 250px; }
#width,#height,#frames,#delay {width: 30px; }
#shader { width: 400px; height: 247px; font-family: fixed; }
div { float: left; padding: 10px;}
form { display: inline-block; }
-#shader-api,#gallery { clear: right; width:100%; padding: 0; }
-#shader-gallery,#gallery-images { display: block; max-height: 210px; overflow-y: auto; width: 100%; }
-#shader-gallery img,#shader-gallery canvas,#gallery-images img, #gallery-images canvas { max-width: 200px; height: 100px; margin: 5px; cursor: pointer; }
-.shader {
- width: 100px;
-}
-#username { width: 40px; }
-a { color: #00f; }
+#shader-api,#gallery { clear: right; width:100%; padding: 0; font-size: 12px; }
+#shader-gallery,#gallery-images { display: block; min-height: 152px; max-height: 210px; overflow-y: auto; width: 100%; padding: 0; }
+#shader-gallery img,#shader-gallery canvas,#gallery-images img, #gallery-images canvas { max-width: 200px; height: 100px; margin: 5px; cursor: pointer; clear: right; }
+.shader { width: 100px; }
+.shader span { display: block }
+#username { width: 55px; }
+#shader-name { width: 75px; }
#shader-id { width: 40px; }
+a { color: #00f; }
+#help { float: right; }
+.dragging { cursor: -webkit-grabbing !important; }
+#instructions { position: absolute;top:20px;right:20px; width:190px;height:465px; box-shadow:5px 5px 10px rgba(0,0,0,0.3); background:rgba(255,255,255,0.8); display: none; cursor: -webkit-grab; }
+#instructions iframe {width: 100%;height:100%;margin:0;padding:0;border:0;}
+#instructions.dragging iframe { pointer-events: none; }
+#instructions .close { position: absolute; top: 5px; right: 5px; color: #f00; padding: 3px; border: 0;background: white; font-size: 10px; line-height: 10px; }
+
</style>
</head>
<body>
<!--
<div id="gallery">
- <div id="gallery-form">
- <form id="gallery-search">
- <input type="text" id="dumpfm-search-query" value="duck bill">
- <button id="gallery-search">DUMP SEARCH</button>
- </form>
- <button id="gallery-random">IM RANDOM</button>
- <span class="status"></span>
- </div>
- <div id="gallery-images"></div>
+ <div id="gallery-form">
+ <form id="gallery-search">
+ <input type="text" id="dumpfm-search-query" value="duck bill">
+ <button id="gallery-search">DUMP SEARCH</button>
+ </form>
+ <button id="gallery-random">IM RANDOM</button>
+ <span class="status"></span>
+ </div>
+ <div id="gallery-images"></div>
</div>
-->
<div id="shader-api">
+ <button id="help">help</button>
+ <button id="new-shader"><b>new shader</b></button>
<input type="text" id="shader-id" disabled><button id="fetch-info" disabled>info</button>
<button id="fetch-history" disabled>history</button>
|
@@ -45,6 +54,8 @@ a { color: #00f; }
<select id="pick-user">
<option>fetching users..</option>
</select>
+ <input type="checkbox" id="persist-image" checked>
+ <label for="persist-image">load image</label>
<div id="shader-gallery">
</div>
@@ -52,105 +63,72 @@ a { color: #00f; }
<div id="controls">
<input type="text" id="url" value="img/1376516658960-dumpfm-DoritoWitch-TimeFLyTrans0001.png">
- <br>
- <br>
+ <input type="text" id="username" placeholder="username">
+ <input type="text" id="shader-name" placeholder="shader name">
+ <br>
+ <br>
- <textarea id="shader"></textarea>
- <br>
- <br>
+ <textarea id="shader"></textarea>
+ <br>
+ <button id="save-shader"><b>save shader</b></button>
+ <button id="pause">pause</button>
+ <button id="reset">reset</button>
+ <br>
</div>
<div id="workspace"></div>
+<div id="instructions"><iframe src="instructions.html"></iframe><button class="close">&times;</button></div>
</body>
+<script type="text/javascript" src="js/vendor/acorn.js"></script>
<script type="text/javascript" src="js/vendor/jquery/jquery.min.js"></script>
+<script type="text/javascript" src="js/vendor/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="js/vendor/canvasquery.js"></script>
+<script type="text/javascript" src="js/vendor/FileSaver/FileSaver.js"></script>
+<script type="text/javascript" src="js/vendor/dataUriToBlob.js"></script>
<script type="text/javascript" src="js/vendor/gif.js"></script>
<script type="text/javascript" src="js/util.js"></script>
<script type="text/javascript" src="js/color.js"></script>
<script type="text/javascript" src="js/image.js"></script>
+<script type="text/javascript" src="js/user.js"></script>
<script type="text/javascript" src="js/gallery.js"></script>
<script type="text/javascript" src="js/render.js"></script>
<script type="text/javascript" src="js/shader.js"></script>
+<script type="text/javascript" src="js/error.highlight.js"></script>
+<script type="text/javascript" src="js/help.js"></script>
+<script type="text/javascript" src="js/api/gallery.js"></script>
<script type="text/javascript" src="js/api/get.js"></script>
<script type="text/javascript" src="js/api/set.js"></script>
<script type="text/html" id="shader-gallery-template">
-<img src="{thumbnail_url}">
-{username}
+<span><img src="{thumbnail_url}"></span>
+{name} - {username}
</script>
<script type="text/javascript">
var cc = cq(0,0).appendTo("#workspace")
var w, h
+var firsttime = true
+var shader_gallery_template = $("#shader-gallery-template").html()
+
$(init)
function init(){
- $("#url").change(load)
-// run('#first')
-
-// $("#shader-id")
-// $("#fetch-info")
- $("#fetch-all").click(function(){
- ShaderAPI.all(load_shaders)
- })
- $("#fetch-latest").click(function(){
- ShaderAPI.latest(load_shaders)
- }).trigger("click")
-// $("#fetch-next-page")
-// $("#fetch-history")
+ $("#url").change(load)
+ $("#reset").click(reset)
+ $("#pause").click(pause)
- function load_shaders(err, shaders){
- var $el = $("#shader-gallery").empty()
- var template = $("#shader-gallery-template").html()
-
- for (var i in shaders) {
- var $shader = $("<div>").addClass("shader")
- $shader.data("shader", shaders[i])
- var html = template
- for (var field in shaders[i]) {
- html = html.replace("{" + field + "}", shaders[i][field])
- }
- $shader.html(html)
-
- $el.append( $shader )
- }
- }
-
- ShaderAPI.list_users(function(err, users){
- var $el = $("#pick-user").empty()
- for (var i in users) {
- var $option = $("<option>")
- var username = users[i].username
- $option.val(username).html(username)
- $el.append( $option )
- }
- })
+ user.init()
+ help.init()
+ shader_gallery.init()
- $(document).on("change", "#pick-user", function(){
- var name = $(this).val()
- ShaderAPI.username(name, load_shaders)
- })
- $(document).on("click", ".shader", function(){
- run( $(this).data("shader") )
- })
+ document.getElementById('shader').addEventListener('input', shader_build);
- load()
+ requestAnimationFrame(animate)
+}
- document.getElementById('shader').addEventListener('input', shader_build);
- shader_build()
- requestAnimationFrame(animate)
-}
-function run(shader_object){
- console.log(shader_object)
- $("#url").val( shader_object.image_url )
- $("#shader").html(shader_object.script)
- $("#shader-id").val(shader_object.id)
- load()
- shader_build()
-}
</script>
</html>