diff --git a/src/html5/include/close.png b/src/html5/include/close.png new file mode 100644 index 0000000000..3c29292d4d Binary files /dev/null and b/src/html5/include/close.png differ diff --git a/src/html5/include/maximize.png b/src/html5/include/maximize.png new file mode 100644 index 0000000000..e487352ba9 Binary files /dev/null and b/src/html5/include/maximize.png differ diff --git a/src/html5/include/minimize.png b/src/html5/include/minimize.png new file mode 100644 index 0000000000..608a633dab Binary files /dev/null and b/src/html5/include/minimize.png differ diff --git a/src/html5/include/window.js b/src/html5/include/window.js index 228527b95d..ddc32c4e3c 100644 --- a/src/html5/include/window.js +++ b/src/html5/include/window.js @@ -7,10 +7,31 @@ * Based on shape.js */ +var window_icons = {}; +//load the window icons +var image_names = ["maximize", "minimize", "close"]; +function load_icon(name) { + console.log("loading "+name); + var tmp_canvas = document.createElement('canvas'); + var tmp_context = tmp_canvas.getContext('2d'); + var image = new Image(); + image.onload = function() { + show(""+name+"="+image); + tmp_context.drawImage(image, 0, 0); + var image_data = tmp_context.getImageData(0, 0, image.width, image.height); + window_icons[name] = image_data; + }; + image.src = '/include/'+name+'.png'; +} + +for (var i in image_names) { + load_icon(image_names[i]); +} + /** * A simple button we use to decorate the window. */ -function Button(canvas_state, name, x, y, w, h, fill, click_callback) { +function Button(canvas_state, name, x, y, w, h, fill, icon_name, click_callback) { "use strict"; this.state = canvas_state; this.name = name; @@ -18,13 +39,22 @@ function Button(canvas_state, name, x, y, w, h, fill, click_callback) { this.y = y || 0; this.w = w || 1; this.h = h || 1; - this.fill = fill || '#AAAAAA'; + var ctx = canvas_state.canvas.getContext('2d'); + this.image = ctx.createImageData(w, h); + //var data = this.image.data; + for (var i=0; i