geokernel-electron 1.1.41 → 1.1.43
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 +12 -1
- package/bin/linux-x64/libGeoKernel.Viewer.so +0 -0
- package/bin/win32-x64/GeoKernel.Core.dll +0 -0
- package/bin/win32-x64/GeoKernel.Formats.dll +0 -0
- package/bin/win32-x64/GeoKernel.Viewer.dll +0 -0
- package/package.json +1 -2
- package/src/runtime.js +0 -5
- package/src/types.js +34 -0
- package/src/viewer-helpers.js +18 -0
- package/src/viewer.js +406 -0
- package/assets/images/Delete.svg +0 -1
- package/assets/images/FullExtent.svg +0 -29
- package/assets/images/GeoKernelAppIcon.ico +0 -0
- package/assets/images/MeasureArea.svg +0 -1
- package/assets/images/MeasureDistance.svg +0 -1
- package/assets/images/Pan.svg +0 -6
- package/assets/images/RectangularZoom.svg +0 -82
- package/assets/images/ZoomIn.svg +0 -10
- package/assets/images/ZoomOut.svg +0 -10
package/README.md
CHANGED
|
@@ -11,7 +11,12 @@ const { app } = require("electron");
|
|
|
11
11
|
const { ViewerTool, ViewerWindow } = require("geokernel-electron");
|
|
12
12
|
|
|
13
13
|
app.whenReady().then(() => {
|
|
14
|
-
const viewer = new ViewerWindow({
|
|
14
|
+
const viewer = new ViewerWindow({
|
|
15
|
+
title: "HelloMap",
|
|
16
|
+
width: 1200,
|
|
17
|
+
height: 800,
|
|
18
|
+
iconDirectory: "D:\\my-app\\Images",
|
|
19
|
+
});
|
|
15
20
|
viewer.setActivationType("Developer");
|
|
16
21
|
viewer.addLayer("D:\\data\\world_4326.shp");
|
|
17
22
|
viewer.setMapStyle("midnight-blue");
|
|
@@ -22,6 +27,12 @@ app.whenReady().then(() => {
|
|
|
22
27
|
});
|
|
23
28
|
```
|
|
24
29
|
|
|
30
|
+
`iconDirectory` points to an application-owned directory containing the
|
|
31
|
+
GeoKernel toolbar icons and `GeoKernelAppIcon.ico`. Icons are intentionally
|
|
32
|
+
not bundled in this package, so applications can ship and customize their own
|
|
33
|
+
icon set. The same directory can alternatively be supplied through the
|
|
34
|
+
`GEOKERNEL_ICON_DIR` environment variable before creating a `ViewerWindow`.
|
|
35
|
+
|
|
25
36
|
## Public API
|
|
26
37
|
|
|
27
38
|
The package exposes both a convenient `ViewerWindow` API and the raw native binding layer.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "geokernel-electron",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.43",
|
|
4
4
|
"description": "Electron bindings for the GeoKernel GIS SDK.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"src",
|
|
19
19
|
"bin",
|
|
20
|
-
"assets",
|
|
21
20
|
"README.md",
|
|
22
21
|
"LICENSE"
|
|
23
22
|
],
|
package/src/runtime.js
CHANGED
|
@@ -55,11 +55,6 @@ function firstExistingDirectory(candidates) {
|
|
|
55
55
|
function configureRuntimeEnvironment(binDir) {
|
|
56
56
|
prependPath(binDir);
|
|
57
57
|
|
|
58
|
-
const assetsDir = path.join(packageRoot(), "assets", "images");
|
|
59
|
-
if (fs.existsSync(assetsDir)) {
|
|
60
|
-
process.env.GEOKERNEL_ICON_DIR = assetsDir;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
58
|
const gdalData = path.join(binDir, "gdal-data");
|
|
64
59
|
if (fs.existsSync(gdalData)) {
|
|
65
60
|
process.env.GDAL_DATA = gdalData;
|
package/src/types.js
CHANGED
|
@@ -44,6 +44,12 @@ const ViewerEventType = Object.freeze({
|
|
|
44
44
|
RENDER_BACKEND_CHANGED: 28,
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
+
const TopologyFixOperation = Object.freeze({
|
|
48
|
+
FIX_SHAPE: 0,
|
|
49
|
+
FIX_SHAPE_EX: 1,
|
|
50
|
+
CLEAR_SHAPE: 2,
|
|
51
|
+
});
|
|
52
|
+
|
|
47
53
|
const ShapeType = Object.freeze({
|
|
48
54
|
UNKNOWN: 0,
|
|
49
55
|
POINT: 1,
|
|
@@ -130,6 +136,29 @@ function extent(xMin, yMin, xMax, yMax) {
|
|
|
130
136
|
return Object.freeze({ xMin, yMin, xMax, yMax });
|
|
131
137
|
}
|
|
132
138
|
|
|
139
|
+
function extentExpand(left, right) {
|
|
140
|
+
return extent(
|
|
141
|
+
Math.min(left.xMin, right.xMin),
|
|
142
|
+
Math.min(left.yMin, right.yMin),
|
|
143
|
+
Math.max(left.xMax, right.xMax),
|
|
144
|
+
Math.max(left.yMax, right.yMax),
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function extentInflate(value, dx, dy) {
|
|
149
|
+
return extent(value.xMin - dx, value.yMin - dy, value.xMax + dx, value.yMax + dy);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function extentIntersects(left, right) {
|
|
153
|
+
return left.xMin <= right.xMax && left.xMax >= right.xMin &&
|
|
154
|
+
left.yMin <= right.yMax && left.yMax >= right.yMin;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function extentContains(value, target) {
|
|
158
|
+
return target.x >= value.xMin && target.x <= value.xMax &&
|
|
159
|
+
target.y >= value.yMin && target.y <= value.yMax;
|
|
160
|
+
}
|
|
161
|
+
|
|
133
162
|
function routeSummary(value) {
|
|
134
163
|
return Object.freeze({
|
|
135
164
|
succeeded: Boolean(value.succeeded),
|
|
@@ -153,9 +182,14 @@ module.exports = {
|
|
|
153
182
|
ShapeType,
|
|
154
183
|
SpatialIndexType,
|
|
155
184
|
SymbolStyleTarget,
|
|
185
|
+
TopologyFixOperation,
|
|
156
186
|
ViewerTool,
|
|
157
187
|
ViewerEventType,
|
|
158
188
|
extent,
|
|
189
|
+
extentContains,
|
|
190
|
+
extentExpand,
|
|
191
|
+
extentInflate,
|
|
192
|
+
extentIntersects,
|
|
159
193
|
point,
|
|
160
194
|
routeSummary,
|
|
161
195
|
};
|
package/src/viewer-helpers.js
CHANGED
|
@@ -47,6 +47,23 @@ function readWideJson(fn, handle, ...args) {
|
|
|
47
47
|
return readWideText(fn, handle, ...args);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
function readBytes(fn, handle, ...args) {
|
|
51
|
+
const required = fn(handle, ...args, null, 0);
|
|
52
|
+
if (required < 0) {
|
|
53
|
+
throw new Error(`GeoKernel byte call failed with result ${required}.`);
|
|
54
|
+
}
|
|
55
|
+
if (required === 0) {
|
|
56
|
+
return Buffer.alloc(0);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const buffer = Buffer.alloc(required);
|
|
60
|
+
const written = fn(handle, ...args, buffer, buffer.length);
|
|
61
|
+
if (written < 0) {
|
|
62
|
+
throw new Error(`GeoKernel byte call failed with result ${written}.`);
|
|
63
|
+
}
|
|
64
|
+
return buffer.subarray(0, Math.min(written, buffer.length));
|
|
65
|
+
}
|
|
66
|
+
|
|
50
67
|
function xyArray(points) {
|
|
51
68
|
if (points instanceof Float64Array) {
|
|
52
69
|
return points;
|
|
@@ -120,5 +137,6 @@ module.exports = {
|
|
|
120
137
|
partsArrays,
|
|
121
138
|
readWideJson,
|
|
122
139
|
readWideText,
|
|
140
|
+
readBytes,
|
|
123
141
|
xyArray,
|
|
124
142
|
};
|
package/src/viewer.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const fs = require("fs");
|
|
4
4
|
const koffi = require("koffi");
|
|
5
|
+
const path = require("path");
|
|
5
6
|
const { GeoKernelViewerEventData, TYPES } = require("./native-types");
|
|
6
7
|
|
|
7
8
|
const { createNativeLibrary } = require("./native");
|
|
@@ -16,6 +17,7 @@ const {
|
|
|
16
17
|
jsonText,
|
|
17
18
|
parseJson,
|
|
18
19
|
partsArrays,
|
|
20
|
+
readBytes,
|
|
19
21
|
readWideJson,
|
|
20
22
|
readWideText,
|
|
21
23
|
xyArray,
|
|
@@ -56,6 +58,10 @@ class GeoKernelLibrary {
|
|
|
56
58
|
|
|
57
59
|
class ViewerWindow {
|
|
58
60
|
constructor(options = {}) {
|
|
61
|
+
if (options.iconDirectory) {
|
|
62
|
+
process.env.GEOKERNEL_ICON_DIR = path.resolve(options.iconDirectory);
|
|
63
|
+
}
|
|
64
|
+
|
|
59
65
|
const width = options.width ?? 1200;
|
|
60
66
|
const height = options.height ?? 800;
|
|
61
67
|
const title = options.title ?? "GeoKernel";
|
|
@@ -578,6 +584,14 @@ class ViewerWindow {
|
|
|
578
584
|
return this._call("GeoKernelViewer_AddPolygonLayer", name, arrays.xy, arrays.counts, arrays.counts.length, jsonText(style));
|
|
579
585
|
}
|
|
580
586
|
|
|
587
|
+
writeLayerLastShapeGeoJson(index) {
|
|
588
|
+
return this._readText("GeoKernelViewer_WriteLayerLastShapeGeoJson", Number(index));
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
writeLayerLastShapeWkb(index) {
|
|
592
|
+
return this._readBytes("GeoKernelViewer_WriteLayerLastShapeWkb", Number(index));
|
|
593
|
+
}
|
|
594
|
+
|
|
581
595
|
setBackground(color) {
|
|
582
596
|
this.library.setMapBackgroundColor(this.viewerHandle, argb(color));
|
|
583
597
|
}
|
|
@@ -785,6 +799,96 @@ class ViewerWindow {
|
|
|
785
799
|
return ok ? point(transformedX[0], transformedY[0]) : null;
|
|
786
800
|
}
|
|
787
801
|
|
|
802
|
+
readWktPoint(wkt) {
|
|
803
|
+
const x = [0];
|
|
804
|
+
const y = [0];
|
|
805
|
+
const ok = this.library.function("GeoKernelViewer_ReadWktPoint")(
|
|
806
|
+
this.viewerHandle,
|
|
807
|
+
String(wkt),
|
|
808
|
+
x,
|
|
809
|
+
y,
|
|
810
|
+
);
|
|
811
|
+
return ok ? point(x[0], y[0]) : null;
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
readGeoJsonGeometry(geoJson) {
|
|
815
|
+
return this._readJson("GeoKernelViewer_ReadGeoJsonGeometryJson", {}, String(geoJson));
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
writeWktPoint(x, y) {
|
|
819
|
+
return this._readText("GeoKernelViewer_WriteWktPoint", Number(x), Number(y));
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
writeWkbPoint(x, y) {
|
|
823
|
+
return this._readBytes("GeoKernelViewer_WriteWkbPoint", Number(x), Number(y));
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
writeWkbLineString(points) {
|
|
827
|
+
const xy = xyArray(points);
|
|
828
|
+
return this._readBytes("GeoKernelViewer_WriteWkbLineString", xy, xy.length / 2);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
writeWkbPolygon(rings) {
|
|
832
|
+
const arrays = partsArrays(rings);
|
|
833
|
+
return this._readBytes(
|
|
834
|
+
"GeoKernelViewer_WriteWkbPolygon",
|
|
835
|
+
arrays.xy,
|
|
836
|
+
arrays.counts,
|
|
837
|
+
arrays.counts.length,
|
|
838
|
+
);
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
readWkbGeometry(bytes) {
|
|
842
|
+
const buffer = Buffer.isBuffer(bytes) ? bytes : Buffer.from(bytes);
|
|
843
|
+
return this._readJson("GeoKernelViewer_ReadWkbGeometryJson", {}, buffer, buffer.length);
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
readWkbPoint(bytes) {
|
|
847
|
+
const buffer = Buffer.isBuffer(bytes) ? bytes : Buffer.from(bytes);
|
|
848
|
+
const x = [0];
|
|
849
|
+
const y = [0];
|
|
850
|
+
const ok = this._call("GeoKernelViewer_ReadWkbPoint", buffer, buffer.length, x, y);
|
|
851
|
+
return ok ? point(x[0], y[0]) : null;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
readWkbLineString(bytes) {
|
|
855
|
+
const buffer = Buffer.isBuffer(bytes) ? bytes : Buffer.from(bytes);
|
|
856
|
+
return this._readJson("GeoKernelViewer_ReadWkbLineStringJson", [], buffer, buffer.length);
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
readWkbPolygon(bytes, multiPolygon = false) {
|
|
860
|
+
const buffer = Buffer.isBuffer(bytes) ? bytes : Buffer.from(bytes);
|
|
861
|
+
return this._readJson("GeoKernelViewer_ReadWkbPolygonJson", [], buffer, buffer.length, Boolean(multiPolygon));
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
readWktLineString(wkt) {
|
|
865
|
+
return this._readJson("GeoKernelViewer_ReadWktLineStringJson", [], String(wkt));
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
writeWktLineString(points) {
|
|
869
|
+
const xy = xyArray(points);
|
|
870
|
+
return this._readText("GeoKernelViewer_WriteWktLineString", xy, xy.length / 2);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
readWktPolygon(wkt, multiPolygon = false) {
|
|
874
|
+
return this._readJson(
|
|
875
|
+
"GeoKernelViewer_ReadWktPolygonJson",
|
|
876
|
+
[],
|
|
877
|
+
String(wkt),
|
|
878
|
+
Boolean(multiPolygon),
|
|
879
|
+
);
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
writeWktPolygon(rings) {
|
|
883
|
+
const arrays = partsArrays(rings);
|
|
884
|
+
return this._readText(
|
|
885
|
+
"GeoKernelViewer_WriteWktPolygon",
|
|
886
|
+
arrays.xy,
|
|
887
|
+
arrays.counts,
|
|
888
|
+
arrays.counts.length,
|
|
889
|
+
);
|
|
890
|
+
}
|
|
891
|
+
|
|
788
892
|
coordinateSystemFromAuthority(authority, code) {
|
|
789
893
|
return this._readStaticJson(
|
|
790
894
|
"GeoKernelViewer_CoordinateSystemFromAuthorityJson",
|
|
@@ -852,6 +956,25 @@ class ViewerWindow {
|
|
|
852
956
|
return this._readJson("GeoKernelViewer_GetLayerInfoJson", {}, Number(index));
|
|
853
957
|
}
|
|
854
958
|
|
|
959
|
+
rasterWorldTransform(index, pixelX = 0, pixelY = 0) {
|
|
960
|
+
return this._readJson(
|
|
961
|
+
"GeoKernelViewer_GetRasterWorldTransformJson",
|
|
962
|
+
{},
|
|
963
|
+
Number(index),
|
|
964
|
+
Number(pixelX),
|
|
965
|
+
Number(pixelY),
|
|
966
|
+
);
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
rasterOverviewDiagnostics(index, runBenchmark = false) {
|
|
970
|
+
return this._readJson(
|
|
971
|
+
"GeoKernelViewer_GetRasterOverviewDiagnosticsJson",
|
|
972
|
+
{},
|
|
973
|
+
Number(index),
|
|
974
|
+
Boolean(runBenchmark),
|
|
975
|
+
);
|
|
976
|
+
}
|
|
977
|
+
|
|
855
978
|
layerInfoByName(name) {
|
|
856
979
|
return this._readJson("GeoKernelViewer_GetLayerInfoByNameJson", {}, name);
|
|
857
980
|
}
|
|
@@ -989,6 +1112,284 @@ class ViewerWindow {
|
|
|
989
1112
|
this._call("GeoKernelViewer_ClearShapes");
|
|
990
1113
|
}
|
|
991
1114
|
|
|
1115
|
+
addPointShape(x, y, style = {}) {
|
|
1116
|
+
return this._call("GeoKernelViewer_AddPointShape", Number(x), Number(y), jsonText(style));
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
addPointBufferShape(x, y, distance, pointsPerQuadrant = 16, style = {}) {
|
|
1120
|
+
return this._call(
|
|
1121
|
+
"GeoKernelViewer_AddPointBufferShape",
|
|
1122
|
+
Number(x),
|
|
1123
|
+
Number(y),
|
|
1124
|
+
Number(distance),
|
|
1125
|
+
Number(pointsPerQuadrant),
|
|
1126
|
+
jsonText(style),
|
|
1127
|
+
);
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
addPolylineShape(points, style = {}) {
|
|
1131
|
+
const xy = xyArray(points);
|
|
1132
|
+
return this._call("GeoKernelViewer_AddPolylineShape", xy, xy.length / 2, jsonText(style));
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
addPolylineBufferShape(points, distance, pointsPerQuadrant = 12, style = {}) {
|
|
1136
|
+
const xy = xyArray(points);
|
|
1137
|
+
return this._call(
|
|
1138
|
+
"GeoKernelViewer_AddPolylineBufferShape",
|
|
1139
|
+
xy,
|
|
1140
|
+
xy.length / 2,
|
|
1141
|
+
Number(distance),
|
|
1142
|
+
Number(pointsPerQuadrant),
|
|
1143
|
+
jsonText(style),
|
|
1144
|
+
);
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
addPolygonShape(points, style = {}) {
|
|
1148
|
+
const xy = xyArray(points);
|
|
1149
|
+
return this._call("GeoKernelViewer_AddPolygonShape", xy, xy.length / 2, jsonText(style));
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
addPolygonBufferShape(points, distance, pointsPerQuadrant = 12, style = {}) {
|
|
1153
|
+
const xy = xyArray(points);
|
|
1154
|
+
return this._call(
|
|
1155
|
+
"GeoKernelViewer_AddPolygonBufferShape",
|
|
1156
|
+
xy,
|
|
1157
|
+
xy.length / 2,
|
|
1158
|
+
Number(distance),
|
|
1159
|
+
Number(pointsPerQuadrant),
|
|
1160
|
+
jsonText(style),
|
|
1161
|
+
);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
unionPolygons(left, right) {
|
|
1165
|
+
const leftXy = xyArray(left);
|
|
1166
|
+
const rightXy = xyArray(right);
|
|
1167
|
+
return this._readJson(
|
|
1168
|
+
"GeoKernelViewer_UnionPolygonsJson", [],
|
|
1169
|
+
leftXy, leftXy.length / 2,
|
|
1170
|
+
rightXy, rightXy.length / 2,
|
|
1171
|
+
);
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
unionPolygonsOnList(polygons) {
|
|
1175
|
+
const arrays = partsArrays(polygons);
|
|
1176
|
+
return this._readJson(
|
|
1177
|
+
"GeoKernelViewer_UnionPolygonsOnListJson", [],
|
|
1178
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
intersectionPolygons(left, right) {
|
|
1183
|
+
const leftXy = xyArray(left);
|
|
1184
|
+
const rightXy = xyArray(right);
|
|
1185
|
+
return this._readJson(
|
|
1186
|
+
"GeoKernelViewer_IntersectionPolygonsJson", [],
|
|
1187
|
+
leftXy, leftXy.length / 2,
|
|
1188
|
+
rightXy, rightXy.length / 2,
|
|
1189
|
+
);
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
differencePolygons(left, right) {
|
|
1193
|
+
const leftXy = xyArray(left);
|
|
1194
|
+
const rightXy = xyArray(right);
|
|
1195
|
+
return this._readJson(
|
|
1196
|
+
"GeoKernelViewer_DifferencePolygonsJson", [],
|
|
1197
|
+
leftXy, leftXy.length / 2,
|
|
1198
|
+
rightXy, rightXy.length / 2,
|
|
1199
|
+
);
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
symmetricalDifferencePolygons(left, right) {
|
|
1203
|
+
const leftXy = xyArray(left);
|
|
1204
|
+
const rightXy = xyArray(right);
|
|
1205
|
+
return this._readJson(
|
|
1206
|
+
"GeoKernelViewer_SymmetricalDifferencePolygonsJson", [],
|
|
1207
|
+
leftXy, leftXy.length / 2,
|
|
1208
|
+
rightXy, rightXy.length / 2,
|
|
1209
|
+
);
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
addPolygonPartsShape(parts, style = {}) {
|
|
1213
|
+
const arrays = partsArrays(parts);
|
|
1214
|
+
return this._call(
|
|
1215
|
+
"GeoKernelViewer_AddPolygonPartsShape",
|
|
1216
|
+
arrays.xy, arrays.counts, arrays.counts.length, jsonText(style),
|
|
1217
|
+
);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
convexHullPolygon(points) {
|
|
1221
|
+
const xy = xyArray(points);
|
|
1222
|
+
return this._readJson(
|
|
1223
|
+
"GeoKernelViewer_ConvexHullPolygonJson", [],
|
|
1224
|
+
xy, xy.length / 2,
|
|
1225
|
+
);
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
convexHullTwoPolygons(left, right) {
|
|
1229
|
+
const leftXy = xyArray(left);
|
|
1230
|
+
const rightXy = xyArray(right);
|
|
1231
|
+
return this._readJson(
|
|
1232
|
+
"GeoKernelViewer_ConvexHullTwoPolygonsJson", [],
|
|
1233
|
+
leftXy, leftXy.length / 2,
|
|
1234
|
+
rightXy, rightXy.length / 2,
|
|
1235
|
+
);
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
splitPolygonByArc(polygon, arc) {
|
|
1239
|
+
const polygonXy = xyArray(polygon);
|
|
1240
|
+
const arcXy = xyArray(arc);
|
|
1241
|
+
return this._readJson(
|
|
1242
|
+
"GeoKernelViewer_SplitPolygonByArcJson", [],
|
|
1243
|
+
polygonXy, polygonXy.length / 2,
|
|
1244
|
+
arcXy, arcXy.length / 2,
|
|
1245
|
+
);
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
findMatchingArcIndex(query, candidates) {
|
|
1249
|
+
const queryXy = xyArray(query);
|
|
1250
|
+
const arrays = partsArrays(candidates);
|
|
1251
|
+
return this._call(
|
|
1252
|
+
"GeoKernelViewer_FindMatchingArcIndex",
|
|
1253
|
+
queryXy, queryXy.length / 2,
|
|
1254
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1255
|
+
);
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
arcMakeConnected(base, continuations) {
|
|
1259
|
+
const baseXy = xyArray(base);
|
|
1260
|
+
const arrays = partsArrays(continuations);
|
|
1261
|
+
return this._readJson(
|
|
1262
|
+
"GeoKernelViewer_ArcMakeConnectedJson", [],
|
|
1263
|
+
baseXy, baseXy.length / 2,
|
|
1264
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1265
|
+
);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
arcSplitOnCross(arc, cutters) {
|
|
1269
|
+
const arcXy = xyArray(arc);
|
|
1270
|
+
const arrays = partsArrays(cutters);
|
|
1271
|
+
return this._readJson(
|
|
1272
|
+
"GeoKernelViewer_ArcSplitOnCrossJson", [],
|
|
1273
|
+
arcXy, arcXy.length / 2,
|
|
1274
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1275
|
+
);
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
checkPolygonRing(points) {
|
|
1279
|
+
const xy = xyArray(points);
|
|
1280
|
+
return this._call("GeoKernelViewer_CheckPolygonRing", xy, xy.length / 2);
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
fixPolygon(points) {
|
|
1284
|
+
const xy = xyArray(points);
|
|
1285
|
+
return this._readJson(
|
|
1286
|
+
"GeoKernelViewer_FixPolygonJson", [],
|
|
1287
|
+
xy, xy.length / 2,
|
|
1288
|
+
);
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
relatePolygonRings(left, right) {
|
|
1292
|
+
const leftXy = xyArray(left);
|
|
1293
|
+
const rightXy = xyArray(right);
|
|
1294
|
+
return this._readText(
|
|
1295
|
+
"GeoKernelViewer_RelatePolygonRings",
|
|
1296
|
+
leftXy, leftXy.length / 2,
|
|
1297
|
+
rightXy, rightXy.length / 2,
|
|
1298
|
+
);
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
relatePolygonRingsPattern(left, right, pattern) {
|
|
1302
|
+
const leftXy = xyArray(left);
|
|
1303
|
+
const rightXy = xyArray(right);
|
|
1304
|
+
return this._call(
|
|
1305
|
+
"GeoKernelViewer_RelatePolygonRingsPattern",
|
|
1306
|
+
leftXy, leftXy.length / 2,
|
|
1307
|
+
rightXy, rightXy.length / 2,
|
|
1308
|
+
String(pattern),
|
|
1309
|
+
);
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
relatePolylines(left, right) {
|
|
1313
|
+
const leftXy = xyArray(left);
|
|
1314
|
+
const rightXy = xyArray(right);
|
|
1315
|
+
return this._readText(
|
|
1316
|
+
"GeoKernelViewer_RelatePolylines",
|
|
1317
|
+
leftXy, leftXy.length / 2,
|
|
1318
|
+
rightXy, rightXy.length / 2,
|
|
1319
|
+
);
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
relatePolylinesPattern(left, right, pattern) {
|
|
1323
|
+
const leftXy = xyArray(left);
|
|
1324
|
+
const rightXy = xyArray(right);
|
|
1325
|
+
return this._call(
|
|
1326
|
+
"GeoKernelViewer_RelatePolylinesPattern",
|
|
1327
|
+
leftXy, leftXy.length / 2,
|
|
1328
|
+
rightXy, rightXy.length / 2,
|
|
1329
|
+
String(pattern),
|
|
1330
|
+
);
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
polylineCrossings(left, right) {
|
|
1334
|
+
const leftXy = xyArray(left);
|
|
1335
|
+
const rightXy = xyArray(right);
|
|
1336
|
+
return this._readJson(
|
|
1337
|
+
"GeoKernelViewer_GetPolylineCrossingsJson", [],
|
|
1338
|
+
leftXy, leftXy.length / 2,
|
|
1339
|
+
rightXy, rightXy.length / 2,
|
|
1340
|
+
);
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
simplifyPolygonRing(points, tolerance) {
|
|
1344
|
+
const xy = xyArray(points);
|
|
1345
|
+
return this._readJson(
|
|
1346
|
+
"GeoKernelViewer_SimplifyPolygonRingJson", [],
|
|
1347
|
+
xy, xy.length / 2, Number(tolerance),
|
|
1348
|
+
);
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
linePointToleranceInfo(line, pointX, pointY, tolerance) {
|
|
1352
|
+
const xy = xyArray(line);
|
|
1353
|
+
return this._readJson(
|
|
1354
|
+
"GeoKernelViewer_GetLinePointToleranceInfoJson", {},
|
|
1355
|
+
xy, xy.length / 2,
|
|
1356
|
+
Number(pointX), Number(pointY), Number(tolerance),
|
|
1357
|
+
);
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
addPolygonShapeWithAttributes(points, attributes, style = {}) {
|
|
1361
|
+
const xy = xyArray(points);
|
|
1362
|
+
return this._call(
|
|
1363
|
+
"GeoKernelViewer_AddPolygonShapeWithAttributes",
|
|
1364
|
+
xy, xy.length / 2, jsonText(attributes), jsonText(style),
|
|
1365
|
+
);
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
fixPolyline(parts, operation = 0) {
|
|
1369
|
+
const arrays = partsArrays(parts);
|
|
1370
|
+
return this._readJson(
|
|
1371
|
+
"GeoKernelViewer_FixPolylineJson", [],
|
|
1372
|
+
arrays.xy, arrays.counts, arrays.counts.length, Number(operation),
|
|
1373
|
+
);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
findAndDeleteLoops(parts) {
|
|
1377
|
+
const arrays = partsArrays(parts);
|
|
1378
|
+
return this._readJson(
|
|
1379
|
+
"GeoKernelViewer_FindAndDeleteLoopsJson", [],
|
|
1380
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1381
|
+
);
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
addPolygonPartsShapeWithAttributes(parts, attributes, style = {}) {
|
|
1385
|
+
const arrays = partsArrays(parts);
|
|
1386
|
+
return this._call(
|
|
1387
|
+
"GeoKernelViewer_AddPolygonPartsShapeWithAttributes",
|
|
1388
|
+
arrays.xy, arrays.counts, arrays.counts.length,
|
|
1389
|
+
jsonText(attributes), jsonText(style),
|
|
1390
|
+
);
|
|
1391
|
+
}
|
|
1392
|
+
|
|
992
1393
|
clearSelectedFeatures() {
|
|
993
1394
|
this._call("GeoKernelViewer_ClearSelectedFeatures");
|
|
994
1395
|
}
|
|
@@ -1104,6 +1505,11 @@ class ViewerWindow {
|
|
|
1104
1505
|
return readWideText(this.library.function(name), this.viewerHandle, ...args);
|
|
1105
1506
|
}
|
|
1106
1507
|
|
|
1508
|
+
_readBytes(name, ...args) {
|
|
1509
|
+
this._requireViewer();
|
|
1510
|
+
return readBytes(this.library.function(name), this.viewerHandle, ...args);
|
|
1511
|
+
}
|
|
1512
|
+
|
|
1107
1513
|
_readJson(name, fallback, ...args) {
|
|
1108
1514
|
this._requireViewer();
|
|
1109
1515
|
return parseJson(readWideJson(this.library.function(name), this.viewerHandle, ...args), fallback);
|
package/assets/images/Delete.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path fill="none" stroke="#1b1f23" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M14 18h36M24 18v-6h16v6m-21 0 3 36h20l3-36M28 27v18m8-18v18"/></svg>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="67.19 924.79 55.82 55.55">
|
|
3
|
-
<path fill="none" stroke="#d0e8e4" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 83.23,942.53 Q 81.94,946.42 82.15,950.0 Q 82.75,960.4 82.85,963.6"/>
|
|
4
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 82.85,963.6 Q 82.57,964.29 82.79,964.69 Q 83.03,965.13 83.75,965.01 Q 84.49,964.88 84.9,964.42"/>
|
|
5
|
-
<path fill="none" stroke="#d0e8e4" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 84.9,964.42 Q 94.05,965.66 103.0,965.11 C 104.03,965.05 104.88,964.53 105.91,964.41"/>
|
|
6
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 105.91,964.41 L 106.61,964.42 A 0.53,0.53 0.0 0,0 107.15,963.84 Q 107.09,963.22 106.47,962.62"/>
|
|
7
|
-
<path fill="none" stroke="#d0e8e4" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 106.47,962.62 L 107.01,962.33 A 0.95,0.92 78.3 0,0 107.49,961.58 Q 108.18,952.5 106.66,943.19"/>
|
|
8
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 106.66,943.19 L 114.1,935.53 A 0.43,0.43 0.0 0,1 114.84,935.83 L 114.84,939.23 A 0.62,0.61 -90.0 0,0 115.45,939.85 L 115.79,939.85 A 1.08,1.08 0.0 0,0 116.87,938.77 L 116.87,932.0 A 0.61,0.61 0.0 0,0 116.26,931.39 L 108.75,931.37 A 0.92,0.91 -88.4 0,0 107.83,932.25 L 107.82,932.29 A 0.84,0.83 -0.0 0,0 108.66,933.12 L 113.52,933.09 A 0.47,0.47 0.0 0,1 113.84,933.9 L 104.76,942.46"/>
|
|
9
|
-
<path fill="none" stroke="#d0e8e4" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 104.76,942.46 C 102.0,940.68 100.29,941.05 97.3,941.13 Q 91.7,941.28 85.85,942.19"/>
|
|
10
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 85.85,942.19 L 81.6,938.91 A 1.3,1.29 -79.8 0,1 81.16,938.27 C 80.68,936.7 79.21,935.66 76.95,933.7 A 0.34,0.34 0.0 0,1 77.17,933.11 L 83.07,933.11 A 0.79,0.78 -90.0 0,0 83.85,932.32 L 83.85,931.94 A 1.16,1.15 -0.0 0,0 82.69,930.79 L 73.86,930.79 A 0.65,0.64 -0.0 0,0 73.21,931.43 L 73.21,940.28 A 0.75,0.75 0.0 0,0 73.96,941.03 L 74.25,941.03 A 1.01,1.0 0.0 0,0 75.26,940.03 L 75.26,935.17 A 0.42,0.42 0.0 0,1 76.03,934.93 Q 77.92,937.63 80.21,938.69 A 2.65,2.6 85.0 0,1 81.24,939.57 L 83.23,942.53"/>
|
|
11
|
-
<path fill="none" stroke="#627c7a" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 85.85,942.19 Q 89.87,946.21 92.59,949.5 A 0.85,0.84 -13.0 0,1 91.74,950.86 Q 91.36,950.76 90.93,950.32 Q 87.32,946.54 83.23,942.53"/>
|
|
12
|
-
<path fill="none" stroke="#627c7a" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 106.47,962.62 L 98.9,955.13 A 0.72,0.71 -52.0 0,0 97.8,955.27 L 97.77,955.31 A 1.19,1.19 0.0 0,0 97.85,956.71 Q 101.37,961.06 105.91,964.41"/>
|
|
13
|
-
<path fill="none" stroke="#627c7a" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 84.9,964.42 Q 88.7,960.3 92.21,957.22 A 1.01,1.0 -54.2 0,0 91.94,955.54 Q 91.26,955.26 90.52,956.03 Q 86.84,959.89 82.85,963.6"/>
|
|
14
|
-
<path fill="none" stroke="#627c7a" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 106.66,943.19 L 98.79,950.47 A 0.69,0.68 -44.7 0,1 97.86,950.47 L 97.67,950.28 A 0.41,0.4 -46.5 0,1 97.66,949.7 L 104.76,942.46"/>
|
|
15
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 101.5015,932.1305 A 0.88,0.88 0.0 0,0 100.6354,931.2368 L 90.8766,931.0835 A 0.88,0.88 0.0 0,0 89.9829,931.9495 L 89.9785,932.2295 A 0.88,0.88 0.0 0,0 90.8446,933.1232 L 100.6034,933.2765 A 0.88,0.88 0.0 0,0 101.4971,932.4105 L 101.5015,932.1305"/>
|
|
16
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 116.9234,946.9247 A 0.89,0.89 0.0 0,0 116.0287,946.0393 L 115.7487,946.0408 A 0.89,0.89 0.0 0,0 114.8634,946.9355 L 114.9166,957.0953 A 0.89,0.89 0.0 0,0 115.8113,957.9807 L 116.0913,957.9792 A 0.89,0.89 0.0 0,0 116.9766,957.0845 L 116.9234,946.9247"/>
|
|
17
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 75.19,947.62 A 0.85,0.85 0.0 0,0 74.34,946.77 L 74.04,946.77 A 0.85,0.85 0.0 0,0 73.19,947.62 L 73.19,957.58 A 0.85,0.85 0.0 0,0 74.04,958.43 L 74.34,958.43 A 0.85,0.85 0.0 0,0 75.19,957.58 L 75.19,947.62"/>
|
|
18
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 108.42,965.88 Q 107.68,966.64 113.05,971.73 A 0.27,0.26 66.3 0,1 112.88,972.19 L 107.43,972.31 A 1.04,1.04 0.0 0,0 106.41,973.31 L 106.41,973.35 A 0.96,0.96 0.0 0,0 107.38,974.34 Q 111.86,974.33 116.55,974.27 Q 116.7,974.27 116.86,974.11 Q 117.01,973.95 117.01,973.8 Q 116.95,969.11 116.84,964.63 A 0.96,0.96 0.0 0,0 115.83,963.68 L 115.79,963.69 A 1.04,1.04 0.0 0,0 114.82,964.73 L 114.84,970.18 A 0.27,0.26 22.3 0,1 114.38,970.37 Q 109.15,965.13 108.42,965.88"/>
|
|
19
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 75.34,971.43 L 75.34,966.17 A 0.91,0.91 0.0 0,0 74.43,965.26 L 73.99,965.26 A 0.76,0.75 0.0 0,0 73.23,966.01 L 73.23,973.71 A 0.53,0.52 0.0 0,0 73.76,974.23 L 82.48,974.23 A 0.73,0.73 0.0 0,0 83.21,973.53 L 83.23,973.11 A 0.7,0.7 0.0 0,0 82.53,972.38 L 77.87,972.38 A 0.47,0.47 0.0 0,1 77.51,971.62 L 80.7,967.71 A 0.42,0.42 0.0 0,0 80.15,967.09 Q 77.03,968.98 75.61,971.5 A 0.14,0.14 0.0 0,1 75.34,971.43"/>
|
|
20
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 100.6397,973.0597 A 0.71,0.71 0.0 0,0 99.9284,972.351 L 89.5684,972.369 A 0.71,0.71 0.0 0,0 88.8597,973.0803 L 88.8603,973.4603 A 0.71,0.71 0.0 0,0 89.5716,974.169 L 99.9316,974.151 A 0.71,0.71 0.0 0,0 100.6403,973.4397 L 100.6397,973.0597"/>
|
|
21
|
-
<path fill="#f7f7f7" d="M 83.23,942.53 Q 81.94,946.42 82.15,950.0 Q 82.75,960.4 82.85,963.6 Q 82.57,964.29 82.79,964.69 Q 83.03,965.13 83.75,965.01 Q 84.49,964.88 84.9,964.42 Q 94.05,965.66 103.0,965.11 C 104.03,965.05 104.88,964.53 105.91,964.41 L 106.61,964.42 A 0.53,0.53 0.0 0,0 107.15,963.84 Q 107.09,963.22 106.47,962.62 L 107.01,962.33 A 0.95,0.92 78.3 0,0 107.49,961.58 Q 108.18,952.5 106.66,943.19 L 114.1,935.53 A 0.43,0.43 0.0 0,1 114.84,935.83 L 114.84,939.23 A 0.62,0.61 -90.0 0,0 115.45,939.85 L 115.79,939.85 A 1.08,1.08 0.0 0,0 116.87,938.77 L 116.87,932.0 A 0.61,0.61 0.0 0,0 116.26,931.39 L 108.75,931.37 A 0.92,0.91 -88.4 0,0 107.83,932.25 L 107.82,932.29 A 0.84,0.83 -0.0 0,0 108.66,933.12 L 113.52,933.09 A 0.47,0.47 0.0 0,1 113.84,933.9 L 104.76,942.46 C 102.0,940.68 100.29,941.05 97.3,941.13 Q 91.7,941.28 85.85,942.19 L 81.6,938.91 A 1.3,1.29 -79.8 0,1 81.16,938.27 C 80.68,936.7 79.21,935.66 76.95,933.7 A 0.34,0.34 0.0 0,1 77.17,933.11 L 83.07,933.11 A 0.79,0.78 -90.0 0,0 83.85,932.32 L 83.85,931.94 A 1.16,1.15 -0.0 0,0 82.69,930.79 L 73.86,930.79 A 0.65,0.64 -0.0 0,0 73.21,931.43 L 73.21,940.28 A 0.75,0.75 0.0 0,0 73.96,941.03 L 74.25,941.03 A 1.01,1.0 0.0 0,0 75.26,940.03 L 75.26,935.17 A 0.42,0.42 0.0 0,1 76.03,934.93 Q 77.92,937.63 80.21,938.69 A 2.65,2.6 85.0 0,1 81.24,939.57 L 83.23,942.53 M 101.5015,932.1305 A 0.88,0.88 0.0 0,0 100.6354,931.2368 L 90.8766,931.0835 A 0.88,0.88 0.0 0,0 89.9829,931.9495 L 89.9785,932.2295 A 0.88,0.88 0.0 0,0 90.8446,933.1232 L 100.6034,933.2765 A 0.88,0.88 0.0 0,0 101.4971,932.4105 L 101.5015,932.1305 M 116.9234,946.9247 A 0.89,0.89 0.0 0,0 116.0287,946.0393 L 115.7487,946.0408 A 0.89,0.89 0.0 0,0 114.8634,946.9355 L 114.9166,957.0953 A 0.89,0.89 0.0 0,0 115.8113,957.9807 L 116.0913,957.9792 A 0.89,0.89 0.0 0,0 116.9766,957.0845 L 116.9234,946.9247 M 75.19,947.62 A 0.85,0.85 0.0 0,0 74.34,946.77 L 74.04,946.77 A 0.85,0.85 0.0 0,0 73.19,947.62 L 73.19,957.58 A 0.85,0.85 0.0 0,0 74.04,958.43 L 74.34,958.43 A 0.85,0.85 0.0 0,0 75.19,957.58 L 75.19,947.62 M 108.42,965.88 Q 107.68,966.64 113.05,971.73 A 0.27,0.26 66.3 0,1 112.88,972.19 L 107.43,972.31 A 1.04,1.04 0.0 0,0 106.41,973.31 L 106.41,973.35 A 0.96,0.96 0.0 0,0 107.38,974.34 Q 111.86,974.33 116.55,974.27 Q 116.7,974.27 116.86,974.11 Q 117.01,973.95 117.01,973.8 Q 116.95,969.11 116.84,964.63 A 0.96,0.96 0.0 0,0 115.83,963.68 L 115.79,963.69 A 1.04,1.04 0.0 0,0 114.82,964.73 L 114.84,970.18 A 0.27,0.26 22.3 0,1 114.38,970.37 Q 109.15,965.13 108.42,965.88 M 75.34,971.43 L 75.34,966.17 A 0.91,0.91 0.0 0,0 74.43,965.26 L 73.99,965.26 A 0.76,0.75 0.0 0,0 73.23,966.01 L 73.23,973.71 A 0.53,0.52 0.0 0,0 73.76,974.23 L 82.48,974.23 A 0.73,0.73 0.0 0,0 83.21,973.53 L 83.23,973.11 A 0.7,0.7 0.0 0,0 82.53,972.38 L 77.87,972.38 A 0.47,0.47 0.0 0,1 77.51,971.62 L 80.7,967.71 A 0.42,0.42 0.0 0,0 80.15,967.09 Q 77.03,968.98 75.61,971.5 A 0.14,0.14 0.0 0,1 75.34,971.43 M 100.6397,973.0597 A 0.71,0.71 0.0 0,0 99.9284,972.351 L 89.5684,972.369 A 0.71,0.71 0.0 0,0 88.8597,973.0803 L 88.8603,973.4603 A 0.71,0.71 0.0 0,0 89.5716,974.169 L 99.9316,974.151 A 0.71,0.71 0.0 0,0 100.6403,973.4397 L 100.6397,973.0597"/>
|
|
22
|
-
<path fill="#1b1f23" d="M 85.85,942.19 Q 89.87,946.21 92.59,949.5 A 0.85,0.84 -13.0 0,1 91.74,950.86 Q 91.36,950.76 90.93,950.32 Q 87.32,946.54 83.23,942.53 L 81.24,939.57 A 2.65,2.6 85.0 0,0 80.21,938.69 Q 77.92,937.63 76.03,934.93 A 0.42,0.42 0.0 0,0 75.26,935.17 L 75.26,940.03 A 1.01,1.0 0.0 0,1 74.25,941.03 L 73.96,941.03 A 0.75,0.75 0.0 0,1 73.21,940.28 L 73.21,931.43 A 0.65,0.64 0.0 0,1 73.86,930.79 L 82.69,930.79 A 1.16,1.15 -0.0 0,1 83.85,931.94 L 83.85,932.32 A 0.79,0.78 -90.0 0,1 83.07,933.11 L 77.17,933.11 A 0.34,0.34 0.0 0,0 76.95,933.7 C 79.21,935.66 80.68,936.7 81.16,938.27 A 1.3,1.29 -79.8 0,0 81.6,938.91 L 85.85,942.19"/>
|
|
23
|
-
<path fill="#1b1f23" d="M 106.66,943.19 L 98.79,950.47 A 0.69,0.68 -44.7 0,1 97.86,950.47 L 97.67,950.28 A 0.41,0.4 -46.5 0,1 97.66,949.7 L 104.76,942.46 L 113.84,933.9 A 0.47,0.47 0.0 0,0 113.52,933.09 L 108.66,933.12 A 0.84,0.83 -0.0 0,1 107.82,932.29 L 107.83,932.25 A 0.92,0.91 -88.4 0,1 108.75,931.37 L 116.26,931.39 A 0.61,0.61 0.0 0,1 116.87,932.0 L 116.87,938.77 A 1.08,1.08 0.0 0,1 115.79,939.85 L 115.45,939.85 A 0.62,0.61 -90.0 0,1 114.84,939.23 L 114.84,935.83 A 0.43,0.43 0.0 0,0 114.1,935.53 L 106.66,943.19"/>
|
|
24
|
-
<path fill="#a8d8d0" d="M 104.76,942.46 L 97.66,949.7 A 0.41,0.4 -46.5 0,0 97.67,950.28 L 97.86,950.47 A 0.69,0.68 -44.7 0,0 98.79,950.47 L 106.66,943.19 Q 108.18,952.5 107.49,961.58 A 0.95,0.92 78.3 0,1 107.01,962.33 L 106.47,962.62 L 98.9,955.13 A 0.72,0.71 -52.0 0,0 97.8,955.27 L 97.77,955.31 A 1.19,1.19 0.0 0,0 97.85,956.71 Q 101.37,961.06 105.91,964.41 C 104.88,964.53 104.03,965.05 103.0,965.11 Q 94.05,965.66 84.9,964.42 Q 88.7,960.3 92.21,957.22 A 1.01,1.0 -54.2 0,0 91.94,955.54 Q 91.26,955.26 90.52,956.03 Q 86.84,959.89 82.85,963.6 Q 82.75,960.4 82.15,950.0 Q 81.94,946.42 83.23,942.53 Q 87.32,946.54 90.93,950.32 Q 91.36,950.76 91.74,950.86 A 0.85,0.84 -13.0 0,0 92.59,949.5 Q 89.87,946.21 85.85,942.19 Q 91.7,941.28 97.3,941.13 C 100.29,941.05 102.0,940.68 104.76,942.46"/>
|
|
25
|
-
<path fill="#1b1f23" d="M 106.47,962.62 Q 107.09,963.22 107.15,963.84 A 0.53,0.53 0.0 0,1 106.61,964.42 L 105.91,964.41 Q 101.37,961.06 97.85,956.71 A 1.19,1.19 0.0 0,1 97.77,955.31 L 97.8,955.27 A 0.72,0.71 -52.0 0,1 98.9,955.13 L 106.47,962.62"/>
|
|
26
|
-
<path fill="#1b1f23" d="M 84.9,964.42 Q 84.49,964.88 83.75,965.01 Q 83.03,965.13 82.79,964.69 Q 82.57,964.29 82.85,963.6 Q 86.84,959.89 90.52,956.03 Q 91.26,955.26 91.94,955.54 A 1.01,1.0 -54.2 0,1 92.21,957.22 Q 88.7,960.3 84.9,964.42"/>
|
|
27
|
-
<path fill="#1b1f23" d="M 116.86,974.11 Q 116.7,974.27 116.55,974.27 Q 111.86,974.33 107.38,974.34 A 0.96,0.96 0.0 0,1 106.41,973.35 L 106.41,973.31 A 1.04,1.04 0.0 0,1 107.43,972.31 L 112.88,972.19 A 0.27,0.26 66.3 0,0 113.05,971.73 Q 107.68,966.64 108.42,965.88 Q 109.15,965.13 114.38,970.37 A 0.27,0.26 22.3 0,0 114.84,970.18 L 114.82,964.73 A 1.04,1.04 0.0 0,1 115.79,963.69 L 115.83,963.68 A 0.96,0.96 0.0 0,1 116.84,964.63 Q 116.95,969.11 117.01,973.8 Q 117.01,973.95 116.86,974.11"/>
|
|
28
|
-
<path fill="#1b1f23" d="M 75.61,971.5 Q 77.03,968.98 80.15,967.09 A 0.42,0.42 0.0 0,1 80.7,967.71 L 77.51,971.62 A 0.47,0.47 0.0 0,0 77.87,972.38 L 82.53,972.38 A 0.7,0.7 0.0 0,1 83.23,973.11 L 83.21,973.53 A 0.73,0.73 0.0 0,1 82.48,974.23 L 73.76,974.23 A 0.53,0.52 0.0 0,1 73.23,973.71 L 73.23,966.01 A 0.76,0.75 -0.0 0,1 73.99,965.26 L 74.43,965.26 A 0.91,0.91 0.0 0,1 75.34,966.17 L 75.34,971.43 A 0.14,0.14 0.0 0,0 75.61,971.5"/>
|
|
29
|
-
</svg>
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path fill="#a8d8d0" stroke="#1b1f23" stroke-width="4" stroke-linejoin="round" d="M12 48 18 16 39 10 54 29 45 53Z"/><circle cx="18" cy="16" r="4"/><circle cx="54" cy="29" r="4"/><circle cx="45" cy="53" r="4"/><circle cx="12" cy="48" r="4"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><path fill="none" stroke="#1b1f23" stroke-width="4" d="M10 16v32m44-32v32M14 32h36M20 26l-6 6 6 6m24-12 6 6-6 6"/></svg>
|
package/assets/images/Pan.svg
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="848.65 362.57 56.57 69.59">
|
|
3
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 891.55,378.49 Q 891.73,375.88 891.22,375.07 Q 888.38,370.64 884.45,373.25 A 0.47,0.47 0.0 0,1 883.72,372.94 C 882.66,366.92 875.17,367.33 873.8,372.89 A 0.57,0.56 19.1 0,1 873.01,373.27 Q 872.92,373.22 872.26,372.75 C 870.42,371.41 867.61,372.86 866.49,374.44 Q 865.49,375.84 865.55,379.13 Q 865.8,393.02 865.51,398.69 A 0.35,0.35 0.0 0,1 864.86,398.84 C 863.83,396.99 862.84,395.06 860.71,394.55 C 856.19,393.47 853.41,397.46 855.2,401.57 Q 858.78,409.79 861.92,415.59 C 864.67,420.67 868.42,425.41 874.46,425.96 A 0.58,0.57 -79.6 0,0 875.06,425.54 L 875.14,425.26 A 0.82,0.82 0.0 0,0 874.57,424.26 L 872.43,423.68 A 4.31,4.16 69.2 0,1 871.18,423.09 Q 865.58,419.13 863.17,414.07 Q 861.81,411.23 856.64,399.78 C 855.42,397.07 859.01,395.8 860.96,396.66 A 2.29,2.26 86.8 0,1 862.0,397.6 L 866.37,405.17 A 0.69,0.69 0.0 0,0 867.66,404.82 L 867.66,377.15 A 2.83,2.83 0.0 0,1 870.49,374.32 L 870.93,374.32 A 2.63,2.63 0.0 0,1 873.56,376.95 L 873.56,394.71 A 0.94,0.94 0.0 0,0 874.5,395.65 L 874.76,395.65 A 0.81,0.8 -90.0 0,0 875.56,394.84 L 875.56,373.77 A 3.06,3.05 88.1 0,1 878.41,370.72 L 878.86,370.69 A 2.6,2.6 0.0 0,1 881.62,373.28 L 881.62,394.85 A 0.91,0.91 0.0 0,0 882.52,395.76 L 882.86,395.77 A 0.84,0.84 0.0 0,0 883.71,394.93 L 883.71,377.65 A 3.27,3.27 0.0 0,1 886.42,374.43 L 886.85,374.36 A 2.34,2.34 0.0 0,1 889.59,376.66 L 889.59,395.21 A 1.03,1.01 -82.7 0,0 890.34,396.2 L 890.72,396.31 A 0.73,0.73 0.0 0,0 891.64,395.6 L 891.64,382.76 A 2.46,2.46 0.0 0,1 894.2,380.3 L 894.49,380.31 A 2.69,2.69 0.0 0,1 897.11,383.0 Q 897.1,407.15 897.11,407.35 C 897.43,415.77 894.71,421.57 886.93,424.42 A 0.75,0.75 0.0 0,0 886.56,425.52 L 886.58,425.55 A 1.3,1.29 66.9 0,0 887.98,426.12 C 892.83,424.97 896.54,420.35 898.23,415.91 Q 899.24,413.24 899.22,407.12 Q 899.14,387.19 899.22,382.16 A 3.07,2.99 36.7 0,0 899.07,381.22 C 898.38,379.19 895.5,377.04 893.21,378.45 Q 892.42,378.93 892.12,378.99 A 0.48,0.48 0.0 0,1 891.55,378.49"/>
|
|
4
|
-
<path fill="#f7f7f7" d="M 891.55,378.49 Q 891.73,375.88 891.22,375.07 Q 888.38,370.64 884.45,373.25 A 0.47,0.47 0.0 0,1 883.72,372.94 C 882.66,366.92 875.17,367.33 873.8,372.89 A 0.57,0.56 19.1 0,1 873.01,373.27 Q 872.92,373.22 872.26,372.75 C 870.42,371.41 867.61,372.86 866.49,374.44 Q 865.49,375.84 865.55,379.13 Q 865.8,393.02 865.51,398.69 A 0.35,0.35 0.0 0,1 864.86,398.84 C 863.83,396.99 862.84,395.06 860.71,394.55 C 856.19,393.47 853.41,397.46 855.2,401.57 Q 858.78,409.79 861.92,415.59 C 864.67,420.67 868.42,425.41 874.46,425.96 A 0.58,0.57 -79.6 0,0 875.06,425.54 L 875.14,425.26 A 0.82,0.82 0.0 0,0 874.57,424.26 L 872.43,423.68 A 4.31,4.16 69.2 0,1 871.18,423.09 Q 865.58,419.13 863.17,414.07 Q 861.81,411.23 856.64,399.78 C 855.42,397.07 859.01,395.8 860.96,396.66 A 2.29,2.26 86.8 0,1 862.0,397.6 L 866.37,405.17 A 0.69,0.69 0.0 0,0 867.66,404.82 L 867.66,377.15 A 2.83,2.83 0.0 0,1 870.49,374.32 L 870.93,374.32 A 2.63,2.63 0.0 0,1 873.56,376.95 L 873.56,394.71 A 0.94,0.94 0.0 0,0 874.5,395.65 L 874.76,395.65 A 0.81,0.8 -90.0 0,0 875.56,394.84 L 875.56,373.77 A 3.06,3.05 88.1 0,1 878.41,370.72 L 878.86,370.69 A 2.6,2.6 0.0 0,1 881.62,373.28 L 881.62,394.85 A 0.91,0.91 0.0 0,0 882.52,395.76 L 882.86,395.77 A 0.84,0.84 0.0 0,0 883.71,394.93 L 883.71,377.65 A 3.27,3.27 0.0 0,1 886.42,374.43 L 886.85,374.36 A 2.34,2.34 0.0 0,1 889.59,376.66 L 889.59,395.21 A 1.03,1.01 -82.7 0,0 890.34,396.2 L 890.72,396.31 A 0.73,0.73 0.0 0,0 891.64,395.6 L 891.64,382.76 A 2.46,2.46 0.0 0,1 894.2,380.3 L 894.49,380.31 A 2.69,2.69 0.0 0,1 897.11,383.0 Q 897.1,407.15 897.11,407.35 C 897.43,415.77 894.71,421.57 886.93,424.42 A 0.75,0.75 0.0 0,0 886.56,425.52 L 886.58,425.55 A 1.3,1.29 66.9 0,0 887.98,426.12 C 892.83,424.97 896.54,420.35 898.23,415.91 Q 899.24,413.24 899.22,407.12 Q 899.14,387.19 899.22,382.16 A 3.07,2.99 36.7 0,0 899.07,381.22 C 898.38,379.19 895.5,377.04 893.21,378.45 Q 892.42,378.93 892.12,378.99 A 0.48,0.48 0.0 0,1 891.55,378.49"/>
|
|
5
|
-
<path fill="#1b1f23" d="M 892.12,378.99 Q 892.42,378.93 893.21,378.45 C 895.5,377.04 898.38,379.19 899.07,381.22 A 3.07,2.99 36.7 0,1 899.22,382.16 Q 899.14,387.19 899.22,407.12 Q 899.24,413.24 898.23,415.91 C 896.54,420.35 892.83,424.97 887.98,426.12 A 1.3,1.29 66.9 0,1 886.58,425.55 L 886.56,425.52 A 0.75,0.75 0.0 0,1 886.93,424.42 C 894.71,421.57 897.43,415.77 897.11,407.35 Q 897.1,407.15 897.11,383.0 A 2.69,2.69 0.0 0,0 894.49,380.31 L 894.2,380.3 A 2.46,2.46 0.0 0,0 891.64,382.76 L 891.64,395.6 A 0.73,0.73 0.0 0,1 890.72,396.31 L 890.34,396.2 A 1.03,1.01 -82.7 0,1 889.59,395.21 L 889.59,376.66 A 2.34,2.34 0.0 0,0 886.85,374.36 L 886.42,374.43 A 3.27,3.27 0.0 0,0 883.71,377.65 L 883.71,394.93 A 0.84,0.84 0.0 0,1 882.86,395.77 L 882.52,395.76 A 0.91,0.91 0.0 0,1 881.62,394.85 L 881.62,373.28 A 2.6,2.6 0.0 0,0 878.86,370.69 L 878.41,370.72 A 3.06,3.05 88.1 0,0 875.56,373.77 L 875.56,394.84 A 0.81,0.8 90.0 0,1 874.76,395.65 L 874.5,395.65 A 0.94,0.94 0.0 0,1 873.56,394.71 L 873.56,376.95 A 2.63,2.63 0.0 0,0 870.93,374.32 L 870.49,374.32 A 2.83,2.83 0.0 0,0 867.66,377.15 L 867.66,404.82 A 0.69,0.69 0.0 0,1 866.37,405.17 L 862.0,397.6 A 2.29,2.26 86.8 0,0 860.96,396.66 C 859.01,395.8 855.42,397.07 856.64,399.78 Q 861.81,411.23 863.17,414.07 Q 865.58,419.13 871.18,423.09 A 4.31,4.16 69.2 0,0 872.43,423.68 L 874.57,424.26 A 0.82,0.82 0.0 0,1 875.14,425.26 L 875.06,425.54 A 0.58,0.57 -79.6 0,1 874.46,425.96 C 868.42,425.41 864.67,420.67 861.92,415.59 Q 858.78,409.79 855.2,401.57 C 853.41,397.46 856.19,393.47 860.71,394.55 C 862.84,395.06 863.83,396.99 864.86,398.84 A 0.35,0.35 0.0 0,0 865.51,398.69 Q 865.8,393.02 865.55,379.13 Q 865.49,375.84 866.49,374.44 C 867.61,372.86 870.42,371.41 872.26,372.75 Q 872.92,373.22 873.01,373.27 A 0.57,0.56 19.1 0,0 873.8,372.89 C 875.17,367.33 882.66,366.92 883.72,372.94 A 0.47,0.47 0.0 0,0 884.45,373.25 Q 888.38,370.64 891.22,375.07 Q 891.73,375.88 891.55,378.49 A 0.48,0.48 0.0 0,0 892.12,378.99"/>
|
|
6
|
-
</svg>
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<svg
|
|
3
|
-
version="1.1"
|
|
4
|
-
viewBox="0 0 64 64"
|
|
5
|
-
id="svg5"
|
|
6
|
-
sodipodi:docname="RectangularZoom.svg"
|
|
7
|
-
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
|
|
8
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
9
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
10
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
-
xmlns:svg="http://www.w3.org/2000/svg">
|
|
12
|
-
<defs
|
|
13
|
-
id="defs5" />
|
|
14
|
-
<sodipodi:namedview
|
|
15
|
-
id="namedview5"
|
|
16
|
-
pagecolor="#ffffff"
|
|
17
|
-
bordercolor="#000000"
|
|
18
|
-
borderopacity="0.25"
|
|
19
|
-
inkscape:showpageshadow="2"
|
|
20
|
-
inkscape:pageopacity="0.0"
|
|
21
|
-
inkscape:pagecheckerboard="0"
|
|
22
|
-
inkscape:deskcolor="#d1d1d1"
|
|
23
|
-
inkscape:zoom="12.734375"
|
|
24
|
-
inkscape:cx="32"
|
|
25
|
-
inkscape:cy="32"
|
|
26
|
-
inkscape:window-width="1920"
|
|
27
|
-
inkscape:window-height="1017"
|
|
28
|
-
inkscape:window-x="1912"
|
|
29
|
-
inkscape:window-y="-8"
|
|
30
|
-
inkscape:window-maximized="1"
|
|
31
|
-
inkscape:current-layer="svg5" />
|
|
32
|
-
<title
|
|
33
|
-
id="title1">Rectangular Zoom</title>
|
|
34
|
-
<desc
|
|
35
|
-
id="desc1">GeoKernel style rectangular zoom toolbar icon</desc>
|
|
36
|
-
<!-- selection rectangle shadow/outline -->
|
|
37
|
-
<!-- selection rectangle body -->
|
|
38
|
-
<rect
|
|
39
|
-
x="9.1931248"
|
|
40
|
-
y="10.742818"
|
|
41
|
-
width="32.969578"
|
|
42
|
-
height="24.948719"
|
|
43
|
-
rx="1.8190112"
|
|
44
|
-
fill="#a8d8d0"
|
|
45
|
-
stroke="#627c7a"
|
|
46
|
-
stroke-width="2.27091"
|
|
47
|
-
stroke-linejoin="round"
|
|
48
|
-
vector-effect="non-scaling-stroke"
|
|
49
|
-
id="rect2" />
|
|
50
|
-
<!-- inner dashed zoom target -->
|
|
51
|
-
<!-- magnifier handle outer -->
|
|
52
|
-
<path
|
|
53
|
-
d="M 42.9 42.1 L 56.2 55.1"
|
|
54
|
-
fill="none"
|
|
55
|
-
stroke="#1b1f23"
|
|
56
|
-
stroke-width="7"
|
|
57
|
-
stroke-linecap="round"
|
|
58
|
-
vector-effect="non-scaling-stroke"
|
|
59
|
-
id="path3" />
|
|
60
|
-
<!-- magnifier handle highlight -->
|
|
61
|
-
<path
|
|
62
|
-
d="M 42.9 42.1 L 56.2 55.1"
|
|
63
|
-
fill="none"
|
|
64
|
-
stroke="#f7f7f7"
|
|
65
|
-
stroke-width="3.2"
|
|
66
|
-
stroke-linecap="round"
|
|
67
|
-
vector-effect="non-scaling-stroke"
|
|
68
|
-
id="path4" />
|
|
69
|
-
<!-- magnifier ring outer -->
|
|
70
|
-
<circle
|
|
71
|
-
cx="35.5"
|
|
72
|
-
cy="35.5"
|
|
73
|
-
r="13.2"
|
|
74
|
-
fill="#f7f7f7"
|
|
75
|
-
stroke="#1b1f23"
|
|
76
|
-
stroke-width="3"
|
|
77
|
-
vector-effect="non-scaling-stroke"
|
|
78
|
-
id="circle4" />
|
|
79
|
-
<!-- magnifier lens -->
|
|
80
|
-
<!-- small rectangle inside lens to indicate rectangular zoom -->
|
|
81
|
-
<!-- subtle top-left accent, matching existing set cyan/gray strokes -->
|
|
82
|
-
</svg>
|
package/assets/images/ZoomIn.svg
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="946.36 368.53 64.59 63.66">
|
|
3
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 957.75,380.31 C 949.99,388.3 950.73,401.04 959.17,408.29 C 966.4,414.5 976.53,414.2 983.96,408.15 A 0.73,0.72 47.8 0,1 984.92,408.2 Q 992.47,415.74 1003.02,425.81 Q 1003.45,426.23 1003.77,426.19 Q 1004.01,426.17 1004.48,425.69 Q 1004.93,425.22 1004.95,424.99 Q 1004.97,424.66 1004.54,424.24 Q 994.17,413.99 986.41,406.66 A 0.73,0.72 40.5 0,1 986.34,405.7 C 992.17,398.1 992.17,387.97 985.76,380.92 C 978.27,372.7 965.51,372.33 957.75,380.31"/>
|
|
4
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 988.7759,392.535 A 17.28,17.01 -3.6 0,0 970.4619,376.6436 A 17.28,17.01 -3.6 0,0 954.2841,394.705 A 17.28,17.01 -3.6 0,0 972.5981,410.5964 A 17.28,17.01 -3.6 0,0 988.7759,392.535"/>
|
|
5
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 970.28,392.38 Q 970.15,392.51 970.13,392.52 Q 969.95,392.61 969.93,392.61 C 966.45,392.59 963.22,392.4 962.65,392.92 Q 962.39,393.17 962.39,393.59 Q 962.39,394.0 962.66,394.25 C 963.22,394.77 966.45,394.57 969.93,394.55 Q 969.95,394.55 970.13,394.63 Q 970.15,394.64 970.28,394.77 Q 970.41,394.9 970.42,394.92 Q 970.51,395.1 970.51,395.12 C 970.49,398.6 970.3,401.83 970.82,402.4 Q 971.07,402.67 971.48,402.66 Q 971.9,402.66 972.15,402.4 C 972.67,401.83 972.47,398.6 972.44,395.12 Q 972.44,395.1 972.53,394.92 Q 972.54,394.9 972.67,394.77 Q 972.8,394.64 972.82,394.63 Q 973.0,394.54 973.02,394.54 C 976.5,394.56 979.73,394.75 980.3,394.23 Q 980.56,393.98 980.56,393.57 Q 980.56,393.15 980.29,392.9 C 979.73,392.38 976.5,392.58 973.02,392.61 Q 973.0,392.61 972.82,392.52 Q 972.8,392.51 972.67,392.38 Q 972.54,392.25 972.53,392.23 Q 972.44,392.05 972.44,392.03 C 972.46,388.55 972.65,385.32 972.13,384.76 Q 971.88,384.49 971.47,384.49 Q 971.05,384.49 970.8,384.76 C 970.28,385.32 970.48,388.55 970.51,392.03 Q 970.51,392.05 970.42,392.23 Q 970.41,392.25 970.28,392.38"/>
|
|
6
|
-
<path fill="#f7f7f7" d="M 957.75,380.31 C 949.99,388.3 950.73,401.04 959.17,408.29 C 966.4,414.5 976.53,414.2 983.96,408.15 A 0.73,0.72 47.8 0,1 984.92,408.2 Q 992.47,415.74 1003.02,425.81 Q 1003.45,426.23 1003.77,426.19 Q 1004.01,426.17 1004.48,425.69 Q 1004.93,425.22 1004.95,424.99 Q 1004.97,424.66 1004.54,424.24 Q 994.17,413.99 986.41,406.66 A 0.73,0.72 40.5 0,1 986.34,405.7 C 992.17,398.1 992.17,387.97 985.76,380.92 C 978.27,372.7 965.51,372.33 957.75,380.31"/>
|
|
7
|
-
<path fill="#1b1f23" d="M 1004.48,425.69 Q 1004.01,426.17 1003.77,426.19 Q 1003.45,426.23 1003.02,425.81 Q 992.47,415.74 984.92,408.2 A 0.73,0.72 47.8 0,0 983.96,408.15 C 976.53,414.2 966.4,414.5 959.17,408.29 C 950.73,401.04 949.99,388.3 957.75,380.31 C 965.51,372.33 978.27,372.7 985.76,380.92 C 992.17,387.97 992.17,398.1 986.34,405.7 A 0.73,0.72 40.5 0,0 986.41,406.66 Q 994.17,413.99 1004.54,424.24 Q 1004.97,424.66 1004.95,424.99 Q 1004.93,425.22 1004.48,425.69 M 988.7759,392.535 A 17.28,17.01 -3.6 0,0 970.4619,376.6436 A 17.28,17.01 -3.6 0,0 954.2841,394.705 A 17.28,17.01 -3.6 0,0 972.5981,410.5964 A 17.28,17.01 -3.6 0,0 988.7759,392.535"/>
|
|
8
|
-
<path fill="#f7f7f7" d="M 988.7759,392.535 A 17.28,17.01 -3.6 0,1 972.5981,410.5964 A 17.28,17.01 -3.6 0,1 954.2841,394.705 A 17.28,17.01 -3.6 0,1 970.4619,376.6436 A 17.28,17.01 -3.6 0,1 988.7759,392.535 M 970.28,392.38 Q 970.15,392.51 970.13,392.52 Q 969.95,392.61 969.93,392.61 C 966.45,392.59 963.22,392.4 962.65,392.92 Q 962.39,393.17 962.39,393.59 Q 962.39,394.0 962.66,394.25 C 963.22,394.77 966.45,394.57 969.93,394.55 Q 969.95,394.55 970.13,394.63 Q 970.15,394.64 970.28,394.77 Q 970.41,394.9 970.42,394.92 Q 970.51,395.1 970.51,395.12 C 970.49,398.6 970.3,401.83 970.82,402.4 Q 971.07,402.67 971.48,402.66 Q 971.9,402.66 972.15,402.4 C 972.67,401.83 972.47,398.6 972.44,395.12 Q 972.44,395.1 972.53,394.92 Q 972.54,394.9 972.67,394.77 Q 972.8,394.64 972.82,394.63 Q 973.0,394.54 973.02,394.54 C 976.5,394.56 979.73,394.75 980.3,394.23 Q 980.56,393.98 980.56,393.57 Q 980.56,393.15 980.29,392.9 C 979.73,392.38 976.5,392.58 973.02,392.61 Q 973.0,392.61 972.82,392.52 Q 972.8,392.51 972.67,392.38 Q 972.54,392.25 972.53,392.23 Q 972.44,392.05 972.44,392.03 C 972.46,388.55 972.65,385.32 972.13,384.76 Q 971.88,384.49 971.47,384.49 Q 971.05,384.49 970.8,384.76 C 970.28,385.32 970.48,388.55 970.51,392.03 Q 970.51,392.05 970.42,392.23 Q 970.41,392.25 970.28,392.38"/>
|
|
9
|
-
<path fill="#1b1f23" d="M 971.47,384.49 Q 971.88,384.49 972.13,384.76 C 972.65,385.32 972.46,388.55 972.44,392.03 Q 972.44,392.05 972.53,392.23 Q 972.54,392.25 972.67,392.38 Q 972.8,392.51 972.82,392.52 Q 973.0,392.61 973.02,392.61 C 976.5,392.58 979.73,392.38 980.29,392.9 Q 980.56,393.15 980.56,393.57 Q 980.56,393.98 980.3,394.23 C 979.73,394.75 976.5,394.56 973.02,394.54 Q 973.0,394.54 972.82,394.63 Q 972.8,394.64 972.67,394.77 Q 972.54,394.9 972.53,394.92 Q 972.44,395.1 972.44,395.12 C 972.47,398.6 972.67,401.83 972.15,402.4 Q 971.9,402.66 971.48,402.66 Q 971.07,402.67 970.82,402.4 C 970.3,401.83 970.49,398.6 970.51,395.12 Q 970.51,395.1 970.42,394.92 Q 970.41,394.9 970.28,394.77 Q 970.15,394.64 970.13,394.63 Q 969.95,394.55 969.93,394.55 C 966.45,394.57 963.22,394.77 962.66,394.25 Q 962.39,394.0 962.39,393.59 Q 962.39,393.17 962.65,392.92 C 963.22,392.4 966.45,392.59 969.93,392.61 Q 969.95,392.61 970.13,392.52 Q 970.15,392.51 970.28,392.38 Q 970.41,392.25 970.42,392.23 Q 970.51,392.05 970.51,392.03 C 970.48,388.55 970.28,385.32 970.8,384.76 Q 971.05,384.49 971.47,384.49"/>
|
|
10
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="946.36 368.53 64.59 63.66">
|
|
3
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 957.75,380.31 C 949.99,388.3 950.73,401.04 959.17,408.29 C 966.4,414.5 976.53,414.2 983.96,408.15 A 0.73,0.72 47.8 0,1 984.92,408.2 Q 992.47,415.74 1003.02,425.81 Q 1003.45,426.23 1003.77,426.19 Q 1004.01,426.17 1004.48,425.69 Q 1004.93,425.22 1004.95,424.99 Q 1004.97,424.66 1004.54,424.24 Q 994.17,413.99 986.41,406.66 A 0.73,0.72 40.5 0,1 986.34,405.7 C 992.17,398.1 992.17,387.97 985.76,380.92 C 978.27,372.7 965.51,372.33 957.75,380.31"/>
|
|
4
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 988.7759,392.535 A 17.28,17.01 -3.6 0,0 970.4619,376.6436 A 17.28,17.01 -3.6 0,0 954.2841,394.705 A 17.28,17.01 -3.6 0,0 972.5981,410.5964 A 17.28,17.01 -3.6 0,0 988.7759,392.535"/>
|
|
5
|
-
<path fill="none" stroke="#898b8d" stroke-width="2.00" stroke-linecap="butt" vector-effect="non-scaling-stroke" d="M 970.28,392.38 Q 970.15,392.51 970.13,392.52 Q 969.95,392.61 969.93,392.61 C 966.45,392.59 963.22,392.4 962.65,392.92 Q 962.39,393.17 962.39,393.59 Q 962.39,394.0 962.66,394.25 C 963.22,394.77 966.45,394.57 969.93,394.55 Q 969.95,394.55 970.13,394.63 Q 970.15,394.64 970.28,394.77 Q 970.41,394.9 970.42,394.92 Q 970.51,395.1 970.51,395.12 C 970.49,398.6 970.3,401.83 970.82,402.4 Q 971.07,402.67 971.48,402.66 Q 971.9,402.66 972.15,402.4 C 972.67,401.83 972.47,398.6 972.44,395.12 Q 972.44,395.1 972.53,394.92 Q 972.54,394.9 972.67,394.77 Q 972.8,394.64 972.82,394.63 Q 973.0,394.54 973.02,394.54 C 976.5,394.56 979.73,394.75 980.3,394.23 Q 980.56,393.98 980.56,393.57 Q 980.56,393.15 980.29,392.9 C 979.73,392.38 976.5,392.58 973.02,392.61 Q 973.0,392.61 972.82,392.52 Q 972.8,392.51 972.67,392.38 Q 972.54,392.25 972.53,392.23 Q 972.44,392.05 972.44,392.03 C 972.46,388.55 972.65,385.32 972.13,384.76 Q 971.88,384.49 971.47,384.49 Q 971.05,384.49 970.8,384.76 C 970.28,385.32 970.48,388.55 970.51,392.03 Q 970.51,392.05 970.42,392.23 Q 970.41,392.25 970.28,392.38"/>
|
|
6
|
-
<path fill="#f7f7f7" d="M 957.75,380.31 C 949.99,388.3 950.73,401.04 959.17,408.29 C 966.4,414.5 976.53,414.2 983.96,408.15 A 0.73,0.72 47.8 0,1 984.92,408.2 Q 992.47,415.74 1003.02,425.81 Q 1003.45,426.23 1003.77,426.19 Q 1004.01,426.17 1004.48,425.69 Q 1004.93,425.22 1004.95,424.99 Q 1004.97,424.66 1004.54,424.24 Q 994.17,413.99 986.41,406.66 A 0.73,0.72 40.5 0,1 986.34,405.7 C 992.17,398.1 992.17,387.97 985.76,380.92 C 978.27,372.7 965.51,372.33 957.75,380.31"/>
|
|
7
|
-
<path fill="#1b1f23" d="M 1004.48,425.69 Q 1004.01,426.17 1003.77,426.19 Q 1003.45,426.23 1003.02,425.81 Q 992.47,415.74 984.92,408.2 A 0.73,0.72 47.8 0,0 983.96,408.15 C 976.53,414.2 966.4,414.5 959.17,408.29 C 950.73,401.04 949.99,388.3 957.75,380.31 C 965.51,372.33 978.27,372.7 985.76,380.92 C 992.17,387.97 992.17,398.1 986.34,405.7 A 0.73,0.72 40.5 0,0 986.41,406.66 Q 994.17,413.99 1004.54,424.24 Q 1004.97,424.66 1004.95,424.99 Q 1004.93,425.22 1004.48,425.69 M 988.7759,392.535 A 17.28,17.01 -3.6 0,0 970.4619,376.6436 A 17.28,17.01 -3.6 0,0 954.2841,394.705 A 17.28,17.01 -3.6 0,0 972.5981,410.5964 A 17.28,17.01 -3.6 0,0 988.7759,392.535"/>
|
|
8
|
-
<path fill="#f7f7f7" d="M 988.7759,392.535 A 17.28,17.01 -3.6 0,1 972.5981,410.5964 A 17.28,17.01 -3.6 0,1 954.2841,394.705 A 17.28,17.01 -3.6 0,1 970.4619,376.6436 A 17.28,17.01 -3.6 0,1 988.7759,392.535 M 970.28,392.38 Q 970.15,392.51 970.13,392.52 Q 969.95,392.61 969.93,392.61 C 966.45,392.59 963.22,392.4 962.65,392.92 Q 962.39,393.17 962.39,393.59 Q 962.39,394.0 962.66,394.25 C 963.22,394.77 966.45,394.57 969.93,394.55 Q 969.95,394.55 970.13,394.63 Q 970.15,394.64 970.28,394.77 Q 970.41,394.9 970.42,394.92 Q 970.51,395.1 970.51,395.12 C 970.49,398.6 970.3,401.83 970.82,402.4 Q 971.07,402.67 971.48,402.66 Q 971.9,402.66 972.15,402.4 C 972.67,401.83 972.47,398.6 972.44,395.12 Q 972.44,395.1 972.53,394.92 Q 972.54,394.9 972.67,394.77 Q 972.8,394.64 972.82,394.63 Q 973.0,394.54 973.02,394.54 C 976.5,394.56 979.73,394.75 980.3,394.23 Q 980.56,393.98 980.56,393.57 Q 980.56,393.15 980.29,392.9 C 979.73,392.38 976.5,392.58 973.02,392.61 Q 973.0,392.61 972.82,392.52 Q 972.8,392.51 972.67,392.38 Q 972.54,392.25 972.53,392.23 Q 972.44,392.05 972.44,392.03 C 972.46,388.55 972.65,385.32 972.13,384.76 Q 971.88,384.49 971.47,384.49 Q 971.05,384.49 970.8,384.76 C 970.28,385.32 970.48,388.55 970.51,392.03 Q 970.51,392.05 970.42,392.23 Q 970.41,392.25 970.28,392.38"/>
|
|
9
|
-
<rect x="962.39" y="392.38" width="18.17" height="2.39" rx="1.19" ry="1.19" fill="#1b1f23"/>
|
|
10
|
-
</svg>
|