From: erg Date: Thu, 1 Jul 2010 17:39:06 +0000 (+0000) Subject: Fix attribute printing on selection X-Git-Tag: LAST_LIBGRAPH~32^2~1294 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=90492f1b857050f8323a5d42066dd48167fd6dd8;p=graphviz Fix attribute printing on selection --- diff --git a/cmd/smyrna/topviewfuncs.c b/cmd/smyrna/topviewfuncs.c index 6fbfeff3e..c8d6b4940 100644 --- a/cmd/smyrna/topviewfuncs.c +++ b/cmd/smyrna/topviewfuncs.c @@ -268,6 +268,7 @@ static void draw_edge(glCompPoint* posT,glCompPoint* posH, GLfloat length,int de void renderSelectedNodes(Agraph_t * g) { Agnode_t *v; + Agsym_t* data_attr = GN_labelattribute(g); xdot * x; glCompPoint pos; Agsym_t* l_color_attr = GG_nodelabelcolor(g); @@ -302,17 +303,23 @@ void renderSelectedNodes(Agraph_t * g) if (defaultNodeShape == 0) glVertex3f(pos.x,pos.y,pos.z+0.001); else if (defaultNodeShape == 1) - drawCircle(pos.x,pos.y,nodeSize,pos.z+0.001); + } + if(defaultNodeShape==0) + glEnd(); + for (v = agfstnode(g); v; v = agnxtnode(g, v)) + { + if(!ND_selected(v)) + continue; if (ND_printLabel(v)==1) { glColor4f(c.R, c.G,c.B, c.A); - glprintfglut(view->glutfont,pos.x,pos.y,pos.z,agnameof(v)); + if(!data_attr) + glprintfglut(view->glutfont,pos.x,pos.y,pos.z+0.002,agnameof(v)); + else + glprintfglut(view->glutfont,pos.x,pos.y,pos.z+0.002,agxget(v,data_attr)); } - } - if(defaultNodeShape==0) - glEnd(); }