1f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 2f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// Licensed under the Apache License, Version 2.0 (the "License"); 3f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// you may not use this file except in compliance with the License. 4f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// You may obtain a copy of the License at 5f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// 6f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// http://www.apache.org/licenses/LICENSE-2.0 7f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// 8f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// Unless required by applicable law or agreed to in writing, software 9f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// distributed under the License is distributed on an "AS IS" BASIS, 10f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// See the License for the specific language governing permissions and 12f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// limitations under the License. 13f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// 14f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// Copyright 2005-2010 Google, Inc. 15f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson// Author: jpr@google.com (Jake Ratkiewicz) 16f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 17f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson#include <string> 18f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 19f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson#include <fst/script/fst-class.h> 20f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson#include <fst/script/draw.h> 21f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson#include <fst/script/script-impl.h> 22f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 23f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodsonnamespace fst { 24f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodsonnamespace script { 25f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 26f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodsonvoid DrawFst(const FstClass &fst, 27f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson const SymbolTable *isyms, 28f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson const SymbolTable *osyms, 29f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson const SymbolTable *ssyms, 30f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson bool accep, 31f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson const string &title, 32f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson float width, 33f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson float height, 34f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson bool portrait, 35f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson bool vertical, 36f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson float ranksep, 37f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson float nodesep, 38f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson int fontsize, 39f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson int precision, 40f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson bool show_weight_one, 41f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson ostream *ostrm, 42f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson const string &dest) { 43f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson FstDrawerArgs args(fst, isyms, osyms, ssyms, accep, title, width, 44f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson height, portrait, vertical, ranksep, nodesep, 45f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson fontsize, precision, show_weight_one, ostrm, dest); 46f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 47f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson Apply<Operation<FstDrawerArgs> >("DrawFst", fst.ArcType(), &args); 48f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson} 49f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 50f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian HodsonREGISTER_FST_OPERATION(DrawFst, StdArc, FstDrawerArgs); 51f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian HodsonREGISTER_FST_OPERATION(DrawFst, LogArc, FstDrawerArgs); 52f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian HodsonREGISTER_FST_OPERATION(DrawFst, Log64Arc, FstDrawerArgs); 53f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson 54f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson} // namespace script 55f4c12fce1ee58e670f9c3fce46c40296ba9ee8a2Ian Hodson} // namespace fst 56