attr.go 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  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. // ImageScale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:imagescale
  140. ImageScale Attr = "imagescale"
  141. // InputScale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:inputscale
  142. InputScale Attr = "inputscale"
  143. // Label http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:label
  144. Label Attr = "label"
  145. // LabelURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelURL
  146. LabelURL Attr = "labelURL"
  147. // LabelScheme http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:label_scheme
  148. LabelScheme Attr = "label_scheme"
  149. // LabelAngle http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelangle
  150. LabelAngle Attr = "labelangle"
  151. // LabelDistance http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeldistance
  152. LabelDistance Attr = "labeldistance"
  153. // LabelFloat http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfloat
  154. LabelFloat Attr = "labelfloat"
  155. // LabelFontColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontcolor
  156. LabelFontColor Attr = "labelfontcolor"
  157. // LabelFontName http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontname
  158. LabelFontName Attr = "labelfontname"
  159. // LabelFontSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelfontsize
  160. LabelFontSize Attr = "labelfontsize"
  161. // LabelHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelhref
  162. LabelHREF Attr = "labelhref"
  163. // LabelJust http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeljust
  164. LabelJust Attr = "labeljust"
  165. // LabelLOC http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labelloc
  166. LabelLOC Attr = "labelloc"
  167. // LabelTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeltarget
  168. LabelTarget Attr = "labeltarget"
  169. // LabelTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:labeltooltip
  170. LabelTooltip Attr = "labeltooltip"
  171. // Landscape http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:landscape
  172. Landscape Attr = "landscape"
  173. // Layer http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layer
  174. Layer Attr = "layer"
  175. // LayerListSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layerlistsep
  176. LayerListSep Attr = "layerlistsep"
  177. // Layers http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layers
  178. Layers Attr = "layers"
  179. // LayerSelect http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layerselect
  180. LayerSelect Attr = "layerselect"
  181. // LayerSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layersep
  182. LayerSep Attr = "layersep"
  183. // Layout http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:layout
  184. Layout Attr = "layout"
  185. // Len http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:len
  186. Len Attr = "len"
  187. // Levels http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:levels
  188. Levels Attr = "levels"
  189. // LevelsGap http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:levelsgap
  190. LevelsGap Attr = "levelsgap"
  191. // LHead http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lhead
  192. LHead Attr = "lhead"
  193. // LHeight http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lheight
  194. LHeight Attr = "lheight"
  195. // LP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lp
  196. LP Attr = "lp"
  197. // LTail http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ltail
  198. LTail Attr = "ltail"
  199. // LWidth http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:lwidth
  200. LWidth Attr = "lwidth"
  201. // Margin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:margin
  202. Margin Attr = "margin"
  203. // MaxIter http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:maxiter
  204. MaxIter Attr = "maxiter"
  205. // MCLimit http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mclimit
  206. MCLimit Attr = "mclimit"
  207. // MinDist http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mindist
  208. MinDist Attr = "mindist"
  209. // MinLen http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mindist
  210. MinLen Attr = "minlen"
  211. // Mode http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mode
  212. Mode Attr = "mode"
  213. // Model http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:model
  214. Model Attr = "model"
  215. // Mosek http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:mosek
  216. Mosek Attr = "mosek"
  217. // NewRank http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:newrank
  218. NewRank Attr = "newrank"
  219. // NodeSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nodesep
  220. NodeSep Attr = "nodesep"
  221. // NoJustify http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nojustify
  222. NoJustify Attr = "nojustify"
  223. // Normalize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:normalize
  224. Normalize Attr = "normalize"
  225. // NoTranslate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:notranslate
  226. NoTranslate Attr = "notranslate"
  227. // NSLimit http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit
  228. NSLimit Attr = "nslimit"
  229. // NSLimit1 http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit1
  230. NSLimit1 Attr = "nslimit1"
  231. // Ordering http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:nslimit1
  232. Ordering Attr = "ordering"
  233. // Orientation http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:orientation
  234. Orientation Attr = "orientation"
  235. // OutputOrder http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:outputorder
  236. OutputOrder Attr = "outputorder"
  237. // Overlap http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap
  238. Overlap Attr = "overlap"
  239. // OverlapScaling http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap_scaling
  240. OverlapScaling Attr = "overlap_scaling"
  241. // OverlapShrink http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:overlap_shrink
  242. OverlapShrink Attr = "overlap_shrink"
  243. // Pack http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pack
  244. Pack Attr = "pack"
  245. // PackMode http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:packmode
  246. PackMode Attr = "packmode"
  247. // Pad http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pad
  248. Pad Attr = "pad"
  249. // Page http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:page
  250. Page Attr = "page"
  251. // PageDir http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pagedir
  252. PageDir Attr = "pagedir"
  253. // PenColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pencolor
  254. PenColor Attr = "pencolor"
  255. // PenWidth http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:penwidth
  256. PenWidth Attr = "penwidth"
  257. // Peripheries http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:peripheries
  258. Peripheries Attr = "peripheries"
  259. // Pin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:peripheries
  260. Pin Attr = "pin"
  261. // Pos http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:pos
  262. Pos Attr = "pos"
  263. // QuadTree http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:quadtree
  264. QuadTree Attr = "quadtree"
  265. // Quantum http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:quantum
  266. Quantum Attr = "quantum"
  267. // Rank http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rank
  268. Rank Attr = "rank"
  269. // RankDir http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rankdir
  270. RankDir Attr = "rankdir"
  271. // RankSep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ranksep
  272. RankSep Attr = "ranksep"
  273. // Ratio http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:ratio
  274. Ratio Attr = "ratio"
  275. // Rects http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rects
  276. Rects Attr = "rects"
  277. // Regular http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:regular
  278. Regular Attr = "regular"
  279. // ReMinCross http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:remincross
  280. ReMinCross Attr = "remincross"
  281. // RepulsiveForce http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:repulsiveforce
  282. RepulsiveForce Attr = "repulsiveforce"
  283. // Resolution http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:resolution
  284. Resolution Attr = "resolution"
  285. // Root http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:root
  286. Root Attr = "root"
  287. // Rotate http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rotate
  288. Rotate Attr = "rotate"
  289. // Rotation http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:rotation
  290. Rotation Attr = "rotation"
  291. // SameHead http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:samehead
  292. SameHead Attr = "samehead"
  293. // SameTail http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sametail
  294. SameTail Attr = "sametail"
  295. // SamplePoints http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:samplepoints
  296. SamplePoints Attr = "samplepoints"
  297. // Scale http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:scale
  298. Scale Attr = "scale"
  299. // SearchSize http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:searchsize
  300. SearchSize Attr = "searchsize"
  301. // Sep http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sep
  302. Sep Attr = "sep"
  303. // Shape http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:shape
  304. Shape Attr = "shape"
  305. // ShapeFile http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:shapefile
  306. ShapeFile Attr = "shapefile"
  307. // ShowBoxes http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:showboxes
  308. ShowBoxes Attr = "showboxes"
  309. // Sides http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sides
  310. Sides Attr = "sides"
  311. // Size http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:size
  312. Size Attr = "size"
  313. // Skew http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:skew
  314. Skew Attr = "skew"
  315. // Smoothing http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:smoothing
  316. Smoothing Attr = "smoothing"
  317. // SortV http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:sortv
  318. SortV Attr = "sortv"
  319. // Splines http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:splines
  320. Splines Attr = "splines"
  321. // Start http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:start
  322. Start Attr = "start"
  323. // Style http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:style
  324. Style Attr = "style"
  325. // StyleSheet http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:stylesheet
  326. StyleSheet Attr = "stylesheet"
  327. // TailURL http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailURL
  328. TailURL Attr = "tailURL"
  329. // TailLP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tail_lp
  330. TailLP Attr = "tail_lp"
  331. // TailClip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailclip
  332. TailClip Attr = "tailclip"
  333. // TailHREF http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailhref
  334. TailHREF Attr = "tailhref"
  335. // TailLabel http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:taillabel
  336. TailLabel Attr = "taillabel"
  337. // TailPort http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailport
  338. TailPort Attr = "tailport"
  339. // TailTarget http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailtarget
  340. TailTarget Attr = "tailtarget"
  341. // TailTooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tailtooltip
  342. TailTooltip Attr = "tailtooltip"
  343. // Target http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:target
  344. Target Attr = "target"
  345. // Tooltip http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tooltip
  346. Tooltip Attr = "tooltip"
  347. // TrueColor http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:tooltip
  348. TrueColor Attr = "truecolor"
  349. // Vertices http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:vertices
  350. Vertices Attr = "vertices"
  351. // ViewPort http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:viewport
  352. ViewPort Attr = "viewport"
  353. // VoroMargin http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:voro_margin
  354. VoroMargin Attr = "voro_margin"
  355. // Weight http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:weight
  356. Weight Attr = "weight"
  357. // Width http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:width
  358. Width Attr = "width"
  359. // XDotVersion http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xdotversion
  360. XDotVersion Attr = "xdotversion"
  361. // XLabel http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xlabel
  362. XLabel Attr = "xlabel"
  363. // XLP http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:xlp
  364. XLP Attr = "xlp"
  365. // Z http://graphviz.gitlab.io/_pages/doc/info/attrs.html#d:z
  366. Z Attr = "z"
  367. // MinCross is not in the documentation, but found in the Ped_Lion_Share (lion_share.gv.txt) example
  368. MinCross Attr = "mincross"
  369. // SSize is not in the documentation, but found in the siblings.gv.txt example
  370. SSize Attr = "ssize"
  371. // Outline is not in the documentation, but found in the siblings.gv.txt example
  372. Outline Attr = "outline"
  373. // F is not in the documentation, but found in the transparency.gv.txt example
  374. F Attr = "f"
  375. )
  376. var validAttrs = map[string]Attr{
  377. string(Damping): Damping,
  378. string(K): K,
  379. string(URL): URL,
  380. string(Background): Background,
  381. string(Area): Area,
  382. string(ArrowHead): ArrowHead,
  383. string(ArrowSize): ArrowSize,
  384. string(ArrowTail): ArrowTail,
  385. string(BB): BB,
  386. string(BgColor): BgColor,
  387. string(Center): Center,
  388. string(Charset): Charset,
  389. string(ClusterRank): ClusterRank,
  390. string(Color): Color,
  391. string(ColorScheme): ColorScheme,
  392. string(Comment): Comment,
  393. string(Compound): Compound,
  394. string(Concentrate): Concentrate,
  395. string(Constraint): Constraint,
  396. string(Decorate): Decorate,
  397. string(DefaultDist): DefaultDist,
  398. string(Dim): Dim,
  399. string(Dimen): Dimen,
  400. string(Dir): Dir,
  401. string(DirEdgeConstraints): DirEdgeConstraints,
  402. string(Distortion): Distortion,
  403. string(DPI): DPI,
  404. string(EdgeURL): EdgeURL,
  405. string(EdgeHREF): EdgeHREF,
  406. string(EdgeTarget): EdgeTarget,
  407. string(EdgeTooltip): EdgeTooltip,
  408. string(Epsilon): Epsilon,
  409. string(ESep): ESep,
  410. string(FillColor): FillColor,
  411. string(FixedSize): FixedSize,
  412. string(FontColor): FontColor,
  413. string(FontName): FontName,
  414. string(FontNames): FontNames,
  415. string(FontPath): FontPath,
  416. string(FontSize): FontSize,
  417. string(ForceLabels): ForceLabels,
  418. string(GradientAngle): GradientAngle,
  419. string(Group): Group,
  420. string(HeadURL): HeadURL,
  421. string(HeadLP): HeadLP,
  422. string(HeadClip): HeadClip,
  423. string(HeadHREF): HeadHREF,
  424. string(HeadLabel): HeadLabel,
  425. string(HeadPort): HeadPort,
  426. string(HeadTarget): HeadTarget,
  427. string(HeadTooltip): HeadTooltip,
  428. string(Height): Height,
  429. string(HREF): HREF,
  430. string(ID): ID,
  431. string(Image): Image,
  432. string(ImagePath): ImagePath,
  433. string(ImageScale): ImageScale,
  434. string(InputScale): InputScale,
  435. string(Label): Label,
  436. string(LabelURL): LabelURL,
  437. string(LabelScheme): LabelScheme,
  438. string(LabelAngle): LabelAngle,
  439. string(LabelDistance): LabelDistance,
  440. string(LabelFloat): LabelFloat,
  441. string(LabelFontColor): LabelFontColor,
  442. string(LabelFontName): LabelFontName,
  443. string(LabelFontSize): LabelFontSize,
  444. string(LabelHREF): LabelHREF,
  445. string(LabelJust): LabelJust,
  446. string(LabelLOC): LabelLOC,
  447. string(LabelTarget): LabelTarget,
  448. string(LabelTooltip): LabelTooltip,
  449. string(Landscape): Landscape,
  450. string(Layer): Layer,
  451. string(LayerListSep): LayerListSep,
  452. string(Layers): Layers,
  453. string(LayerSelect): LayerSelect,
  454. string(LayerSep): LayerSep,
  455. string(Layout): Layout,
  456. string(Len): Len,
  457. string(Levels): Levels,
  458. string(LevelsGap): LevelsGap,
  459. string(LHead): LHead,
  460. string(LHeight): LHeight,
  461. string(LP): LP,
  462. string(LTail): LTail,
  463. string(LWidth): LWidth,
  464. string(Margin): Margin,
  465. string(MaxIter): MaxIter,
  466. string(MCLimit): MCLimit,
  467. string(MinDist): MinDist,
  468. string(MinLen): MinLen,
  469. string(Mode): Mode,
  470. string(Model): Model,
  471. string(Mosek): Mosek,
  472. string(NewRank): NewRank,
  473. string(NodeSep): NodeSep,
  474. string(NoJustify): NoJustify,
  475. string(Normalize): Normalize,
  476. string(NoTranslate): NoTranslate,
  477. string(NSLimit): NSLimit,
  478. string(NSLimit1): NSLimit1,
  479. string(Ordering): Ordering,
  480. string(Orientation): Orientation,
  481. string(OutputOrder): OutputOrder,
  482. string(Overlap): Overlap,
  483. string(OverlapScaling): OverlapScaling,
  484. string(OverlapShrink): OverlapShrink,
  485. string(Pack): Pack,
  486. string(PackMode): PackMode,
  487. string(Pad): Pad,
  488. string(Page): Page,
  489. string(PageDir): PageDir,
  490. string(PenColor): PenColor,
  491. string(PenWidth): PenWidth,
  492. string(Peripheries): Peripheries,
  493. string(Pin): Pin,
  494. string(Pos): Pos,
  495. string(QuadTree): QuadTree,
  496. string(Quantum): Quantum,
  497. string(Rank): Rank,
  498. string(RankDir): RankDir,
  499. string(RankSep): RankSep,
  500. string(Ratio): Ratio,
  501. string(Rects): Rects,
  502. string(Regular): Regular,
  503. string(ReMinCross): ReMinCross,
  504. string(RepulsiveForce): RepulsiveForce,
  505. string(Resolution): Resolution,
  506. string(Root): Root,
  507. string(Rotate): Rotate,
  508. string(Rotation): Rotation,
  509. string(SameHead): SameHead,
  510. string(SameTail): SameTail,
  511. string(SamplePoints): SamplePoints,
  512. string(Scale): Scale,
  513. string(SearchSize): SearchSize,
  514. string(Sep): Sep,
  515. string(Shape): Shape,
  516. string(ShapeFile): ShapeFile,
  517. string(ShowBoxes): ShowBoxes,
  518. string(Sides): Sides,
  519. string(Size): Size,
  520. string(Skew): Skew,
  521. string(Smoothing): Smoothing,
  522. string(SortV): SortV,
  523. string(Splines): Splines,
  524. string(Start): Start,
  525. string(Style): Style,
  526. string(StyleSheet): StyleSheet,
  527. string(TailURL): TailURL,
  528. string(TailLP): TailLP,
  529. string(TailClip): TailClip,
  530. string(TailHREF): TailHREF,
  531. string(TailLabel): TailLabel,
  532. string(TailPort): TailPort,
  533. string(TailTarget): TailTarget,
  534. string(TailTooltip): TailTooltip,
  535. string(Target): Target,
  536. string(Tooltip): Tooltip,
  537. string(TrueColor): TrueColor,
  538. string(Vertices): Vertices,
  539. string(ViewPort): ViewPort,
  540. string(VoroMargin): VoroMargin,
  541. string(Weight): Weight,
  542. string(Width): Width,
  543. string(XDotVersion): XDotVersion,
  544. string(XLabel): XLabel,
  545. string(XLP): XLP,
  546. string(Z): Z,
  547. string(MinCross): MinCross,
  548. string(SSize): SSize,
  549. string(Outline): Outline,
  550. string(F): F,
  551. }