draw rest of slice wires and more from switchbox

This commit is contained in:
Miodrag Milanovic 2019-10-11 17:52:57 +02:00
parent 3e117ce792
commit 0b4ced96ec
2 changed files with 106 additions and 7 deletions

View File

@ -633,8 +633,6 @@ std::vector<GraphicElement> Arch::getDecalGraphics(DecalId decal) const
GraphicElement el;
el.type = GraphicElement::TYPE_LINE;
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
int offset = 0;
int wire_offset = 0;
if (tilewire >= TILE_WIRE_D7_SLICE && tilewire <=TILE_WIRE_CLK0_SLICE)
{
el.x1 = x + slice_x1 - 0.005f;
@ -651,7 +649,58 @@ std::vector<GraphicElement> Arch::getDecalGraphics(DecalId decal) const
el.y2 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_DUMMY_100 + 1) + 3*slice_pitch;
ret.push_back(el);
}
}
}
if (tilewire >= TILE_WIRE_FCO && tilewire <=TILE_WIRE_FCI)
{
GraphicElement el;
el.type = GraphicElement::TYPE_LINE;
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
el.x1 = x + switchbox_x2;
el.x2 = x + slice_x1 - 0.005f;
el.y1 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_LSR1 - 5) + 3*slice_pitch;
el.y2 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_LSR1 - 5) + 3*slice_pitch;
ret.push_back(el);
}
if (tilewire >= TILE_WIRE_FCO_SLICE && tilewire <=TILE_WIRE_FCOA_SLICE)
{
GraphicElement el;
el.type = GraphicElement::TYPE_LINE;
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
el.x1 = x + slice_x1 + 0.005f;
el.x2 = x + slice_x1 + 0.005f;
if (tilewire==TILE_WIRE_FCO_SLICE)
el.y1 = y + slice_y2 + 0.0017f + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
else
el.y1 = y + slice_y2 + 0.00125f + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
el.y2 = y + slice_y2 + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
ret.push_back(el);
if (tilewire==TILE_WIRE_FCO_SLICE) {
el.x1 = x + slice_x1 - 0.005f;
el.x2 = x + slice_x1 + 0.005f;
el.y2 = el.y1;
ret.push_back(el);
}
}
if (tilewire >= TILE_WIRE_FCID_SLICE && tilewire <=TILE_WIRE_FCI_SLICE)
{
GraphicElement el;
el.type = GraphicElement::TYPE_LINE;
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
el.x1 = x + slice_x1 + 0.005f;
el.x2 = x + slice_x1 + 0.005f;
if (tilewire==TILE_WIRE_FCI_SLICE)
el.y1 = y + slice_y1 - 0.0007f + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
else
el.y1 = y + slice_y1 - 0.00125f + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
el.y2 = y + slice_y1 + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
ret.push_back(el);
if (tilewire==TILE_WIRE_FCI_SLICE) {
el.x1 = x + slice_x1 - 0.005f;
el.x2 = x + slice_x1 + 0.005f;
el.y2 = el.y1;
ret.push_back(el);
}
}
}
if (decal.type == DecalId::TYPE_BEL) {
BelId bel;

View File

@ -144,12 +144,13 @@ enum GfxTileWireId
TILE_WIRE_CLK0_SLICE,
TILE_WIRE_FCO_SLICE,
TILE_WIRE_FCID_SLICE,
TILE_WIRE_FCOC_SLICE,
TILE_WIRE_FCIC_SLICE,
TILE_WIRE_FCOB_SLICE,
TILE_WIRE_FCIB_SLICE,
TILE_WIRE_FCOA_SLICE,
TILE_WIRE_FCID_SLICE,
TILE_WIRE_FCIC_SLICE,
TILE_WIRE_FCIB_SLICE,
TILE_WIRE_FCI_SLICE,
TILE_WIRE_DUMMY_100,
@ -249,8 +250,8 @@ enum GfxTileWireId
TILE_WIRE_LSR0,
TILE_WIRE_CLK1,
TILE_WIRE_CLK0,
TILE_WIRE_DUMMY_500,
TILE_WIRE_FCO,
TILE_WIRE_DUMMY_500,
TILE_WIRE_D7,
TILE_WIRE_C7,
TILE_WIRE_B7,
@ -295,7 +296,56 @@ enum GfxTileWireId
TILE_WIRE_DUMMY_510,
TILE_WIRE_DUMMY_511,
TILE_WIRE_DUMMY_512,
TILE_WIRE_DUMMY_513,
TILE_WIRE_DUMMY_514,
TILE_WIRE_D3,
TILE_WIRE_C3,
TILE_WIRE_B3,
TILE_WIRE_A3,
TILE_WIRE_D2,
TILE_WIRE_C2,
TILE_WIRE_B2,
TILE_WIRE_A2,
TILE_WIRE_DI3,
TILE_WIRE_DI2,
TILE_WIRE_M3,
TILE_WIRE_M2,
TILE_WIRE_FXBB,
TILE_WIRE_FXAB,
TILE_WIRE_DUMMY_515,
TILE_WIRE_DUMMY_516,
TILE_WIRE_CE1,
TILE_WIRE_DUMMY_517,
TILE_WIRE_DUMMY_518,
TILE_WIRE_DUMMY_519,
TILE_WIRE_DUMMY_520,
TILE_WIRE_DUMMY_521,
TILE_WIRE_D1,
TILE_WIRE_C1,
TILE_WIRE_B1,
TILE_WIRE_A1,
TILE_WIRE_D0,
TILE_WIRE_C0,
TILE_WIRE_B0,
TILE_WIRE_A0,
TILE_WIRE_DI1,
TILE_WIRE_DI0,
TILE_WIRE_M1,
TILE_WIRE_M0,
TILE_WIRE_FXBA,
TILE_WIRE_FXAA,
TILE_WIRE_DUMMY_522,
TILE_WIRE_DUMMY_523,
TILE_WIRE_CE0,
TILE_WIRE_DUMMY_524,
TILE_WIRE_DUMMY_525,
TILE_WIRE_DUMMY_526,
TILE_WIRE_FCI,
};
NEXTPNR_NAMESPACE_END