asciiblaster- draw irc art in your web browser |
git clone git://git.acid.vegas/asciiblaster.git |
Log | Files | Refs | Archive | README |
app.js (2239B)
1 2 var dragging = false 3 var drawing = false 4 var erasing = false 5 var selecting = false 6 var filling = false 7 var changed = false 8 var transforming = false 9 var mirror_x = false 10 var mirror_y = false 11 var focused 12 13 var canvas, tools, palette, controls, brush, mode 14 var current_tool, current_filetool, current_canvas 15 var mouse = { x: 0, y: 0 } 16 17 function init () { 18 build() 19 bind() 20 clipboard.load_from_location() 21 } 22 function build () { 23 shader.init() 24 // shader.run(canvas) 25 shader.animate() 26 27 canvas.append(canvas_rapper) 28 brush.append(brush_rapper) 29 palette.append(palette_rapper) 30 letters.append(letters_rapper) 31 letters.repaint("Basic Latin") 32 33 controls.circle.focus() 34 // controls.shader.focus() 35 36 brush.bg = colors.red 37 brush.generate() 38 brush.build() 39 40 // controls.grid.use() 41 canvas.resize_rapper() 42 } 43 function bind () { 44 canvas.bind() 45 palette.bind() 46 letters.bind() 47 brush.bind() 48 controls.bind() 49 keys.bind() 50 clipboard.bind() 51 52 window.addEventListener('mouseup', function(e){ 53 dragging = erasing = false 54 // if (current_filetool.name != 'shader' && current_filetool.name != 'load' && current_filetool.name != 'save' && is_desktop) { 55 // cursor_input.focus() 56 // } 57 58 var ae = document.activeElement 59 60 if (ae !== shader_textarea && ae !== import_textarea && ae !== username_input && ae !== upload_input) { 61 if (is_desktop) cursor_input.focus() 62 } 63 64 if (selecting) { 65 selection.up(e) 66 } 67 else if (transforming) { 68 transform.up(e) 69 } 70 }) 71 window.addEventListener("touchend", function(){ 72 if (current_tool.name === "text") { 73 if (is_desktop) cursor_input.focus() 74 } 75 dragging = false 76 }) 77 78 window.addEventListener('mousedown', function(e){ 79 // if (current_filetool.name != 'shader' && is_desktop) { cursor_input.focus() } 80 }) 81 82 document.addEventListener('DOMContentLoaded', function(){ 83 if (is_desktop) { cursor_input.focus() } 84 document.body.classList.remove('loading') 85 }) 86 87 window.onbeforeunload = function() { 88 // if (changed && !in_iframe()) return "You have edited this drawing." 89 } 90 91 function in_iframe () { 92 try { 93 return window.self !== window.top; 94 } catch (e) { 95 return true; 96 } 97 } 98 } 99 100 init()