'fontname' = sgraph.fontname;
'fontsize' = sgraph.fontsize;
'fontcolor' = sgraph.fontcolor;
- 'drawcolor' = sgraph.color;
- 'fillcolor' = sgraph.color;
+ 'drawcolor' = sgraph.drawcolor;
+ 'fillcolor' = sgraph.fillcolor;
]);
};
dotty.protogt.undrawsgraph = function (gt, views, sgraph) {
'fontname' = node.fontname;
'fontsize' = node.fontsize;
'fontcolor' = node.fontcolor;
- 'drawcolor' = node.color;
- 'fillcolor' = node.color;
+ 'drawcolor' = node.drawcolor;
+ 'fillcolor' = node.fillcolor;
]);
for (vid in views)
setpick (views[vid].canvas, node, node.rect);
'fontname' = edge.fontname;
'fontsize' = edge.fontsize;
'fontcolor' = edge.fontcolor;
- 'drawcolor' = edge.color;
- 'fillcolor' = edge.color;
+ 'drawcolor' = edge.drawcolor;
+ 'fillcolor' = edge.fillcolor;
]);
for (vid in views) {
canvas = views[vid].canvas;
sgraph[dotty.keys.fname] = attr.fontname;
sgraph[dotty.keys.fsize] = ston (attr.fontsize);
sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- sgraph[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- sgraph[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
};
dotty.protogt.unpacknodeattr = function (gt, node) {
local attr;
node[dotty.keys.fname] = attr.fontname;
node[dotty.keys.fsize] = ston (attr.fontsize);
node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- node[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- node[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
};
dotty.protogt.unpackedgeattr = function (gt, edge) {
local attr;
edge[dotty.keys.fname] = attr.fontname;
edge[dotty.keys.fsize] = ston (attr.fontsize);
edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- edge[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- edge[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
};
dotty.protogt.unpackattr = function (gt) {
local gid, sgraph, nid, node, eid, edge, graph, attr;
graph[dotty.keys.fname] = attr.fontname;
graph[dotty.keys.fsize] = ston (attr.fontsize);
graph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- graph[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- graph[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
if (attr.bgcolor & attr.bgcolor ~= '')
gt.setbgcolor (gt.views, attr.bgcolor);
for (gid in graph.graphdict) {
sgraph[dotty.keys.fname] = attr.fontname;
sgraph[dotty.keys.fsize] = ston (attr.fontsize);
sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- sgraph[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- sgraph[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
}
for (nid in graph.nodedict) {
node = graph.nodes[graph.nodedict[nid]];
node[dotty.keys.fname] = attr.fontname;
node[dotty.keys.fsize] = ston (attr.fontsize);
node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- if (attr.style == 'filled' & attr.color == 'black')
- node[dotty.keys.color] = gt.getcolor (gt.views, 'grey');
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
else
- node[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
}
for (eid in graph.edges) {
edge = graph.edges[eid];
edge[dotty.keys.fname] = attr.fontname;
edge[dotty.keys.fsize] = ston (attr.fontsize);
edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
- edge[dotty.keys.color] = gt.getcolor (gt.views, attr.color);
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
}
};