chiark / gitweb /
Remove trailing commas at the ends of initialiser lists. IE 8 and 9
[sgt-puzzles.git] / emcclib.js
index 6991c51119a0c5fa941e40408acf060331f8b25e..57dd2c4fd649b92e0cc83bce3afd3ef1ec4bdef2 100644 (file)
@@ -2,7 +2,11 @@
  * emcclib.js: one of the Javascript components of an Emscripten-based
  * web/Javascript front end for Puzzles.
  *
- * The other parts of this system live in emcc.c and emccpre.js.
+ * The other parts of this system live in emcc.c and emccpre.js. It
+ * also depends on being run in the context of a web page containing
+ * an appropriate collection of bits and pieces (a canvas, some
+ * buttons and links etc), which is generated for each puzzle by the
+ * script html/jspage.pl.
  *
  * This file contains a set of Javascript functions which we insert
  * into Emscripten's library object via the --js-library option; this
@@ -67,7 +71,7 @@ mergeInto(LibraryManager.library, {
      * case we need to do something special - see below.
      */
     js_add_preset: function(ptr) {
-        var name = (ptr == 0 ? "Custom" : Pointer_stringify(ptr));
+        var name = (ptr == 0 ? "Custom..." : Pointer_stringify(ptr));
         var value = gametypeoptions.length;
 
         var option = document.createElement("option");
@@ -96,9 +100,17 @@ mergeInto(LibraryManager.library, {
             // we wouldn't get if the browser thought it was already
             // the selected one. But here, it's _not_ the selected
             // option already; its invisible evil twin is selected.
+            //
+            // (Actually, they're not _identical_ evil twins: we label
+            // the two slightly differently. The visible one that the
+            // user can select is labelled "Custom..." to hint that it
+            // opens a dialog box, whereas the invisible one that's
+            // left shown after the box closes is just "Custom",
+            // because that's telling you what you _have_ got
+            // selected.)
             option = document.createElement("option");
             option.value = value;
-            option.appendChild(document.createTextNode(name));
+            option.appendChild(document.createTextNode("Custom"));
             option.style.display = "none";
             gametypeselector.appendChild(option);
             gametypehiddencustom = option;
@@ -313,8 +325,8 @@ mergeInto(LibraryManager.library, {
         ctx.moveTo(x1 + 0.5, y1 + 0.5);
         ctx.lineTo(x2 + 0.5, y2 + 0.5);
         ctx.lineWidth = width;
-        ctx.lineCap = '1';
-        ctx.lineJoin = '1';
+        ctx.lineCap = 'round';
+        ctx.lineJoin = 'round';
         ctx.strokeStyle = colour;
         ctx.stroke();
         ctx.fillStyle = colour;
@@ -342,8 +354,8 @@ mergeInto(LibraryManager.library, {
             ctx.fill();
         }
         ctx.lineWidth = '1';
-        ctx.lineCap = '1';
-        ctx.lineJoin = '1';
+        ctx.lineCap = 'round';
+        ctx.lineJoin = 'round';
         ctx.strokeStyle = Pointer_stringify(outline);
         ctx.stroke();
     },
@@ -363,8 +375,8 @@ mergeInto(LibraryManager.library, {
             ctx.fill();
         }
         ctx.lineWidth = '1';
-        ctx.lineCap = '1';
-        ctx.lineJoin = '1';
+        ctx.lineCap = 'round';
+        ctx.lineJoin = 'round';
         ctx.strokeStyle = Pointer_stringify(outline);
         ctx.stroke();
     },
@@ -735,5 +747,5 @@ mergeInto(LibraryManager.library, {
      */
     js_focus_canvas: function() {
         onscreen_canvas.focus();
-    },
+    }
 });