plotboilerplate 1.12.7 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/changelog.md +25 -0
- package/dist/index.esm.js +259 -44
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +273 -43
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/PBText.d.ts +116 -0
- package/src/cjs/PBText.js +66 -0
- package/src/cjs/PBText.js.map +1 -0
- package/src/cjs/PlotBoilerplate.d.ts +2 -1
- package/src/cjs/PlotBoilerplate.js +66 -19
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/draw.d.ts +30 -2
- package/src/cjs/draw.js +51 -6
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +29 -2
- package/src/cjs/drawgl.js +21 -4
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +25 -7
- package/src/cjs/drawutilssvg.js +62 -14
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/entry.js +1 -0
- package/src/cjs/index.d.ts +1 -0
- package/src/cjs/index.js +1 -0
- package/src/cjs/index.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +27 -6
- package/src/cjs/interfaces/DrawLib.js +3 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +12 -1
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/datastructures/Color.d.ts +28 -15
- package/src/cjs/utils/datastructures/Color.js +276 -88
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/esm/PBText.d.ts +116 -0
- package/src/esm/PBText.js +61 -0
- package/src/esm/PBText.js.map +1 -0
- package/src/esm/PlotBoilerplate.d.ts +2 -1
- package/src/esm/PlotBoilerplate.js +66 -19
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/draw.d.ts +30 -2
- package/src/esm/draw.js +51 -6
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +29 -2
- package/src/esm/drawgl.js +21 -4
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +25 -7
- package/src/esm/drawutilssvg.js +62 -14
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/entry.js +1 -0
- package/src/esm/index.d.ts +1 -0
- package/src/esm/index.js +1 -0
- package/src/esm/index.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +27 -6
- package/src/esm/interfaces/DrawLib.js +3 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +12 -1
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/datastructures/Color.d.ts +28 -15
- package/src/esm/utils/datastructures/Color.js +277 -89
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/ts/PBText.ts +147 -0
- package/src/ts/PlotBoilerplate.ts +74 -23
- package/src/ts/draw.ts +71 -8
- package/src/ts/drawgl.ts +48 -8
- package/src/ts/drawutilssvg.ts +94 -17
- package/src/ts/index.ts +1 -0
- package/src/ts/interfaces/DrawLib.ts +30 -4
- package/src/ts/interfaces/core.ts +12 -0
- package/src/ts/utils/datastructures/Color.ts +695 -508
- package/src/ts/utils/algorithms/clearPolygonDuplicateVertices.ts~ +0 -5
- package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts~ +0 -45
- package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts~ +0 -113
- package/src/ts/utils/algorithms/sutherlandHodgman.ts~ +0 -88
- package/src/ts/utils/datastructures/Color.ts~ +0 -331
- package/src/ts/utils/datastructures/Girih.ts~ +0 -151
- package/src/ts/utils/datastructures/GirihTile.ts~ +0 -419
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/Color.ts"],"names":[],"mappings":"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"}
|
package/src/ts/PBText.ts
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Ikaros Kappler
|
|
3
|
+
* @date 2021-11-16
|
|
4
|
+
* @version 1.0.0
|
|
5
|
+
**/
|
|
6
|
+
|
|
7
|
+
import { UIDGenerator } from "./UIDGenerator";
|
|
8
|
+
import { Vertex } from "./Vertex";
|
|
9
|
+
import { FontOptions, FontStyle, FontWeight, SVGSerializable, UID } from "./interfaces";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @classdesc A simple text element: position, fontSize, fontFamily, color, textAlign, lineHeight and rotation.
|
|
13
|
+
*
|
|
14
|
+
* @requires FontOptions
|
|
15
|
+
* @requires FontSize
|
|
16
|
+
* @requires FontStyle
|
|
17
|
+
* @requires FontWeight
|
|
18
|
+
* @requires Vertex
|
|
19
|
+
* @requires SVGSerializale
|
|
20
|
+
* @requires UID
|
|
21
|
+
* @requires UIDGenerator
|
|
22
|
+
**/
|
|
23
|
+
export class PBText implements SVGSerializable, FontOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Required to generate proper CSS classes and other class related IDs.
|
|
26
|
+
**/
|
|
27
|
+
readonly className: string = "PBText";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The UID of this drawable object.
|
|
31
|
+
*
|
|
32
|
+
* @member {UID}
|
|
33
|
+
* @memberof PBText
|
|
34
|
+
* @instance
|
|
35
|
+
* @readonly
|
|
36
|
+
*/
|
|
37
|
+
readonly uid: UID;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @member {string}
|
|
41
|
+
* @memberof PBText
|
|
42
|
+
* @instance
|
|
43
|
+
*/
|
|
44
|
+
text: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @member {Vertex}
|
|
48
|
+
* @memberof PBText
|
|
49
|
+
* @instance
|
|
50
|
+
*/
|
|
51
|
+
anchor: Vertex;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @member {number}
|
|
55
|
+
* @memberof PBText
|
|
56
|
+
* @instance
|
|
57
|
+
*/
|
|
58
|
+
fontSize: number | undefined;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @member {number}
|
|
62
|
+
* @memberof PBText
|
|
63
|
+
* @instance
|
|
64
|
+
*/
|
|
65
|
+
lineHeight: number | undefined;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @member {FontWeight}
|
|
69
|
+
* @memberof PBText
|
|
70
|
+
* @instance
|
|
71
|
+
*/
|
|
72
|
+
fontWeight: FontWeight | undefined;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @member {FontStyle}
|
|
76
|
+
* @memberof PBText
|
|
77
|
+
* @instance
|
|
78
|
+
*/
|
|
79
|
+
fontStyle: FontStyle | undefined;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @member {CanvasRenderingContext2D["textAlign"]}
|
|
83
|
+
* @memberof PBText
|
|
84
|
+
* @instance
|
|
85
|
+
*/
|
|
86
|
+
textAlign: CanvasRenderingContext2D["textAlign"] | undefined;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @member {number}
|
|
90
|
+
* @memberof PBText
|
|
91
|
+
* @instance
|
|
92
|
+
*/
|
|
93
|
+
rotation: number | undefined;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @member {number}
|
|
97
|
+
* @memberof PBText
|
|
98
|
+
* @instance
|
|
99
|
+
*/
|
|
100
|
+
fontFamily: string | undefined;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @member {number}
|
|
104
|
+
* @memberof PBText
|
|
105
|
+
* @instance
|
|
106
|
+
*/
|
|
107
|
+
color: string | undefined;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Create a new circle with given center point and radius.
|
|
111
|
+
*
|
|
112
|
+
* @constructor
|
|
113
|
+
* @name Circle
|
|
114
|
+
* @param {Vertex} center - The center point of the circle.
|
|
115
|
+
* @param {number} radius - The radius of the circle.
|
|
116
|
+
*/
|
|
117
|
+
constructor(text: string, anchor?: Vertex, options?: FontOptions) {
|
|
118
|
+
this.uid = UIDGenerator.next();
|
|
119
|
+
this.text = text;
|
|
120
|
+
this.anchor = anchor ?? new Vertex();
|
|
121
|
+
this.color = options.color;
|
|
122
|
+
this.fontFamily = options.fontFamily;
|
|
123
|
+
this.fontSize = options.fontSize;
|
|
124
|
+
this.fontStyle = options.fontStyle;
|
|
125
|
+
this.fontWeight = options.fontWeight;
|
|
126
|
+
this.lineHeight = options.lineHeight;
|
|
127
|
+
this.textAlign = options.textAlign;
|
|
128
|
+
this.rotation = options.rotation;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Create an SVG representation of this circle.
|
|
133
|
+
*
|
|
134
|
+
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
135
|
+
* @method toSVGString
|
|
136
|
+
* @param {object=} options - An optional set of options, like 'className'.
|
|
137
|
+
* @return {string} A string representing the SVG code for this vertex.
|
|
138
|
+
* @instance
|
|
139
|
+
* @memberof Circle
|
|
140
|
+
*/
|
|
141
|
+
toSVGString(options: { className?: string }) {
|
|
142
|
+
console.warn(
|
|
143
|
+
"[PBText.toSVGString()] This function is not implemented as it defines a deprecated method. Use the 'drawutilssvg.text()' method instead."
|
|
144
|
+
);
|
|
145
|
+
return "";
|
|
146
|
+
}
|
|
147
|
+
} // END class
|
|
@@ -73,7 +73,8 @@
|
|
|
73
73
|
* @modified 2021-03-03 Added the `VEllipseSector` drawable.
|
|
74
74
|
* @modified 2021-03-29 Clearing `currentClassName` and `currentId` after drawing each drawable.
|
|
75
75
|
* @modified 2021-04-25 Extending `remove` to accept arrays of drawables.
|
|
76
|
-
* @
|
|
76
|
+
* @modified 2021-11-16 Adding the `PBText` drawable.
|
|
77
|
+
* @version 1.15.0
|
|
77
78
|
*
|
|
78
79
|
* @file PlotBoilerplate
|
|
79
80
|
* @fileoverview The main class.
|
|
@@ -118,6 +119,7 @@ import {
|
|
|
118
119
|
XYDimension,
|
|
119
120
|
DatGuiProps
|
|
120
121
|
} from "./interfaces";
|
|
122
|
+
import { PBText } from "./PBText";
|
|
121
123
|
|
|
122
124
|
/**
|
|
123
125
|
* @classdesc The main class of the PlotBoilerplate.
|
|
@@ -466,6 +468,16 @@ export class PlotBoilerplate {
|
|
|
466
468
|
handleLine: {
|
|
467
469
|
color: "rgba(180,180,180,0.5)",
|
|
468
470
|
lineWidth: 1
|
|
471
|
+
},
|
|
472
|
+
pathVertex: {
|
|
473
|
+
color: "#B400FF",
|
|
474
|
+
lineWidth: 1,
|
|
475
|
+
fill: true
|
|
476
|
+
},
|
|
477
|
+
controlVertex: {
|
|
478
|
+
color: "#B8D438",
|
|
479
|
+
lineWidth: 1,
|
|
480
|
+
fill: true
|
|
469
481
|
}
|
|
470
482
|
},
|
|
471
483
|
polygon: {
|
|
@@ -511,6 +523,12 @@ export class PlotBoilerplate {
|
|
|
511
523
|
image: {
|
|
512
524
|
color: "#a8a8a8",
|
|
513
525
|
lineWidth: 1
|
|
526
|
+
},
|
|
527
|
+
text: {
|
|
528
|
+
color: "rgba(192,0,128,0.5)",
|
|
529
|
+
lineWidth: 1,
|
|
530
|
+
fill: true,
|
|
531
|
+
anchor: true
|
|
514
532
|
}
|
|
515
533
|
}; // END drawConfig
|
|
516
534
|
|
|
@@ -824,6 +842,10 @@ export class PlotBoilerplate {
|
|
|
824
842
|
drawable.lowerRight.add(e.params.dragAmount);
|
|
825
843
|
});
|
|
826
844
|
drawable.lowerRight.attr.selectable = false;
|
|
845
|
+
} else if (drawable instanceof PBText) {
|
|
846
|
+
this.vertices.push(drawable.anchor);
|
|
847
|
+
this.drawables.push(drawable);
|
|
848
|
+
drawable.anchor.attr.selectable = false;
|
|
827
849
|
} else {
|
|
828
850
|
throw "Cannot add drawable of unrecognized type: " + typeof drawable + ".";
|
|
829
851
|
}
|
|
@@ -913,6 +935,8 @@ export class PlotBoilerplate {
|
|
|
913
935
|
} else if (drawable instanceof PBImage) {
|
|
914
936
|
this.removeVertex(drawable.upperLeft, false);
|
|
915
937
|
this.removeVertex(drawable.lowerRight, false);
|
|
938
|
+
} else if (drawable instanceof PBText) {
|
|
939
|
+
this.removeVertex(drawable.anchor, false);
|
|
916
940
|
}
|
|
917
941
|
} // END removeWithVertices
|
|
918
942
|
|
|
@@ -1120,48 +1144,66 @@ export class PlotBoilerplate {
|
|
|
1120
1144
|
);
|
|
1121
1145
|
|
|
1122
1146
|
if (this.drawConfig.drawBezierHandlePoints && this.drawConfig.drawHandlePoints) {
|
|
1123
|
-
if (
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1147
|
+
if (d.bezierCurves[c].startPoint.attr.visible) {
|
|
1148
|
+
const df = this.drawConfig.bezier.pathVertex.fill ? fill : draw;
|
|
1149
|
+
df.setCurrentId(`${d.uid}_h0`);
|
|
1150
|
+
df.setCurrentClassName(`${d.className}-start-handle`);
|
|
1151
|
+
if (d.bezierCurves[c].startPoint.attr.bezierAutoAdjust) {
|
|
1152
|
+
df.squareHandle(
|
|
1153
|
+
d.bezierCurves[c].startPoint,
|
|
1154
|
+
5,
|
|
1155
|
+
this._handleColor(d.bezierCurves[c].startPoint, this.drawConfig.bezier.pathVertex.color)
|
|
1156
|
+
);
|
|
1157
|
+
} else {
|
|
1158
|
+
df.diamondHandle(
|
|
1128
1159
|
d.bezierCurves[c].startPoint,
|
|
1129
1160
|
7,
|
|
1130
|
-
this._handleColor(d.bezierCurves[c].startPoint, this.drawConfig.
|
|
1161
|
+
this._handleColor(d.bezierCurves[c].startPoint, this.drawConfig.bezier.pathVertex.color)
|
|
1131
1162
|
);
|
|
1132
1163
|
}
|
|
1133
|
-
d.bezierCurves[c].startPoint.attr.renderTime = renderTime;
|
|
1134
1164
|
}
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1165
|
+
d.bezierCurves[c].startPoint.attr.renderTime = renderTime;
|
|
1166
|
+
|
|
1167
|
+
if (d.bezierCurves[c].endPoint.attr.visible) {
|
|
1168
|
+
const df = this.drawConfig.bezier.pathVertex.fill ? fill : draw;
|
|
1169
|
+
df.setCurrentId(`${d.uid}_h0`);
|
|
1170
|
+
df.setCurrentClassName(`${d.className}-start-handle`);
|
|
1171
|
+
if (d.bezierCurves[c].endPoint.attr.bezierAutoAdjust) {
|
|
1172
|
+
df.squareHandle(
|
|
1173
|
+
d.bezierCurves[c].endPoint,
|
|
1174
|
+
5,
|
|
1175
|
+
this._handleColor(d.bezierCurves[c].endPoint, this.drawConfig.bezier.pathVertex.color)
|
|
1176
|
+
);
|
|
1177
|
+
} else {
|
|
1178
|
+
df.diamondHandle(
|
|
1140
1179
|
d.bezierCurves[c].endPoint,
|
|
1141
1180
|
7,
|
|
1142
|
-
this._handleColor(d.bezierCurves[c].endPoint, this.drawConfig.
|
|
1181
|
+
this._handleColor(d.bezierCurves[c].endPoint, this.drawConfig.bezier.pathVertex.color)
|
|
1143
1182
|
);
|
|
1144
1183
|
}
|
|
1145
|
-
d.bezierCurves[c].endPoint.attr.renderTime = renderTime;
|
|
1146
1184
|
}
|
|
1147
1185
|
if (d.bezierCurves[c].startControlPoint.attr.visible) {
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1186
|
+
const df = this.drawConfig.bezier.controlVertex.fill ? fill : draw;
|
|
1187
|
+
df.setCurrentId(`${d.uid}_h2`);
|
|
1188
|
+
df.setCurrentClassName(`${d.className}-start-control-handle`);
|
|
1189
|
+
df.circleHandle(
|
|
1151
1190
|
d.bezierCurves[c].startControlPoint,
|
|
1152
1191
|
3,
|
|
1153
|
-
this._handleColor(d.bezierCurves[c].startControlPoint,
|
|
1192
|
+
this._handleColor(d.bezierCurves[c].startControlPoint, this.drawConfig.bezier.controlVertex.color)
|
|
1154
1193
|
);
|
|
1155
1194
|
}
|
|
1156
1195
|
if (d.bezierCurves[c].endControlPoint.attr.visible) {
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1196
|
+
const df = this.drawConfig.bezier.controlVertex.fill ? fill : draw;
|
|
1197
|
+
df.setCurrentId(`${d.uid}_h3`);
|
|
1198
|
+
df.setCurrentClassName(`${d.className}-end-control-handle`);
|
|
1199
|
+
df.circleHandle(
|
|
1160
1200
|
d.bezierCurves[c].endControlPoint,
|
|
1161
1201
|
3,
|
|
1162
|
-
this._handleColor(d.bezierCurves[c].endControlPoint,
|
|
1202
|
+
this._handleColor(d.bezierCurves[c].endControlPoint, this.drawConfig.bezier.controlVertex.color)
|
|
1163
1203
|
);
|
|
1164
1204
|
}
|
|
1205
|
+
d.bezierCurves[c].startPoint.attr.renderTime = renderTime;
|
|
1206
|
+
d.bezierCurves[c].endPoint.attr.renderTime = renderTime;
|
|
1165
1207
|
d.bezierCurves[c].startControlPoint.attr.renderTime = renderTime;
|
|
1166
1208
|
d.bezierCurves[c].endControlPoint.attr.renderTime = renderTime;
|
|
1167
1209
|
} else {
|
|
@@ -1292,6 +1334,15 @@ export class PlotBoilerplate {
|
|
|
1292
1334
|
draw.circleHandle(d.lowerRight, 3, this.drawConfig.image.color);
|
|
1293
1335
|
d.lowerRight.attr.renderTime = renderTime;
|
|
1294
1336
|
}
|
|
1337
|
+
} else if (d instanceof PBText) {
|
|
1338
|
+
fill.setCurrentId(d.uid);
|
|
1339
|
+
fill.text(d.text, d.anchor.x, d.anchor.y, d);
|
|
1340
|
+
if (this.drawConfig.text.anchor) {
|
|
1341
|
+
draw.setCurrentId(`${d.uid}_a0`);
|
|
1342
|
+
draw.setCurrentClassName(`${d.className}-anchor`);
|
|
1343
|
+
(this.drawConfig.text.fill ? fill : draw).point(d.anchor, this.drawConfig.text.color);
|
|
1344
|
+
}
|
|
1345
|
+
d.anchor.attr.renderTime = renderTime;
|
|
1295
1346
|
} else {
|
|
1296
1347
|
console.error("Cannot draw object. Unknown class.");
|
|
1297
1348
|
}
|
package/src/ts/draw.ts
CHANGED
|
@@ -37,13 +37,15 @@
|
|
|
37
37
|
* @modified 2021-02-22 Added the `path` drawing function to draw SVG path data.
|
|
38
38
|
* @modified 2021-03-31 Added the `endDrawCycle` function from `DrawLib`.
|
|
39
39
|
* @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
|
|
40
|
-
* @
|
|
40
|
+
* @modified 2021-11-12 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
|
|
41
|
+
* @modified 2021-11-19 Added the `color` param to the `label(...)` function.
|
|
42
|
+
* @version 1.10.0
|
|
41
43
|
**/
|
|
42
44
|
|
|
43
45
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
44
46
|
import { Polygon } from "./Polygon";
|
|
45
47
|
import { Vertex } from "./Vertex";
|
|
46
|
-
import { DrawLib, SVGPathParams, XYCoords, UID, DrawLibConfiguration } from "./interfaces";
|
|
48
|
+
import { DrawLib, SVGPathParams, XYCoords, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
|
|
47
49
|
import { drawutilssvg } from "./drawutilssvg";
|
|
48
50
|
|
|
49
51
|
// Todo: rename this class to Drawutils?
|
|
@@ -845,19 +847,77 @@ export class drawutils implements DrawLib<void> {
|
|
|
845
847
|
this.ctx.restore();
|
|
846
848
|
}
|
|
847
849
|
|
|
848
|
-
|
|
850
|
+
/**
|
|
851
|
+
* Draw a text at the given relative position.
|
|
852
|
+
*
|
|
853
|
+
* @method text
|
|
854
|
+
* @param {string} text - The text to draw.
|
|
855
|
+
* @param {number} x - The x-position to draw the text at.
|
|
856
|
+
* @param {number} y - The y-position to draw the text at.
|
|
857
|
+
* @param {string=} options.color - The Color to use.
|
|
858
|
+
* @param {string=} options.fontFamily - The font family to use.
|
|
859
|
+
* @param {number=} options.fontSize - The font size (in pixels) to use.
|
|
860
|
+
* @param {FontStyle=} options.fontStyle - The font style to use.
|
|
861
|
+
* @param {FontWeight=} options.fontWeight - The font weight to use.
|
|
862
|
+
* @param {number=} options.lineHeight - The line height (in pixels) to use.
|
|
863
|
+
* @param {number=} options.rotation - The (optional) rotation in radians.
|
|
864
|
+
* @param {string=} options.textAlign - The text align to use. According to the specifiactions (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign) valid values are `"left" || "right" || "center" || "start" || "end"`.
|
|
865
|
+
* @return {void}
|
|
866
|
+
* @instance
|
|
867
|
+
* @memberof drawutils
|
|
868
|
+
*/
|
|
869
|
+
text(
|
|
870
|
+
text: string,
|
|
871
|
+
x: number,
|
|
872
|
+
y: number,
|
|
873
|
+
options?: {
|
|
874
|
+
color?: string;
|
|
875
|
+
fontFamily?: string;
|
|
876
|
+
fontSize?: number;
|
|
877
|
+
fontStyle?: FontStyle;
|
|
878
|
+
fontWeight?: FontWeight;
|
|
879
|
+
lineHeight?: number;
|
|
880
|
+
textAlign?: CanvasRenderingContext2D["textAlign"];
|
|
881
|
+
rotation?: number;
|
|
882
|
+
}
|
|
883
|
+
) {
|
|
884
|
+
// See https://stackoverflow.com/a/23523697
|
|
885
|
+
|
|
849
886
|
options = options || {};
|
|
850
887
|
this.ctx.save();
|
|
851
|
-
|
|
852
|
-
|
|
888
|
+
let relX = this.offset.x + x * this.scale.x;
|
|
889
|
+
let relY = this.offset.y + y * this.scale.y;
|
|
853
890
|
const color: string = options.color || "black";
|
|
891
|
+
if (options.fontSize || options.fontFamily) {
|
|
892
|
+
// Scaling of text only works in uniform mode
|
|
893
|
+
this.ctx.font =
|
|
894
|
+
(options.fontWeight ? options.fontWeight + " " : "") +
|
|
895
|
+
(options.fontStyle ? options.fontStyle + " " : "") +
|
|
896
|
+
(options.fontSize ? options.fontSize * this.scale.x + "px " : " ") +
|
|
897
|
+
(options.fontFamily
|
|
898
|
+
? options.fontFamily.indexOf(" ") === -1
|
|
899
|
+
? options.fontFamily
|
|
900
|
+
: `"${options.fontFamily}"`
|
|
901
|
+
: "Arial");
|
|
902
|
+
}
|
|
903
|
+
if (options.textAlign) {
|
|
904
|
+
this.ctx.textAlign = options.textAlign;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
const rotation = options.rotation ?? 0.0;
|
|
908
|
+
const lineHeight = (options.lineHeight ?? options.fontSize ?? 0) * this.scale.x;
|
|
909
|
+
this.ctx.translate(relX, relY);
|
|
910
|
+
this.ctx.rotate(rotation);
|
|
911
|
+
|
|
854
912
|
if (this.fillShapes) {
|
|
855
913
|
this.ctx.fillStyle = color;
|
|
856
|
-
this.ctx.fillText(text,
|
|
914
|
+
this.ctx.fillText(text, 0, lineHeight / 2);
|
|
857
915
|
} else {
|
|
858
916
|
this.ctx.strokeStyle = color;
|
|
859
|
-
this.ctx.strokeText(text,
|
|
917
|
+
this.ctx.strokeText(text, 0, lineHeight / 2);
|
|
860
918
|
}
|
|
919
|
+
// this.ctx.translate(-relX, -relY);
|
|
920
|
+
// this.ctx.rotate(-rotation); // is this necessary before 'restore()'?
|
|
861
921
|
this.ctx.restore();
|
|
862
922
|
}
|
|
863
923
|
|
|
@@ -878,8 +938,11 @@ export class drawutils implements DrawLib<void> {
|
|
|
878
938
|
*/
|
|
879
939
|
label(text: string, x: number, y: number, rotation?: number, color?: string) {
|
|
880
940
|
this.ctx.save();
|
|
941
|
+
|
|
942
|
+
this.ctx.font = "lighter 9pt Arial";
|
|
943
|
+
|
|
881
944
|
this.ctx.translate(x, y);
|
|
882
|
-
if (typeof rotation
|
|
945
|
+
if (typeof rotation !== "undefined") this.ctx.rotate(rotation);
|
|
883
946
|
this.ctx.fillStyle = color || "black";
|
|
884
947
|
if (this.fillShapes) {
|
|
885
948
|
this.ctx.fillText(text, 0, 0);
|
package/src/ts/drawgl.ts
CHANGED
|
@@ -12,7 +12,16 @@
|
|
|
12
12
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
13
13
|
import { Polygon } from "./Polygon";
|
|
14
14
|
import { Vertex } from "./Vertex";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
DrawLib,
|
|
17
|
+
XYCoords,
|
|
18
|
+
SVGPathParams,
|
|
19
|
+
SVGSerializable,
|
|
20
|
+
UID,
|
|
21
|
+
DrawLibConfiguration,
|
|
22
|
+
FontStyle,
|
|
23
|
+
FontWeight
|
|
24
|
+
} from "./interfaces";
|
|
16
25
|
|
|
17
26
|
/**
|
|
18
27
|
* @classdesc A wrapper class for basic drawing operations. This is the WebGL
|
|
@@ -471,9 +480,9 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
471
480
|
* @param {string} color - The color to use.
|
|
472
481
|
* @param {number=1} lineWidth - (optional) The line with to use (default is 1).
|
|
473
482
|
**/
|
|
474
|
-
|
|
483
|
+
rect(position: XYCoords, width: number, height: number, color: string, lineWidth?: number): void {
|
|
475
484
|
// NOT YET IMPLEMENTED
|
|
476
|
-
|
|
485
|
+
}
|
|
477
486
|
|
|
478
487
|
/**
|
|
479
488
|
* Draw a grid of horizontal and vertical lines with the given (CSS-) color.
|
|
@@ -655,7 +664,40 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
655
664
|
// NOT YET IMPLEMENTED
|
|
656
665
|
}
|
|
657
666
|
|
|
658
|
-
|
|
667
|
+
/**
|
|
668
|
+
* Draw a text at the given relative position.
|
|
669
|
+
*
|
|
670
|
+
* @method text
|
|
671
|
+
* @param {string} text - The text to draw.
|
|
672
|
+
* @param {number} x - The x-position to draw the text at.
|
|
673
|
+
* @param {number} y - The y-position to draw the text at.
|
|
674
|
+
* @param {string=} options.color - The Color to use.
|
|
675
|
+
* @param {string=} options.fontFamily - The font family to use.
|
|
676
|
+
* @param {number=} options.fontSize - The font size (in pixels) to use.
|
|
677
|
+
* @param {FontStyle=} options.fontStyle - The font style to use.
|
|
678
|
+
* @param {FontWeight=} options.fontWeight - The font weight to use.
|
|
679
|
+
* @param {number=} options.lineHeight - The line height (in pixels) to use.
|
|
680
|
+
* @param {number=} options.rotation - The (optional) rotation in radians.
|
|
681
|
+
* @param {string=} options.textAlign - The text align to use. According to the specifiactions (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign) valid values are `"left" || "right" || "center" || "start" || "end"`.
|
|
682
|
+
* @return {void}
|
|
683
|
+
* @instance
|
|
684
|
+
* @memberof drawutils
|
|
685
|
+
*/
|
|
686
|
+
text(
|
|
687
|
+
text: string,
|
|
688
|
+
x: number,
|
|
689
|
+
y: number,
|
|
690
|
+
options?: {
|
|
691
|
+
color?: string;
|
|
692
|
+
fontFamily?: string;
|
|
693
|
+
fontSize?: number;
|
|
694
|
+
fontStyle?: FontStyle;
|
|
695
|
+
fontWeight?: FontWeight;
|
|
696
|
+
lineHeight?: number;
|
|
697
|
+
textAlign?: CanvasRenderingContext2D["textAlign"];
|
|
698
|
+
rotation?: number;
|
|
699
|
+
}
|
|
700
|
+
) {
|
|
659
701
|
// NOT YET IMPLEMENTED
|
|
660
702
|
}
|
|
661
703
|
|
|
@@ -667,14 +709,12 @@ export class drawutilsgl implements DrawLib<void> {
|
|
|
667
709
|
* @param {number} x - The x-position to draw the text at.
|
|
668
710
|
* @param {number} y - The y-position to draw the text at.
|
|
669
711
|
* @param {number=} rotation - The (aoptional) rotation in radians.
|
|
712
|
+
* @param {string="black"} color - The color to use (default is black).
|
|
670
713
|
* @return {void}
|
|
671
714
|
* @instance
|
|
672
715
|
* @memberof drawutils
|
|
673
716
|
*/
|
|
674
|
-
|
|
675
|
-
// | Draw a non-scaling text label at the given position.
|
|
676
|
-
// +-------------------------------
|
|
677
|
-
label(text: string, x: number, y: number, rotation: number) {
|
|
717
|
+
label(text: string, x: number, y: number, rotation?: number, color?: string) {
|
|
678
718
|
// NOT YET IMPLEMENTED
|
|
679
719
|
}
|
|
680
720
|
|