char * get_query (query_data * qd) { char *line, *LinePtr; WritePrompt (); do { do { line = GetMultiLine (); if (line == NULL) { if (stdin == InFile) return (NULL); /* EOF */ if (InPipe) pclose (InFile); else fclose (InFile); InPipe = 0; InFile = stdin; } } while (line == NULL); LinePtr = ProcessCommands (line, qd); if (CommandsErrorStr) fprintf (stderr, "%s\n", CommandsErrorStr); } while (*LinePtr == '\0' && !Quitting); return (LinePtr); }
void MultiLineComp::Write (ostream& out) { VerticesComp::Write(out); SF_MultiLine* ml = GetMultiLine(); const Coord* x, *y; int count = ml->GetOriginal(x, y); WriteVertices(x, y, count, out); WriteBgFilled(ml->BgFilled(), out); WriteColor(ml->GetFgColor(), out); WriteColor(ml->GetBgColor(), out); WriteBrush(ml->GetBrush(), out); WritePattern(ml->GetPattern(), out); WriteTransformer(ml->GetTransformer(), out); }
void ArrowMultiLineComp::Read (istream& in) { MultiLineComp::Read(in); SF_MultiLine* ml = GetMultiLine(); Coord* x, *y; int count, h, t; float scale; const Coord* cx, * cy; count = ml->GetOriginal(cx, cy); x = (Coord*)cx; y = (Coord*)cy; in >> h >> t >> scale; ArrowMultiLine* aml = new ArrowMultiLine(x, y, count, h, t, scale, ml); SetGraphic(aml); delete ml; }