symbol.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /**
  2. * ○
  3. */
  4. export var circle = function (x, y, r) {
  5. return [['M', x - r, y], ['A', r, r, 0, 1, 0, x + r, y], ['A', r, r, 0, 1, 0, x - r, y], ['Z']];
  6. };
  7. /**
  8. * Cname circle to point.
  9. */
  10. export var point = circle;
  11. /**
  12. * □
  13. */
  14. export var square = function (x, y, r) {
  15. return [['M', x - r, y - r], ['L', x + r, y - r], ['L', x + r, y + r], ['L', x - r, y + r], ['Z']];
  16. };
  17. /**
  18. * ◇
  19. */
  20. export var diamond = function (x, y, r) {
  21. return [['M', x - r, y], ['L', x, y - r], ['L', x + r, y], ['L', x, y + r], ['Z']];
  22. };
  23. /**
  24. * △
  25. */
  26. export var triangle = function (x, y, r) {
  27. var diffY = r * Math.sin((1 / 3) * Math.PI);
  28. return [['M', x - r, y + diffY], ['L', x, y - diffY], ['L', x + r, y + diffY], ['Z']];
  29. };
  30. /**
  31. * ▽
  32. */
  33. export var triangleDown = function (x, y, r) {
  34. var diffY = r * Math.sin((1 / 3) * Math.PI);
  35. return [['M', x - r, y - diffY], ['L', x + r, y - diffY], ['L', x, y + diffY], ['Z']];
  36. };
  37. /**
  38. * ⬡
  39. */
  40. export var hexagon = function (x, y, r) {
  41. var diffX = (r / 2) * Math.sqrt(3);
  42. return [
  43. ['M', x, y - r],
  44. ['L', x + diffX, y - r / 2],
  45. ['L', x + diffX, y + r / 2],
  46. ['L', x, y + r],
  47. ['L', x - diffX, y + r / 2],
  48. ['L', x - diffX, y - r / 2],
  49. ['Z'],
  50. ];
  51. };
  52. /**
  53. * ▷◁
  54. */
  55. export var bowtie = function (x, y, r) {
  56. var diffY = r - 1.5;
  57. return [['M', x - r, y - diffY], ['L', x + r, y + diffY], ['L', x + r, y - diffY], ['L', x - r, y + diffY], ['Z']];
  58. };
  59. /** -- 非闭合图形 ------------------------------------------------------------------------------- */
  60. /**
  61. * |
  62. */
  63. export var line = function (x, y, r) {
  64. return [
  65. ['M', x, y + r],
  66. ['L', x, y - r],
  67. ];
  68. };
  69. /**
  70. * ✕
  71. */
  72. export var cross = function (x, y, r) {
  73. return [
  74. ['M', x - r, y - r],
  75. ['L', x + r, y + r],
  76. ['M', x + r, y - r],
  77. ['L', x - r, y + r],
  78. ];
  79. };
  80. /**
  81. * 工
  82. */
  83. export var tick = function (x, y, r) {
  84. return [
  85. ['M', x - r / 2, y - r],
  86. ['L', x + r / 2, y - r],
  87. ['M', x, y - r],
  88. ['L', x, y + r],
  89. ['M', x - r / 2, y + r],
  90. ['L', x + r / 2, y + r],
  91. ];
  92. };
  93. /**
  94. * +
  95. */
  96. export var plus = function (x, y, r) {
  97. return [
  98. ['M', x - r, y],
  99. ['L', x + r, y],
  100. ['M', x, y - r],
  101. ['L', x, y + r],
  102. ];
  103. };
  104. /**
  105. * -
  106. */
  107. export var hyphen = function (x, y, r) {
  108. return [
  109. ['M', x - r, y],
  110. ['L', x + r, y],
  111. ];
  112. };
  113. /** -- 用于图例的 marker ------------------------------------------------------------------------------- */
  114. /**
  115. * ---
  116. */
  117. export var dot = function (x, y, r) {
  118. return [
  119. ['M', x - r, y],
  120. ['L', x + r, y],
  121. ];
  122. };
  123. export var dash = dot;
  124. export var smooth = function (x, y, r) {
  125. return [
  126. ['M', x - r, y],
  127. ['A', r / 2, r / 2, 0, 1, 1, x, y],
  128. ['A', r / 2, r / 2, 0, 1, 0, x + r, y],
  129. ];
  130. };
  131. export var hv = function (x, y, r) {
  132. return [
  133. ['M', x - r - 1, y - 2.5],
  134. ['L', x, y - 2.5],
  135. ['L', x, y + 2.5],
  136. ['L', x + r + 1, y + 2.5],
  137. ];
  138. };
  139. export var vh = function (x, y, r) {
  140. return [
  141. ['M', x - r - 1, y + 2.5],
  142. ['L', x, y + 2.5],
  143. ['L', x, y - 2.5],
  144. ['L', x + r + 1, y - 2.5],
  145. ];
  146. };
  147. export var hvh = function (x, y, r) {
  148. return [
  149. ['M', x - (r + 1), y + 2.5],
  150. ['L', x - r / 2, y + 2.5],
  151. ['L', x - r / 2, y - 2.5],
  152. ['L', x + r / 2, y - 2.5],
  153. ['L', x + r / 2, y + 2.5],
  154. ['L', x + r + 1, y + 2.5],
  155. ];
  156. };
  157. export function vhv(x, y) {
  158. // 宽 13px,高 8px
  159. return [
  160. ['M', x - 5, y + 2.5],
  161. ['L', x - 5, y],
  162. ['L', x, y],
  163. ['L', x, y - 3],
  164. ['L', x, y + 3],
  165. ['L', x + 6.5, y + 3],
  166. ];
  167. }
  168. /** --------------------------------------------------------------------------------- */
  169. export var button = function (x, y, r) {
  170. return [['M', x - r, y - r], ['L', x + r, y], ['L', x - r, y + r], ['Z']];
  171. };
  172. //# sourceMappingURL=symbol.js.map