Libraryless. Click here for Pure Java version (56L/1K).
1 | import java.awt.geom.*; |
2 | |
3 | static float drawArrowHead_length = 2f; |
4 | |
5 | static void drawArrowHead(Graphics2D g, double x1, double y1, double x2, double y2, double size) { |
6 | if (y2 == y1 && x2 == x1) ret; |
7 | |
8 | Path2D.Double arrowHead = new Path2D.Double(); |
9 | arrowHead.moveTo(0, 0); |
10 | double l = drawArrowHead_length*size; |
11 | arrowHead.lineTo(-size, -l); |
12 | arrowHead.lineTo(size, -l); |
13 | arrowHead.closePath(); |
14 | |
15 | new AffineTransform tx; |
16 | double angle = Math.atan2(y2-y1, x2-x1); |
17 | tx.translate(x2, y2); |
18 | tx.rotate(angle-Math.PI/2); |
19 | |
20 | AffineTransform old = g.getTransform(); |
21 | g.transform(tx); |
22 | g.fill(arrowHead); |
23 | g.setTransform(old); |
24 | } |
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1007301 |
Snippet name: | drawArrowHead |
Eternal ID of this version: | #1007301/17 |
Text MD5: | 2ac89bf9438b0d21704900a1af2cf185 |
Transpilation MD5: | 4f7826c74f17feccdf9743645f2e3a2b |
Author: | stefan |
Category: | javax / gui |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2022-09-28 20:53:20 |
Source code size: | 656 bytes / 24 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 559 / 609 |
Version history: | 16 change(s) |
Referenced in: | [show references] |