mirror of
https://github.com/trebonian/visual6502.git
synced 2024-06-01 10:41:28 +00:00
Z80: Visualization improvements concerning: panelization, holes, diagnonals
(3 commits squashed together to reduce the size, as they each affect seggefs.js) - updated segdefs.js to fix some panelization artefacts - override drawSeg() to deal with holes in shapes; updated segdefs.js - updated segdefs.js with adjacent diagonals just touching
This commit is contained in:
parent
7ee143a906
commit
cb7815e1ad
23690
chip-z80/segdefs.js
23690
chip-z80/segdefs.js
File diff suppressed because one or more lines are too long
|
@ -58,6 +58,32 @@ function getNodeValue(){
|
||||||
return max_state;
|
return max_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Override ChipSim drawSeg() to deal with holes
|
||||||
|
function drawSeg(ctx, seg){
|
||||||
|
var dx = grChipOffsetX;
|
||||||
|
var dy = grChipOffsetY;
|
||||||
|
ctx.beginPath();
|
||||||
|
var moveTo = true;
|
||||||
|
var sx;
|
||||||
|
var sy;
|
||||||
|
for (var i=0;i<seg.length;i+=2) {
|
||||||
|
if (moveTo) {
|
||||||
|
sx = seg[i];
|
||||||
|
sy = seg[i+1];
|
||||||
|
ctx.moveTo(grScale(sx+dx), grScale(grChipSize-sy+dy));
|
||||||
|
moveTo = false;
|
||||||
|
} else if (seg[i] == sx && seg[i + 1] == sy) {
|
||||||
|
ctx.closePath();
|
||||||
|
moveTo = true;
|
||||||
|
} else {
|
||||||
|
ctx.lineTo(grScale(seg[i]+dx), grScale(grChipSize-seg[i+1]+dy));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!moveTo) {
|
||||||
|
ctx.closePath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function setupTransistors(){
|
function setupTransistors(){
|
||||||
for(i in transdefs){
|
for(i in transdefs){
|
||||||
var tdef = transdefs[i];
|
var tdef = transdefs[i];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user