attr.go 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562
  1. //Copyright 2017 GoGraphviz Authors
  2. //
  3. //Licensed under the Apache License, Version 2.0 (the "License");
  4. //you may not use this file except in compliance with the License.
  5. //You may obtain a copy of the License at
  6. //
  7. // http)://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. //Unless required by applicable law or agreed to in writing, software
  10. //distributed under the License is distributed on an "AS IS" BASIS,
  11. //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. //See the License for the specific language governing permissions and
  13. //limitations under the License.
  14. package gographviz
  15. import "fmt"
  16. // Attr is an attribute key
  17. type Attr string
  18. // NewAttr creates a new attribute key by checking whether it is a valid key
  19. func NewAttr(key string) (Attr, error) {
  20. a, ok := validAttrs[key]
  21. if !ok {
  22. return Attr(""), fmt.Errorf("%s is not a valid attribute", key)
  23. }
  24. return a, nil
  25. }
  26. const (
  27. // Damping http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:Damping
  28. Damping Attr = "Damping"
  29. // K http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:K
  30. K Attr = "K"
  31. // URL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:URL
  32. URL Attr = "URL"
  33. // Background http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:_background
  34. Background Attr = "_background"
  35. // Area http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:area
  36. Area Attr = "area"
  37. // ArrowHead http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:arrowhead
  38. ArrowHead Attr = "arrowhead"
  39. // ArrowSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:arrowsize
  40. ArrowSize Attr = "arrowsize"
  41. // ArrowTail http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:arrowtail
  42. ArrowTail Attr = "arrowtail"
  43. // BB http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:bb
  44. BB Attr = "bb"
  45. // BgColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:bgcolor
  46. BgColor Attr = "bgcolor"
  47. // Center http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:center
  48. Center Attr = "center"
  49. // Charset http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:charset
  50. Charset Attr = "charset"
  51. // ClusterRank http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:clusterrank
  52. ClusterRank Attr = "clusterrank"
  53. // Color http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:color
  54. Color Attr = "color"
  55. // ColorScheme http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:colorscheme
  56. ColorScheme Attr = "colorscheme"
  57. // Comment http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:comment
  58. Comment Attr = "comment"
  59. // Compound http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:compound
  60. Compound Attr = "compound"
  61. // Concentrate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:concentrate
  62. Concentrate Attr = "concentrate"
  63. // Constraint http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:constraint
  64. Constraint Attr = "constraint"
  65. // Decorate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:decorate
  66. Decorate Attr = "decorate"
  67. // DefaultDist http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:defaultdist
  68. DefaultDist Attr = "defaultdist"
  69. // Dim http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:dim
  70. Dim Attr = "dim"
  71. // Dimen http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:dimen
  72. Dimen Attr = "dimen"
  73. // Dir http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:dir
  74. Dir Attr = "dir"
  75. // DirEdgeConstraints http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:dir
  76. DirEdgeConstraints Attr = "diredgeconstraints"
  77. // Distortion http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:distortion
  78. Distortion Attr = "distortion"
  79. // DPI http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:dpi
  80. DPI Attr = "dpi"
  81. // EdgeURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::edgeURL
  82. EdgeURL Attr = "edgeURL"
  83. // EdgeHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::edgehref
  84. EdgeHREF Attr = "edgehref"
  85. // EdgeTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::edgetarget
  86. EdgeTarget Attr = "edgetarget"
  87. // EdgeTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::edgetooltip
  88. EdgeTooltip Attr = "edgetooltip"
  89. // Epsilon http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::epsilon
  90. Epsilon Attr = "epsilon"
  91. // ESep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d::epsilon
  92. ESep Attr = "esep"
  93. // FillColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fillcolor
  94. FillColor Attr = "fillcolor"
  95. // FixedSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fixedsize
  96. FixedSize Attr = "fixedsize"
  97. // FontColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fontcolor
  98. FontColor Attr = "fontcolor"
  99. // FontName http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fontname
  100. FontName Attr = "fontname"
  101. // FontNames http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fontnames
  102. FontNames Attr = "fontnames"
  103. // FontPath http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fontpath
  104. FontPath Attr = "fontpath"
  105. // FontSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:fontsize
  106. FontSize Attr = "fontsize"
  107. // ForceLabels http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:forcelabels
  108. ForceLabels Attr = "forcelabels"
  109. // GradientAngle http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:gradientangle
  110. GradientAngle Attr = "gradientangle"
  111. // Group http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:group
  112. Group Attr = "group"
  113. // HeadURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headURL
  114. HeadURL Attr = "headURL"
  115. // HeadLP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:head_lp
  116. HeadLP Attr = "head_lp"
  117. // HeadClip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headclip
  118. HeadClip Attr = "headclip"
  119. // HeadHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headhref
  120. HeadHREF Attr = "headhref"
  121. // HeadLabel http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headlabel
  122. HeadLabel Attr = "headlabel"
  123. // HeadPort http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headport
  124. HeadPort Attr = "headport"
  125. // HeadTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headtarget
  126. HeadTarget Attr = "headtarget"
  127. // HeadTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:headtooltip
  128. HeadTooltip Attr = "headtooltip"
  129. // Height http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:height
  130. Height Attr = "height"
  131. // HREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:href
  132. HREF Attr = "href"
  133. // ID http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:id
  134. ID Attr = "id"
  135. // Image http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:image
  136. Image Attr = "image"
  137. // ImagePath http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:imagepath
  138. ImagePath Attr = "imagepath"
  139. // ImagePos https://graphviz.org/doc/info/attrs.html#d:imagepos
  140. ImagePos Attr = "imagepos"
  141. // ImageScale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:imagescale
  142. ImageScale Attr = "imagescale"
  143. // InputScale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:inputscale
  144. InputScale Attr = "inputscale"
  145. // Label http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:label
  146. Label Attr = "label"
  147. // LabelURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelURL
  148. LabelURL Attr = "labelURL"
  149. // LabelScheme http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:label_scheme
  150. LabelScheme Attr = "label_scheme"
  151. // LabelAngle http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelangle
  152. LabelAngle Attr = "labelangle"
  153. // LabelDistance http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeldistance
  154. LabelDistance Attr = "labeldistance"
  155. // LabelFloat http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfloat
  156. LabelFloat Attr = "labelfloat"
  157. // LabelFontColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontcolor
  158. LabelFontColor Attr = "labelfontcolor"
  159. // LabelFontName http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontname
  160. LabelFontName Attr = "labelfontname"
  161. // LabelFontSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontsize
  162. LabelFontSize Attr = "labelfontsize"
  163. // LabelHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelhref
  164. LabelHREF Attr = "labelhref"
  165. // LabelJust http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeljust
  166. LabelJust Attr = "labeljust"
  167. // LabelLOC http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelloc
  168. LabelLOC Attr = "labelloc"
  169. // LabelTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeltarget
  170. LabelTarget Attr = "labeltarget"
  171. // LabelTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeltooltip
  172. LabelTooltip Attr = "labeltooltip"
  173. // Landscape http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:landscape
  174. Landscape Attr = "landscape"
  175. // Layer http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layer
  176. Layer Attr = "layer"
  177. // LayerListSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layerlistsep
  178. LayerListSep Attr = "layerlistsep"
  179. // Layers http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layers
  180. Layers Attr = "layers"
  181. // LayerSelect http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layerselect
  182. LayerSelect Attr = "layerselect"
  183. // LayerSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layersep
  184. LayerSep Attr = "layersep"
  185. // Layout http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layout
  186. Layout Attr = "layout"
  187. // Len http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:len
  188. Len Attr = "len"
  189. // Levels http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:levels
  190. Levels Attr = "levels"
  191. // LevelsGap http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:levelsgap
  192. LevelsGap Attr = "levelsgap"
  193. // LHead http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lhead
  194. LHead Attr = "lhead"
  195. // LHeight http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lheight
  196. LHeight Attr = "lheight"
  197. // LP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lp
  198. LP Attr = "lp"
  199. // LTail http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ltail
  200. LTail Attr = "ltail"
  201. // LWidth http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lwidth
  202. LWidth Attr = "lwidth"
  203. // Margin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:margin
  204. Margin Attr = "margin"
  205. // MaxIter http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:maxiter
  206. MaxIter Attr = "maxiter"
  207. // MCLimit http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mclimit
  208. MCLimit Attr = "mclimit"
  209. // MinDist http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mindist
  210. MinDist Attr = "mindist"
  211. // MinLen http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mindist
  212. MinLen Attr = "minlen"
  213. // Mode http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mode
  214. Mode Attr = "mode"
  215. // Model http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:model
  216. Model Attr = "model"
  217. // Mosek http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mosek
  218. Mosek Attr = "mosek"
  219. // NewRank http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:newrank
  220. NewRank Attr = "newrank"
  221. // NodeSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nodesep
  222. NodeSep Attr = "nodesep"
  223. // NoJustify http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nojustify
  224. NoJustify Attr = "nojustify"
  225. // Normalize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:normalize
  226. Normalize Attr = "normalize"
  227. // NoTranslate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:notranslate
  228. NoTranslate Attr = "notranslate"
  229. // NSLimit http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit
  230. NSLimit Attr = "nslimit"
  231. // NSLimit1 http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit1
  232. NSLimit1 Attr = "nslimit1"
  233. // Ordering http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit1
  234. Ordering Attr = "ordering"
  235. // Orientation http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:orientation
  236. Orientation Attr = "orientation"
  237. // OutputOrder http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:outputorder
  238. OutputOrder Attr = "outputorder"
  239. // Overlap http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap
  240. Overlap Attr = "overlap"
  241. // OverlapScaling http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap_scaling
  242. OverlapScaling Attr = "overlap_scaling"
  243. // OverlapShrink http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap_shrink
  244. OverlapShrink Attr = "overlap_shrink"
  245. // Pack http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pack
  246. Pack Attr = "pack"
  247. // PackMode http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:packmode
  248. PackMode Attr = "packmode"
  249. // Pad http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pad
  250. Pad Attr = "pad"
  251. // Page http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:page
  252. Page Attr = "page"
  253. // PageDir http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pagedir
  254. PageDir Attr = "pagedir"
  255. // PenColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pencolor
  256. PenColor Attr = "pencolor"
  257. // PenWidth http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:penwidth
  258. PenWidth Attr = "penwidth"
  259. // Peripheries http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:peripheries
  260. Peripheries Attr = "peripheries"
  261. // Pin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:peripheries
  262. Pin Attr = "pin"
  263. // Pos http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pos
  264. Pos Attr = "pos"
  265. // QuadTree http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:quadtree
  266. QuadTree Attr = "quadtree"
  267. // Quantum http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:quantum
  268. Quantum Attr = "quantum"
  269. // Rank http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rank
  270. Rank Attr = "rank"
  271. // RankDir http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rankdir
  272. RankDir Attr = "rankdir"
  273. // RankSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ranksep
  274. RankSep Attr = "ranksep"
  275. // Ratio http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ratio
  276. Ratio Attr = "ratio"
  277. // Rects http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rects
  278. Rects Attr = "rects"
  279. // Regular http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:regular
  280. Regular Attr = "regular"
  281. // ReMinCross http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:remincross
  282. ReMinCross Attr = "remincross"
  283. // RepulsiveForce http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:repulsiveforce
  284. RepulsiveForce Attr = "repulsiveforce"
  285. // Resolution http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:resolution
  286. Resolution Attr = "resolution"
  287. // Root http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:root
  288. Root Attr = "root"
  289. // Rotate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rotate
  290. Rotate Attr = "rotate"
  291. // Rotation http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rotation
  292. Rotation Attr = "rotation"
  293. // SameHead http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:samehead
  294. SameHead Attr = "samehead"
  295. // SameTail http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sametail
  296. SameTail Attr = "sametail"
  297. // SamplePoints http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:samplepoints
  298. SamplePoints Attr = "samplepoints"
  299. // Scale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:scale
  300. Scale Attr = "scale"
  301. // SearchSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:searchsize
  302. SearchSize Attr = "searchsize"
  303. // Sep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sep
  304. Sep Attr = "sep"
  305. // Shape http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:shape
  306. Shape Attr = "shape"
  307. // ShapeFile http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:shapefile
  308. ShapeFile Attr = "shapefile"
  309. // ShowBoxes http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:showboxes
  310. ShowBoxes Attr = "showboxes"
  311. // Sides http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sides
  312. Sides Attr = "sides"
  313. // Size http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:size
  314. Size Attr = "size"
  315. // Skew http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:skew
  316. Skew Attr = "skew"
  317. // Smoothing http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:smoothing
  318. Smoothing Attr = "smoothing"
  319. // SortV http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sortv
  320. SortV Attr = "sortv"
  321. // Splines http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:splines
  322. Splines Attr = "splines"
  323. // Start http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:start
  324. Start Attr = "start"
  325. // Style http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:style
  326. Style Attr = "style"
  327. // StyleSheet http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:stylesheet
  328. StyleSheet Attr = "stylesheet"
  329. // TailURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailURL
  330. TailURL Attr = "tailURL"
  331. // TailLP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tail_lp
  332. TailLP Attr = "tail_lp"
  333. // TailClip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailclip
  334. TailClip Attr = "tailclip"
  335. // TailHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailhref
  336. TailHREF Attr = "tailhref"
  337. // TailLabel http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:taillabel
  338. TailLabel Attr = "taillabel"
  339. // TailPort http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailport
  340. TailPort Attr = "tailport"
  341. // TailTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailtarget
  342. TailTarget Attr = "tailtarget"
  343. // TailTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailtooltip
  344. TailTooltip Attr = "tailtooltip"
  345. // Target http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:target
  346. Target Attr = "target"
  347. // Tooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tooltip
  348. Tooltip Attr = "tooltip"
  349. // TrueColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tooltip
  350. TrueColor Attr = "truecolor"
  351. // Vertices http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:vertices
  352. Vertices Attr = "vertices"
  353. // ViewPort http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:viewport
  354. ViewPort Attr = "viewport"
  355. // VoroMargin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:voro_margin
  356. VoroMargin Attr = "voro_margin"
  357. // Weight http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:weight
  358. Weight Attr = "weight"
  359. // Width http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:width
  360. Width Attr = "width"
  361. // XDotVersion http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xdotversion
  362. XDotVersion Attr = "xdotversion"
  363. // XLabel http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xlabel
  364. XLabel Attr = "xlabel"
  365. // XLP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xlp
  366. XLP Attr = "xlp"
  367. // Z http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:z
  368. Z Attr = "z"
  369. // MinCross is not in the documentation, but found in the Ped_Lion_Share (lion_share.gv.txt) example
  370. MinCross Attr = "mincross"
  371. // SSize is not in the documentation, but found in the siblings.gv.txt example
  372. SSize Attr = "ssize"
  373. // Outline is not in the documentation, but found in the siblings.gv.txt example
  374. Outline Attr = "outline"
  375. // F is not in the documentation, but found in the transparency.gv.txt example
  376. F Attr = "f"
  377. )
  378. var validAttrs = map[string]Attr{
  379. string(Damping): Damping,
  380. string(K): K,
  381. string(URL): URL,
  382. string(Background): Background,
  383. string(Area): Area,
  384. string(ArrowHead): ArrowHead,
  385. string(ArrowSize): ArrowSize,
  386. string(ArrowTail): ArrowTail,
  387. string(BB): BB,
  388. string(BgColor): BgColor,
  389. string(Center): Center,
  390. string(Charset): Charset,
  391. string(ClusterRank): ClusterRank,
  392. string(Color): Color,
  393. string(ColorScheme): ColorScheme,
  394. string(Comment): Comment,
  395. string(Compound): Compound,
  396. string(Concentrate): Concentrate,
  397. string(Constraint): Constraint,
  398. string(Decorate): Decorate,
  399. string(DefaultDist): DefaultDist,
  400. string(Dim): Dim,
  401. string(Dimen): Dimen,
  402. string(Dir): Dir,
  403. string(DirEdgeConstraints): DirEdgeConstraints,
  404. string(Distortion): Distortion,
  405. string(DPI): DPI,
  406. string(EdgeURL): EdgeURL,
  407. string(EdgeHREF): EdgeHREF,
  408. string(EdgeTarget): EdgeTarget,
  409. string(EdgeTooltip): EdgeTooltip,
  410. string(Epsilon): Epsilon,
  411. string(ESep): ESep,
  412. string(FillColor): FillColor,
  413. string(FixedSize): FixedSize,
  414. string(FontColor): FontColor,
  415. string(FontName): FontName,
  416. string(FontNames): FontNames,
  417. string(FontPath): FontPath,
  418. string(FontSize): FontSize,
  419. string(ForceLabels): ForceLabels,
  420. string(GradientAngle): GradientAngle,
  421. string(Group): Group,
  422. string(HeadURL): HeadURL,
  423. string(HeadLP): HeadLP,
  424. string(HeadClip): HeadClip,
  425. string(HeadHREF): HeadHREF,
  426. string(HeadLabel): HeadLabel,
  427. string(HeadPort): HeadPort,
  428. string(HeadTarget): HeadTarget,
  429. string(HeadTooltip): HeadTooltip,
  430. string(Height): Height,
  431. string(HREF): HREF,
  432. string(ID): ID,
  433. string(Image): Image,
  434. string(ImagePath): ImagePath,
  435. string(ImagePos): ImagePos,
  436. string(ImageScale): ImageScale,
  437. string(InputScale): InputScale,
  438. string(Label): Label,
  439. string(LabelURL): LabelURL,
  440. string(LabelScheme): LabelScheme,
  441. string(LabelAngle): LabelAngle,
  442. string(LabelDistance): LabelDistance,
  443. string(LabelFloat): LabelFloat,
  444. string(LabelFontColor): LabelFontColor,
  445. string(LabelFontName): LabelFontName,
  446. string(LabelFontSize): LabelFontSize,
  447. string(LabelHREF): LabelHREF,
  448. string(LabelJust): LabelJust,
  449. string(LabelLOC): LabelLOC,
  450. string(LabelTarget): LabelTarget,
  451. string(LabelTooltip): LabelTooltip,
  452. string(Landscape): Landscape,
  453. string(Layer): Layer,
  454. string(LayerListSep): LayerListSep,
  455. string(Layers): Layers,
  456. string(LayerSelect): LayerSelect,
  457. string(LayerSep): LayerSep,
  458. string(Layout): Layout,
  459. string(Len): Len,
  460. string(Levels): Levels,
  461. string(LevelsGap): LevelsGap,
  462. string(LHead): LHead,
  463. string(LHeight): LHeight,
  464. string(LP): LP,
  465. string(LTail): LTail,
  466. string(LWidth): LWidth,
  467. string(Margin): Margin,
  468. string(MaxIter): MaxIter,
  469. string(MCLimit): MCLimit,
  470. string(MinDist): MinDist,
  471. string(MinLen): MinLen,
  472. string(Mode): Mode,
  473. string(Model): Model,
  474. string(Mosek): Mosek,
  475. string(NewRank): NewRank,
  476. string(NodeSep): NodeSep,
  477. string(NoJustify): NoJustify,
  478. string(Normalize): Normalize,
  479. string(NoTranslate): NoTranslate,
  480. string(NSLimit): NSLimit,
  481. string(NSLimit1): NSLimit1,
  482. string(Ordering): Ordering,
  483. string(Orientation): Orientation,
  484. string(OutputOrder): OutputOrder,
  485. string(Overlap): Overlap,
  486. string(OverlapScaling): OverlapScaling,
  487. string(OverlapShrink): OverlapShrink,
  488. string(Pack): Pack,
  489. string(PackMode): PackMode,
  490. string(Pad): Pad,
  491. string(Page): Page,
  492. string(PageDir): PageDir,
  493. string(PenColor): PenColor,
  494. string(PenWidth): PenWidth,
  495. string(Peripheries): Peripheries,
  496. string(Pin): Pin,
  497. string(Pos): Pos,
  498. string(QuadTree): QuadTree,
  499. string(Quantum): Quantum,
  500. string(Rank): Rank,
  501. string(RankDir): RankDir,
  502. string(RankSep): RankSep,
  503. string(Ratio): Ratio,
  504. string(Rects): Rects,
  505. string(Regular): Regular,
  506. string(ReMinCross): ReMinCross,
  507. string(RepulsiveForce): RepulsiveForce,
  508. string(Resolution): Resolution,
  509. string(Root): Root,
  510. string(Rotate): Rotate,
  511. string(Rotation): Rotation,
  512. string(SameHead): SameHead,
  513. string(SameTail): SameTail,
  514. string(SamplePoints): SamplePoints,
  515. string(Scale): Scale,
  516. string(SearchSize): SearchSize,
  517. string(Sep): Sep,
  518. string(Shape): Shape,
  519. string(ShapeFile): ShapeFile,
  520. string(ShowBoxes): ShowBoxes,
  521. string(Sides): Sides,
  522. string(Size): Size,
  523. string(Skew): Skew,
  524. string(Smoothing): Smoothing,
  525. string(SortV): SortV,
  526. string(Splines): Splines,
  527. string(Start): Start,
  528. string(Style): Style,
  529. string(StyleSheet): StyleSheet,
  530. string(TailURL): TailURL,
  531. string(TailLP): TailLP,
  532. string(TailClip): TailClip,
  533. string(TailHREF): TailHREF,
  534. string(TailLabel): TailLabel,
  535. string(TailPort): TailPort,
  536. string(TailTarget): TailTarget,
  537. string(TailTooltip): TailTooltip,
  538. string(Target): Target,
  539. string(Tooltip): Tooltip,
  540. string(TrueColor): TrueColor,
  541. string(Vertices): Vertices,
  542. string(ViewPort): ViewPort,
  543. string(VoroMargin): VoroMargin,
  544. string(Weight): Weight,
  545. string(Width): Width,
  546. string(XDotVersion): XDotVersion,
  547. string(XLabel): XLabel,
  548. string(XLP): XLP,
  549. string(Z): Z,
  550. string(MinCross): MinCross,
  551. string(SSize): SSize,
  552. string(Outline): Outline,
  553. string(F): F,
  554. }