Support flipped boards (no UI, you have to activate it through JS).
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 6 Jun 2018 17:04:05 +0000 (19:04 +0200)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Wed, 6 Jun 2018 17:04:05 +0000 (19:04 +0200)
www/js/remoteglot.js

index 20cc1fc..4ff9d64 100644 (file)
@@ -474,17 +474,25 @@ var position_arrow = function(arrow) {
                return;
        }
 
-       var pos = $(".square-a8").position();
-
        var zoom_factor = $("#board").width() / 400.0;
        var line_width = arrow.line_width * zoom_factor;
        var arrow_size = arrow.arrow_size * zoom_factor;
 
        var square_width = $(".square-a8").width();
-       var from_y = (7 - arrow.from_row + 0.5)*square_width;
-       var to_y = (7 - arrow.to_row + 0.5)*square_width;
-       var from_x = (arrow.from_col + 0.5)*square_width;
-       var to_x = (arrow.to_col + 0.5)*square_width;
+       var pos, from_y, to_y, from_x, to_x;
+       if (board.orientation() === 'black') {
+               pos = $(".square-h1").position();
+               from_y = (arrow.from_row + 0.5)*square_width;
+               to_y = (arrow.to_row + 0.5)*square_width;
+               from_x = (7 - arrow.from_col + 0.5)*square_width;
+               to_x = (7 - arrow.to_col + 0.5)*square_width;
+       } else {
+               pos = $(".square-a8").position();
+               from_y = (7 - arrow.from_row + 0.5)*square_width;
+               to_y = (7 - arrow.to_row + 0.5)*square_width;
+               from_x = (arrow.from_col + 0.5)*square_width;
+               to_x = (arrow.to_col + 0.5)*square_width;
+       }
 
        var SVG_NS = "http://www.w3.org/2000/svg";
        var XHTML_NS = "http://www.w3.org/1999/xhtml";
@@ -2187,6 +2195,8 @@ var switch_backend = function(game) {
 }
 window['switch_backend'] = switch_backend;
 
+window['flip'] = function() { board.flip(); redraw_arrows(); };
+
 var init = function() {
        unique = get_unique();