|
|
@ -125,7 +125,7 @@ function trackDrawElement(ctx, element, mode) {
|
|
|
|
else ctx.strokeStyle = "DimGray";
|
|
|
|
else ctx.strokeStyle = "DimGray";
|
|
|
|
trackDrawTrack (ctx, {x: element.x, y: element.y}, altdir);
|
|
|
|
trackDrawTrack (ctx, {x: element.x, y: element.y}, altdir);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (element.type == RAILWAY_NORMAL || element.type == RAILWAY_SENSOR) {
|
|
|
|
else if (element.type == RAILWAY_NORMAL || element.type == RAILWAY_SENSOR || element.type == RAILWAY_BLOCK) {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// normal
|
|
|
|
// normal
|
|
|
|
ctx.lineWidth = 2;
|
|
|
|
ctx.lineWidth = 2;
|
|
|
@ -220,12 +220,27 @@ function trackDrawElement(ctx, element, mode) {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function trackDrawBlock(ctx, blockelm) {
|
|
|
|
|
|
|
|
ctx.beginPath();
|
|
|
|
|
|
|
|
ctx.lineWidth = 2;
|
|
|
|
|
|
|
|
ctx.setLineDash([0,0]);
|
|
|
|
|
|
|
|
ctx.strokeStyle = "DeepPink";
|
|
|
|
|
|
|
|
ctx.moveTo((blockelm.x+0.25) * track.scale, (blockelm.y+0.25) * track.scale);
|
|
|
|
|
|
|
|
ctx.lineTo((blockelm.x+0.75) * track.scale, (blockelm.y+0.75) * track.scale);
|
|
|
|
|
|
|
|
ctx.moveTo((blockelm.x+0.75) * track.scale, (blockelm.y+0.25) * track.scale);
|
|
|
|
|
|
|
|
ctx.lineTo((blockelm.x+0.25) * track.scale, (blockelm.y+0.75) * track.scale);
|
|
|
|
|
|
|
|
ctx.stroke();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function trackDraw() {
|
|
|
|
function trackDraw() {
|
|
|
|
var ctx = track.dbuf.getContext("2d");
|
|
|
|
var ctx = track.dbuf.getContext("2d");
|
|
|
|
var elm = {};
|
|
|
|
var elm = {};
|
|
|
|
|
|
|
|
var tmpblocks = new Array();
|
|
|
|
|
|
|
|
|
|
|
|
// debug ("trackDraw pos: " + trackMouse.pos.x + "," + trackMouse.pos.y +
|
|
|
|
// debug ("trackDraw pos: " + trackMouse.pos.x + "," + trackMouse.pos.y +
|
|
|
|
// " down: " + trackMouse.down.x + "," + trackMouse.down.y);
|
|
|
|
// " down: " + trackMouse.down.x + "," + trackMouse.down.y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
@ -234,11 +249,21 @@ function trackDraw() {
|
|
|
|
ctx.fillRect(0, 0, track.size.x * track.scale, track.size.y * track.scale);
|
|
|
|
ctx.fillRect(0, 0, track.size.x * track.scale, track.size.y * track.scale);
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// draw elements
|
|
|
|
for (var i = 0; i < track.elements.length; i++) {
|
|
|
|
for (var i = 0; i < track.elements.length; i++) if (track.elements[i]) {
|
|
|
|
|
|
|
|
if (track.elements[i].type == RAILWAY_BLOCK) {
|
|
|
|
|
|
|
|
tmpblocks.push (track.elements[i]);
|
|
|
|
|
|
|
|
}
|
|
|
|
trackDrawElement(ctx, track.elements[i], 0);
|
|
|
|
trackDrawElement(ctx, track.elements[i], 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// draw block
|
|
|
|
|
|
|
|
for (var i = 0; i < tmpblocks.length; i++) {
|
|
|
|
|
|
|
|
trackDrawBlock(ctx, tmpblocks[i]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
tmpblocks.length = 0;
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// draw down position
|
|
|
|
// draw down position
|
|
|
|
if (trackMouse.down.x >= 0) {
|
|
|
|
if (trackMouse.down.x >= 0) {
|
|
|
|