dottydec.hh 3.59 KB
 Alexandre Duret-Lutz committed Jul 29, 2013 1 2 3 4 5 ``````// -*- coding: utf-8 -*- // Copyright (C) 2011, 2013 Laboratoire de Recherche et // Developpement de l'Epita (LRDE). // Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6), // département Systèmes Répartis Coopératifs (SRC), Université Pierre `````` Alexandre Duret-Lutz committed Nov 03, 2004 6 7 8 9 10 11 ``````// et Marie Curie. // // This file is part of Spot, a model checking library. // // Spot is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by `````` Alexandre Duret-Lutz committed Oct 12, 2012 12 ``````// the Free Software Foundation; either version 3 of the License, or `````` Alexandre Duret-Lutz committed Nov 03, 2004 13 14 15 16 17 18 19 20 ``````// (at your option) any later version. // // Spot is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public // License for more details. // // You should have received a copy of the GNU General Public License `````` Alexandre Duret-Lutz committed Oct 12, 2012 21 ``````// along with this program. If not, see . `````` Alexandre Duret-Lutz committed Nov 03, 2004 22 23 24 25 `````` #ifndef SPOT_TGBAALGOS_DOTTYDEC_HH # define SPOT_TGBAALGOS_DOTTYDEC_HH `````` Alexandre Duret-Lutz committed Jul 29, 2013 26 27 ``````# include "misc/common.hh" # include `````` Alexandre Duret-Lutz committed Nov 03, 2004 28 29 30 31 32 33 34 `````` namespace spot { class state; class tgba; class tgba_succ_iterator; `````` Alexandre Duret-Lutz committed Nov 17, 2004 35 36 37 38 `````` /// \addtogroup tgba_dotty Decorating the dot output /// \ingroup tgba_io /// \ingroup tgba_dotty `````` Alexandre Duret-Lutz committed Jun 08, 2013 39 `````` /// \brief Choose state and link styles for spot::dotty_reachable. `````` Alexandre Duret-Lutz committed Jul 29, 2013 40 `````` class SPOT_API dotty_decorator `````` Alexandre Duret-Lutz committed Nov 03, 2004 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 `````` { public: virtual ~dotty_decorator(); /// \brief Compute the style of a state. /// /// This function should output a string of the form /// [label="foo", style=bar, ...]. The /// default implementation will simply output [label="LABEL"] /// with LABEL replaced by the value of \a label. /// /// \param a the automaton being drawn /// \param s the state being drawn (owned by the caller) /// \param n a unique number for this state /// \param si an iterator over the successors of this state (owned by the /// caller, but can be freely iterated) /// \param label the computed name of this state `````` Alexandre Duret-Lutz committed Mar 05, 2011 58 59 `````` /// \param accepting whether the state is accepting (it makes sense only /// for state-acceptance automata) `````` Alexandre Duret-Lutz committed Nov 03, 2004 60 61 `````` virtual std::string state_decl(const tgba* a, const state* s, int n, tgba_succ_iterator* si, `````` Alexandre Duret-Lutz committed Mar 05, 2011 62 63 `````` const std::string& label, bool accepting); `````` Alexandre Duret-Lutz committed Nov 03, 2004 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 `````` /// \brief Compute the style of a link. /// /// This function should output a string of the form /// [label="foo", style=bar, ...]. The /// default implementation will simply output [label="LABEL"] /// with LABEL replaced by the value of \a label. /// /// \param a the automaton being drawn /// \param in_s the source state of the transition being drawn /// (owned by the caller) /// \param in the unique number associated to \a in_s /// \param out_s the destination state of the transition being drawn /// (owned by the caller) /// \param out the unique number associated to \a out_s /// \param si an iterator over the successors of \a in_s, pointing to /// the current transition (owned by the caller and cannot /// be iterated) /// \param label the computed name of this state virtual std::string link_decl(const tgba* a, const state* in_s, int in, const state* out_s, int out, const tgba_succ_iterator* si, const std::string& label); /// Get the unique instance of the default dotty_decorator. static dotty_decorator* instance(); protected: dotty_decorator(); }; `````` Alexandre Duret-Lutz committed Mar 05, 2011 94 `````` `````` Alexandre Duret-Lutz committed Nov 03, 2004 95 96 97 ``````} #endif // SPOT_TGBAALGOS_DOTTYDEC_HH``````