From 5840f37eeb1e00a69add6e80e43920244dc71d46 Mon Sep 17 00:00:00 2001 From: zyl <731870902@qq.com> Date: Thu, 20 Nov 2025 19:05:28 +0800 Subject: [PATCH] icon --- src/renderer/components.d.ts | 2 + src/renderer/src/icons/svg/BIMEdit.svg | 11 + .../src/icons/svg/Intervisibility.svg | 11 + src/renderer/src/icons/svg/MeasureAngle.svg | 1 + src/renderer/src/icons/svg/MeasureAzimuth.svg | 1 + src/renderer/src/icons/svg/POI.svg | 6 + src/renderer/src/icons/svg/add.svg | 1 + .../src/icons/svg/add.svg - 快捷方式.lnk | Bin 654 -> 0 bytes src/renderer/src/icons/svg/addBIM.svg | 4 + src/renderer/src/icons/svg/addDevice.svg | 1 + src/renderer/src/icons/svg/addDirectory.svg | 4 + src/renderer/src/icons/svg/addEventTs.svg | 1 + src/renderer/src/icons/svg/addResource.svg | 4 + src/renderer/src/icons/svg/addTrajectory.svg | 4 + src/renderer/src/icons/svg/analysis.svg | 4 + src/renderer/src/icons/svg/annotation.svg | 4 + .../src/icons/svg/annotationAggregation.svg | 1 + src/renderer/src/icons/svg/areaMeasure.svg | 1 + src/renderer/src/icons/svg/areaScreen.svg | 11 + src/renderer/src/icons/svg/arrow.svg | 1 + src/renderer/src/icons/svg/arrow1.svg | 1 + src/renderer/src/icons/svg/arrow2.svg | 1 + src/renderer/src/icons/svg/attackArrow.svg | 4 + src/renderer/src/icons/svg/backTs.svg | 1 + src/renderer/src/icons/svg/beidou.svg | 14 + src/renderer/src/icons/svg/circle.svg | 4 + src/renderer/src/icons/svg/circleKen.svg | 7 + .../src/icons/svg/circleStatistics.svg | 12 + src/renderer/src/icons/svg/clear.svg | 1 + src/renderer/src/icons/svg/clearAnalysis.svg | 1 + src/renderer/src/icons/svg/clearGraffiti.svg | 5 + src/renderer/src/icons/svg/clearQuery.svg | 19 + src/renderer/src/icons/svg/clearRoute.svg | 7 + .../src/icons/svg/clearTilesetClipping.svg | 6 + src/renderer/src/icons/svg/close.svg | 1 + src/renderer/src/icons/svg/closeLeftTs.svg | 1 + src/renderer/src/icons/svg/closeRightTs.svg | 1 + src/renderer/src/icons/svg/clt.svg | 1 + src/renderer/src/icons/svg/contour.svg | 1 + src/renderer/src/icons/svg/coorLocation.svg | 1 + src/renderer/src/icons/svg/coorMeasure.svg | 1 + src/renderer/src/icons/svg/copy.svg | 4 + src/renderer/src/icons/svg/creat.svg | 6 + src/renderer/src/icons/svg/crossPoint.svg | 1 + src/renderer/src/icons/svg/curve.svg | 1 + src/renderer/src/icons/svg/cutFill.svg | 1 + src/renderer/src/icons/svg/del.svg | 17 + src/renderer/src/icons/svg/delModel.svg | 1 + src/renderer/src/icons/svg/des_detail.svg | 1 + src/renderer/src/icons/svg/diffuseScan.svg | 1 + src/renderer/src/icons/svg/dimension.svg | 4 + .../src/icons/svg/distanceMeasure.svg | 1 + src/renderer/src/icons/svg/download.svg | 1 + src/renderer/src/icons/svg/edit.svg | 4 + src/renderer/src/icons/svg/ellipse.svg | 1 + src/renderer/src/icons/svg/entityWall.svg | 1 + src/renderer/src/icons/svg/ersan_ts.svg | 1 + src/renderer/src/icons/svg/exitTs.svg | 1 + src/renderer/src/icons/svg/explosion.svg | 1 + src/renderer/src/icons/svg/export.svg | 1 + src/renderer/src/icons/svg/fire.svg | 1 + src/renderer/src/icons/svg/fk.svg | 1 + .../src/icons/svg/floodSimulation.svg | 11 + src/renderer/src/icons/svg/flyLine.svg | 1 + src/renderer/src/icons/svg/fog.svg | 1 + src/renderer/src/icons/svg/fountain.svg | 1 + src/renderer/src/icons/svg/full_screen.svg | 4 + .../src/icons/svg/full_screen_exit.svg | 1 + src/renderer/src/icons/svg/gdbImport.svg | 1 + src/renderer/src/icons/svg/geojson.svg | 1 + src/renderer/src/icons/svg/globalContour.svg | 1 + src/renderer/src/icons/svg/graffiti.svg | 1 + src/renderer/src/icons/svg/groundText.svg | 4 + src/renderer/src/icons/svg/heightMeasure.svg | 1 + src/renderer/src/icons/svg/hh.svg | 1 + src/renderer/src/icons/svg/highQuality.svg | 8 + src/renderer/src/icons/svg/icon-compass1.svg | 1 + src/renderer/src/icons/svg/icon-compass2.svg | 1 + src/renderer/src/icons/svg/icon-compass3.svg | 1 + src/renderer/src/icons/svg/icon-compass4.svg | 1 + src/renderer/src/icons/svg/importHeader.svg | 1 + src/renderer/src/icons/svg/importHeader1.svg | 1 + src/renderer/src/icons/svg/importImg.svg | 11 + src/renderer/src/icons/svg/importModel.svg | 1 + src/renderer/src/icons/svg/importPanorama.svg | 7 + src/renderer/src/icons/svg/index.js | 1449 +++++++++++++++++ .../src/icons/svg/inundationAnalysis.svg | 1 + src/renderer/src/icons/svg/jct.svg | 1 + src/renderer/src/icons/svg/json.svg | 1 + src/renderer/src/icons/svg/kenAnalysis.svg | 1 + src/renderer/src/icons/svg/kml.svg | 1 + src/renderer/src/icons/svg/kmz.svg | 1 + src/renderer/src/icons/svg/layer.svg | 1 + src/renderer/src/icons/svg/layerLower.svg | 4 + src/renderer/src/icons/svg/layerRaise.svg | 4 + src/renderer/src/icons/svg/layerToBottom.svg | 13 + src/renderer/src/icons/svg/layerToTop.svg | 6 + src/renderer/src/icons/svg/leading_in.svg | 4 + src/renderer/src/icons/svg/leading_out.svg | 4 + src/renderer/src/icons/svg/line.svg | 4 + src/renderer/src/icons/svg/linkImage.svg | 1 + src/renderer/src/icons/svg/loadTemp.svg | 1 + src/renderer/src/icons/svg/location.svg | 4 + .../src/icons/svg/lopeDistanceMeasures.svg | 1 + src/renderer/src/icons/svg/map-border1.svg | 4 + src/renderer/src/icons/svg/map-border2.svg | 4 + src/renderer/src/icons/svg/map-border3.svg | 4 + src/renderer/src/icons/svg/map-border4.svg | 4 + src/renderer/src/icons/svg/map-border5.svg | 4 + src/renderer/src/icons/svg/map-border6.svg | 4 + src/renderer/src/icons/svg/mbtiles.svg | 1 + src/renderer/src/icons/svg/measure.svg | 4 + src/renderer/src/icons/svg/mif.svg | 1 + src/renderer/src/icons/svg/military.svg | 4 + src/renderer/src/icons/svg/model.svg | 4 + src/renderer/src/icons/svg/more.svg | 1 + src/renderer/src/icons/svg/mouseLocation.svg | 1 + src/renderer/src/icons/svg/nightVision.svg | 1 + src/renderer/src/icons/svg/out_login.svg | 4 + src/renderer/src/icons/svg/pak.svg | 1 + src/renderer/src/icons/svg/panel.svg | 4 + src/renderer/src/icons/svg/path.svg | 1 + src/renderer/src/icons/svg/pdf.svg | 16 + src/renderer/src/icons/svg/peopleRoomLink.svg | 11 + src/renderer/src/icons/svg/perspective.svg | 11 + .../src/icons/svg/pictureLocation.svg | 7 + src/renderer/src/icons/svg/pincerArrow.svg | 4 + src/renderer/src/icons/svg/pitchImport.svg | 1 + src/renderer/src/icons/svg/playTs.svg | 1 + src/renderer/src/icons/svg/point.svg | 4 + .../src/icons/svg/polygonStatistics.svg | 6 + .../src/icons/svg/polyhedronObject.svg | 1 + src/renderer/src/icons/svg/posiFly.svg | 1 + src/renderer/src/icons/svg/pressModel.svg | 1 + .../src/icons/svg/profileAnalysis.svg | 1 + src/renderer/src/icons/svg/projConvert.svg | 5 + src/renderer/src/icons/svg/projectionArea.svg | 1 + .../src/icons/svg/projectionConvert.svg | 1 + .../icons/svg/projectionDistanceMeasure.svg | 1 + src/renderer/src/icons/svg/prompt.svg | 1 + src/renderer/src/icons/svg/pw.svg | 1 + src/renderer/src/icons/svg/qc.svg | 1 + src/renderer/src/icons/svg/radarScan.svg | 1 + src/renderer/src/icons/svg/rain.svg | 1 + src/renderer/src/icons/svg/rangeQuery.svg | 21 + src/renderer/src/icons/svg/rectangle.svg | 6 + src/renderer/src/icons/svg/rename.svg | 1 + src/renderer/src/icons/svg/rendezvous.svg | 4 + src/renderer/src/icons/svg/resetView.svg | 4 + src/renderer/src/icons/svg/road_network.svg | 4 + src/renderer/src/icons/svg/roam.svg | 1 + src/renderer/src/icons/svg/routePlan.svg | 3 + .../src/icons/svg/scanStereoscopic.svg | 1 + src/renderer/src/icons/svg/screenShot.svg | 1 + src/renderer/src/icons/svg/search.svg | 1 + src/renderer/src/icons/svg/sector.svg | 1 + src/renderer/src/icons/svg/select.svg | 1 + src/renderer/src/icons/svg/setView.svg | 15 + src/renderer/src/icons/svg/showAttr.svg | 1 + src/renderer/src/icons/svg/shp.svg | 1 + src/renderer/src/icons/svg/sightAnalysis.svg | 1 + src/renderer/src/icons/svg/sitting.svg | 1 + src/renderer/src/icons/svg/situation.svg | 4 + src/renderer/src/icons/svg/skystarry.svg | 1 + src/renderer/src/icons/svg/slopeDirection.svg | 1 + src/renderer/src/icons/svg/smoke.svg | 1 + src/renderer/src/icons/svg/snow.svg | 1 + src/renderer/src/icons/svg/special.svg | 4 + src/renderer/src/icons/svg/splitScreen.svg | 1 + src/renderer/src/icons/svg/standText.svg | 12 + src/renderer/src/icons/svg/stop.svg | 1 + src/renderer/src/icons/svg/subscript1.svg | 1 + src/renderer/src/icons/svg/subscript2.svg | 1 + src/renderer/src/icons/svg/switch.svg | 1 + src/renderer/src/icons/svg/sys_reset.svg | 4 + src/renderer/src/icons/svg/sys_set.svg | 4 + src/renderer/src/icons/svg/tab.svg | 1 + .../src/icons/svg/tacticalCalculation.svg | 1 + src/renderer/src/icons/svg/terrainDig.svg | 1 + src/renderer/src/icons/svg/text-bold.svg | 1 + src/renderer/src/icons/svg/text-italic.svg | 1 + .../src/icons/svg/text-line-bottom.svg | 1 + .../src/icons/svg/text-line-through.svg | 1 + src/renderer/src/icons/svg/textBox.svg | 1 + .../src/icons/svg/tilesetClipping.svg | 1 + src/renderer/src/icons/svg/tool.svg | 4 + src/renderer/src/icons/svg/transform.svg | 10 + .../src/icons/svg/triangleMeasure.svg | 1 + src/renderer/src/icons/svg/turn.svg | 4 + src/renderer/src/icons/svg/video.svg | 1 + src/renderer/src/icons/svg/videoRecord.svg | 1 + src/renderer/src/icons/svg/vrImage.svg | 1 + .../src/icons/svg/wallStereoscopic.svg | 1 + src/renderer/src/icons/svg/water.svg | 1 + src/renderer/src/icons/svg/waterL.svg | 1 + src/renderer/src/icons/svg/weather.svg | 1 + src/renderer/src/icons/svg/weatherBase.svg | 1 + src/renderer/src/icons/svg/xaxis.svg | 1 + src/renderer/src/icons/svg/yaxis.svg | 1 + src/renderer/src/icons/svg/zw.svg | 1 + 200 files changed, 2051 insertions(+) create mode 100644 src/renderer/src/icons/svg/BIMEdit.svg create mode 100644 src/renderer/src/icons/svg/Intervisibility.svg create mode 100644 src/renderer/src/icons/svg/MeasureAngle.svg create mode 100644 src/renderer/src/icons/svg/MeasureAzimuth.svg create mode 100644 src/renderer/src/icons/svg/POI.svg create mode 100644 src/renderer/src/icons/svg/add.svg delete mode 100644 src/renderer/src/icons/svg/add.svg - 快捷方式.lnk create mode 100644 src/renderer/src/icons/svg/addBIM.svg create mode 100644 src/renderer/src/icons/svg/addDevice.svg create mode 100644 src/renderer/src/icons/svg/addDirectory.svg create mode 100644 src/renderer/src/icons/svg/addEventTs.svg create mode 100644 src/renderer/src/icons/svg/addResource.svg create mode 100644 src/renderer/src/icons/svg/addTrajectory.svg create mode 100644 src/renderer/src/icons/svg/analysis.svg create mode 100644 src/renderer/src/icons/svg/annotation.svg create mode 100644 src/renderer/src/icons/svg/annotationAggregation.svg create mode 100644 src/renderer/src/icons/svg/areaMeasure.svg create mode 100644 src/renderer/src/icons/svg/areaScreen.svg create mode 100644 src/renderer/src/icons/svg/arrow.svg create mode 100644 src/renderer/src/icons/svg/arrow1.svg create mode 100644 src/renderer/src/icons/svg/arrow2.svg create mode 100644 src/renderer/src/icons/svg/attackArrow.svg create mode 100644 src/renderer/src/icons/svg/backTs.svg create mode 100644 src/renderer/src/icons/svg/beidou.svg create mode 100644 src/renderer/src/icons/svg/circle.svg create mode 100644 src/renderer/src/icons/svg/circleKen.svg create mode 100644 src/renderer/src/icons/svg/circleStatistics.svg create mode 100644 src/renderer/src/icons/svg/clear.svg create mode 100644 src/renderer/src/icons/svg/clearAnalysis.svg create mode 100644 src/renderer/src/icons/svg/clearGraffiti.svg create mode 100644 src/renderer/src/icons/svg/clearQuery.svg create mode 100644 src/renderer/src/icons/svg/clearRoute.svg create mode 100644 src/renderer/src/icons/svg/clearTilesetClipping.svg create mode 100644 src/renderer/src/icons/svg/close.svg create mode 100644 src/renderer/src/icons/svg/closeLeftTs.svg create mode 100644 src/renderer/src/icons/svg/closeRightTs.svg create mode 100644 src/renderer/src/icons/svg/clt.svg create mode 100644 src/renderer/src/icons/svg/contour.svg create mode 100644 src/renderer/src/icons/svg/coorLocation.svg create mode 100644 src/renderer/src/icons/svg/coorMeasure.svg create mode 100644 src/renderer/src/icons/svg/copy.svg create mode 100644 src/renderer/src/icons/svg/creat.svg create mode 100644 src/renderer/src/icons/svg/crossPoint.svg create mode 100644 src/renderer/src/icons/svg/curve.svg create mode 100644 src/renderer/src/icons/svg/cutFill.svg create mode 100644 src/renderer/src/icons/svg/del.svg create mode 100644 src/renderer/src/icons/svg/delModel.svg create mode 100644 src/renderer/src/icons/svg/des_detail.svg create mode 100644 src/renderer/src/icons/svg/diffuseScan.svg create mode 100644 src/renderer/src/icons/svg/dimension.svg create mode 100644 src/renderer/src/icons/svg/distanceMeasure.svg create mode 100644 src/renderer/src/icons/svg/download.svg create mode 100644 src/renderer/src/icons/svg/edit.svg create mode 100644 src/renderer/src/icons/svg/ellipse.svg create mode 100644 src/renderer/src/icons/svg/entityWall.svg create mode 100644 src/renderer/src/icons/svg/ersan_ts.svg create mode 100644 src/renderer/src/icons/svg/exitTs.svg create mode 100644 src/renderer/src/icons/svg/explosion.svg create mode 100644 src/renderer/src/icons/svg/export.svg create mode 100644 src/renderer/src/icons/svg/fire.svg create mode 100644 src/renderer/src/icons/svg/fk.svg create mode 100644 src/renderer/src/icons/svg/floodSimulation.svg create mode 100644 src/renderer/src/icons/svg/flyLine.svg create mode 100644 src/renderer/src/icons/svg/fog.svg create mode 100644 src/renderer/src/icons/svg/fountain.svg create mode 100644 src/renderer/src/icons/svg/full_screen.svg create mode 100644 src/renderer/src/icons/svg/full_screen_exit.svg create mode 100644 src/renderer/src/icons/svg/gdbImport.svg create mode 100644 src/renderer/src/icons/svg/geojson.svg create mode 100644 src/renderer/src/icons/svg/globalContour.svg create mode 100644 src/renderer/src/icons/svg/graffiti.svg create mode 100644 src/renderer/src/icons/svg/groundText.svg create mode 100644 src/renderer/src/icons/svg/heightMeasure.svg create mode 100644 src/renderer/src/icons/svg/hh.svg create mode 100644 src/renderer/src/icons/svg/highQuality.svg create mode 100644 src/renderer/src/icons/svg/icon-compass1.svg create mode 100644 src/renderer/src/icons/svg/icon-compass2.svg create mode 100644 src/renderer/src/icons/svg/icon-compass3.svg create mode 100644 src/renderer/src/icons/svg/icon-compass4.svg create mode 100644 src/renderer/src/icons/svg/importHeader.svg create mode 100644 src/renderer/src/icons/svg/importHeader1.svg create mode 100644 src/renderer/src/icons/svg/importImg.svg create mode 100644 src/renderer/src/icons/svg/importModel.svg create mode 100644 src/renderer/src/icons/svg/importPanorama.svg create mode 100644 src/renderer/src/icons/svg/index.js create mode 100644 src/renderer/src/icons/svg/inundationAnalysis.svg create mode 100644 src/renderer/src/icons/svg/jct.svg create mode 100644 src/renderer/src/icons/svg/json.svg create mode 100644 src/renderer/src/icons/svg/kenAnalysis.svg create mode 100644 src/renderer/src/icons/svg/kml.svg create mode 100644 src/renderer/src/icons/svg/kmz.svg create mode 100644 src/renderer/src/icons/svg/layer.svg create mode 100644 src/renderer/src/icons/svg/layerLower.svg create mode 100644 src/renderer/src/icons/svg/layerRaise.svg create mode 100644 src/renderer/src/icons/svg/layerToBottom.svg create mode 100644 src/renderer/src/icons/svg/layerToTop.svg create mode 100644 src/renderer/src/icons/svg/leading_in.svg create mode 100644 src/renderer/src/icons/svg/leading_out.svg create mode 100644 src/renderer/src/icons/svg/line.svg create mode 100644 src/renderer/src/icons/svg/linkImage.svg create mode 100644 src/renderer/src/icons/svg/loadTemp.svg create mode 100644 src/renderer/src/icons/svg/location.svg create mode 100644 src/renderer/src/icons/svg/lopeDistanceMeasures.svg create mode 100644 src/renderer/src/icons/svg/map-border1.svg create mode 100644 src/renderer/src/icons/svg/map-border2.svg create mode 100644 src/renderer/src/icons/svg/map-border3.svg create mode 100644 src/renderer/src/icons/svg/map-border4.svg create mode 100644 src/renderer/src/icons/svg/map-border5.svg create mode 100644 src/renderer/src/icons/svg/map-border6.svg create mode 100644 src/renderer/src/icons/svg/mbtiles.svg create mode 100644 src/renderer/src/icons/svg/measure.svg create mode 100644 src/renderer/src/icons/svg/mif.svg create mode 100644 src/renderer/src/icons/svg/military.svg create mode 100644 src/renderer/src/icons/svg/model.svg create mode 100644 src/renderer/src/icons/svg/more.svg create mode 100644 src/renderer/src/icons/svg/mouseLocation.svg create mode 100644 src/renderer/src/icons/svg/nightVision.svg create mode 100644 src/renderer/src/icons/svg/out_login.svg create mode 100644 src/renderer/src/icons/svg/pak.svg create mode 100644 src/renderer/src/icons/svg/panel.svg create mode 100644 src/renderer/src/icons/svg/path.svg create mode 100644 src/renderer/src/icons/svg/pdf.svg create mode 100644 src/renderer/src/icons/svg/peopleRoomLink.svg create mode 100644 src/renderer/src/icons/svg/perspective.svg create mode 100644 src/renderer/src/icons/svg/pictureLocation.svg create mode 100644 src/renderer/src/icons/svg/pincerArrow.svg create mode 100644 src/renderer/src/icons/svg/pitchImport.svg create mode 100644 src/renderer/src/icons/svg/playTs.svg create mode 100644 src/renderer/src/icons/svg/point.svg create mode 100644 src/renderer/src/icons/svg/polygonStatistics.svg create mode 100644 src/renderer/src/icons/svg/polyhedronObject.svg create mode 100644 src/renderer/src/icons/svg/posiFly.svg create mode 100644 src/renderer/src/icons/svg/pressModel.svg create mode 100644 src/renderer/src/icons/svg/profileAnalysis.svg create mode 100644 src/renderer/src/icons/svg/projConvert.svg create mode 100644 src/renderer/src/icons/svg/projectionArea.svg create mode 100644 src/renderer/src/icons/svg/projectionConvert.svg create mode 100644 src/renderer/src/icons/svg/projectionDistanceMeasure.svg create mode 100644 src/renderer/src/icons/svg/prompt.svg create mode 100644 src/renderer/src/icons/svg/pw.svg create mode 100644 src/renderer/src/icons/svg/qc.svg create mode 100644 src/renderer/src/icons/svg/radarScan.svg create mode 100644 src/renderer/src/icons/svg/rain.svg create mode 100644 src/renderer/src/icons/svg/rangeQuery.svg create mode 100644 src/renderer/src/icons/svg/rectangle.svg create mode 100644 src/renderer/src/icons/svg/rename.svg create mode 100644 src/renderer/src/icons/svg/rendezvous.svg create mode 100644 src/renderer/src/icons/svg/resetView.svg create mode 100644 src/renderer/src/icons/svg/road_network.svg create mode 100644 src/renderer/src/icons/svg/roam.svg create mode 100644 src/renderer/src/icons/svg/routePlan.svg create mode 100644 src/renderer/src/icons/svg/scanStereoscopic.svg create mode 100644 src/renderer/src/icons/svg/screenShot.svg create mode 100644 src/renderer/src/icons/svg/search.svg create mode 100644 src/renderer/src/icons/svg/sector.svg create mode 100644 src/renderer/src/icons/svg/select.svg create mode 100644 src/renderer/src/icons/svg/setView.svg create mode 100644 src/renderer/src/icons/svg/showAttr.svg create mode 100644 src/renderer/src/icons/svg/shp.svg create mode 100644 src/renderer/src/icons/svg/sightAnalysis.svg create mode 100644 src/renderer/src/icons/svg/sitting.svg create mode 100644 src/renderer/src/icons/svg/situation.svg create mode 100644 src/renderer/src/icons/svg/skystarry.svg create mode 100644 src/renderer/src/icons/svg/slopeDirection.svg create mode 100644 src/renderer/src/icons/svg/smoke.svg create mode 100644 src/renderer/src/icons/svg/snow.svg create mode 100644 src/renderer/src/icons/svg/special.svg create mode 100644 src/renderer/src/icons/svg/splitScreen.svg create mode 100644 src/renderer/src/icons/svg/standText.svg create mode 100644 src/renderer/src/icons/svg/stop.svg create mode 100644 src/renderer/src/icons/svg/subscript1.svg create mode 100644 src/renderer/src/icons/svg/subscript2.svg create mode 100644 src/renderer/src/icons/svg/switch.svg create mode 100644 src/renderer/src/icons/svg/sys_reset.svg create mode 100644 src/renderer/src/icons/svg/sys_set.svg create mode 100644 src/renderer/src/icons/svg/tab.svg create mode 100644 src/renderer/src/icons/svg/tacticalCalculation.svg create mode 100644 src/renderer/src/icons/svg/terrainDig.svg create mode 100644 src/renderer/src/icons/svg/text-bold.svg create mode 100644 src/renderer/src/icons/svg/text-italic.svg create mode 100644 src/renderer/src/icons/svg/text-line-bottom.svg create mode 100644 src/renderer/src/icons/svg/text-line-through.svg create mode 100644 src/renderer/src/icons/svg/textBox.svg create mode 100644 src/renderer/src/icons/svg/tilesetClipping.svg create mode 100644 src/renderer/src/icons/svg/tool.svg create mode 100644 src/renderer/src/icons/svg/transform.svg create mode 100644 src/renderer/src/icons/svg/triangleMeasure.svg create mode 100644 src/renderer/src/icons/svg/turn.svg create mode 100644 src/renderer/src/icons/svg/video.svg create mode 100644 src/renderer/src/icons/svg/videoRecord.svg create mode 100644 src/renderer/src/icons/svg/vrImage.svg create mode 100644 src/renderer/src/icons/svg/wallStereoscopic.svg create mode 100644 src/renderer/src/icons/svg/water.svg create mode 100644 src/renderer/src/icons/svg/waterL.svg create mode 100644 src/renderer/src/icons/svg/weather.svg create mode 100644 src/renderer/src/icons/svg/weatherBase.svg create mode 100644 src/renderer/src/icons/svg/xaxis.svg create mode 100644 src/renderer/src/icons/svg/yaxis.svg create mode 100644 src/renderer/src/icons/svg/zw.svg diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts index 0c43d34..37cb211 100644 --- a/src/renderer/components.d.ts +++ b/src/renderer/components.d.ts @@ -20,10 +20,12 @@ declare module 'vue' { ElDialog: typeof import('element-plus/es')['ElDialog'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElIcon: typeof import('element-plus/es')['ElIcon'] ElImage: typeof import('element-plus/es')['ElImage'] ElInput: typeof import('element-plus/es')['ElInput'] ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] + ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm'] ElRow: typeof import('element-plus/es')['ElRow'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSlider: typeof import('element-plus/es')['ElSlider'] diff --git a/src/renderer/src/icons/svg/BIMEdit.svg b/src/renderer/src/icons/svg/BIMEdit.svg new file mode 100644 index 0000000..7078ac3 --- /dev/null +++ b/src/renderer/src/icons/svg/BIMEdit.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/Intervisibility.svg b/src/renderer/src/icons/svg/Intervisibility.svg new file mode 100644 index 0000000..b4dc818 --- /dev/null +++ b/src/renderer/src/icons/svg/Intervisibility.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/MeasureAngle.svg b/src/renderer/src/icons/svg/MeasureAngle.svg new file mode 100644 index 0000000..fe6a45a --- /dev/null +++ b/src/renderer/src/icons/svg/MeasureAngle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/MeasureAzimuth.svg b/src/renderer/src/icons/svg/MeasureAzimuth.svg new file mode 100644 index 0000000..7960c36 --- /dev/null +++ b/src/renderer/src/icons/svg/MeasureAzimuth.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/POI.svg b/src/renderer/src/icons/svg/POI.svg new file mode 100644 index 0000000..630a9d5 --- /dev/null +++ b/src/renderer/src/icons/svg/POI.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/add.svg b/src/renderer/src/icons/svg/add.svg new file mode 100644 index 0000000..3861e59 --- /dev/null +++ b/src/renderer/src/icons/svg/add.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/add.svg - 快捷方式.lnk b/src/renderer/src/icons/svg/add.svg - 快捷方式.lnk deleted file mode 100644 index b96a7c11bec8a820ca571ca228db326bd99b1e3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 654 zcmeZaU|?VrVFHp23uy?g|rNC@xE9uwdY1U}1Q_4NJTmY^S%vfnXiJ_RG zj3FJ!6M~ym9KF^Tw@Cp%l!2Olye%%q%Z~}29S%rq8IWiFeIj==z-kjfW=+W zVAJ@~Oly=}&XCBE0)%>SQ^kO4Vu4r&h(VzMqIH271Y&?#5Qv$9c=4)=Q($j8Tg8MH zrxq2*IHu%g=4BR_6eX7A7sa@w7H5~_7sLQv1jaDeF{m*(GgtwQ3I$r3%1{I(V;CHP zPRM1*WXJ>JVuli+Xd;lz2huSNE}an6DWAPoZfX=$0sspXk@ zDf#6f{yBrI=?2UzJmxmYRkWSB=5n=Sg5LY19|Wh(WO(2cIoXnsyerTQP6mbrmO$Dt zI3ReVSgy<3-U5&19u9g-Y%6+Xf#MlJ%-{jU^K5(^nM61HwzW@^v*URWNiZNuAOHaF Cx|M1G diff --git a/src/renderer/src/icons/svg/addBIM.svg b/src/renderer/src/icons/svg/addBIM.svg new file mode 100644 index 0000000..62b3e45 --- /dev/null +++ b/src/renderer/src/icons/svg/addBIM.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/addDevice.svg b/src/renderer/src/icons/svg/addDevice.svg new file mode 100644 index 0000000..1315a56 --- /dev/null +++ b/src/renderer/src/icons/svg/addDevice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/addDirectory.svg b/src/renderer/src/icons/svg/addDirectory.svg new file mode 100644 index 0000000..89d5957 --- /dev/null +++ b/src/renderer/src/icons/svg/addDirectory.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/addEventTs.svg b/src/renderer/src/icons/svg/addEventTs.svg new file mode 100644 index 0000000..5b8bcb0 --- /dev/null +++ b/src/renderer/src/icons/svg/addEventTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/addResource.svg b/src/renderer/src/icons/svg/addResource.svg new file mode 100644 index 0000000..b68f1e2 --- /dev/null +++ b/src/renderer/src/icons/svg/addResource.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/addTrajectory.svg b/src/renderer/src/icons/svg/addTrajectory.svg new file mode 100644 index 0000000..21d9dba --- /dev/null +++ b/src/renderer/src/icons/svg/addTrajectory.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/analysis.svg b/src/renderer/src/icons/svg/analysis.svg new file mode 100644 index 0000000..d34b0d0 --- /dev/null +++ b/src/renderer/src/icons/svg/analysis.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/annotation.svg b/src/renderer/src/icons/svg/annotation.svg new file mode 100644 index 0000000..6fe6dc0 --- /dev/null +++ b/src/renderer/src/icons/svg/annotation.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/annotationAggregation.svg b/src/renderer/src/icons/svg/annotationAggregation.svg new file mode 100644 index 0000000..e7c3052 --- /dev/null +++ b/src/renderer/src/icons/svg/annotationAggregation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/areaMeasure.svg b/src/renderer/src/icons/svg/areaMeasure.svg new file mode 100644 index 0000000..fb7f91f --- /dev/null +++ b/src/renderer/src/icons/svg/areaMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/areaScreen.svg b/src/renderer/src/icons/svg/areaScreen.svg new file mode 100644 index 0000000..65c9cd6 --- /dev/null +++ b/src/renderer/src/icons/svg/areaScreen.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/arrow.svg b/src/renderer/src/icons/svg/arrow.svg new file mode 100644 index 0000000..a1841f5 --- /dev/null +++ b/src/renderer/src/icons/svg/arrow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/arrow1.svg b/src/renderer/src/icons/svg/arrow1.svg new file mode 100644 index 0000000..7dbef7c --- /dev/null +++ b/src/renderer/src/icons/svg/arrow1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/arrow2.svg b/src/renderer/src/icons/svg/arrow2.svg new file mode 100644 index 0000000..2ab00d3 --- /dev/null +++ b/src/renderer/src/icons/svg/arrow2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/attackArrow.svg b/src/renderer/src/icons/svg/attackArrow.svg new file mode 100644 index 0000000..267f5a0 --- /dev/null +++ b/src/renderer/src/icons/svg/attackArrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/backTs.svg b/src/renderer/src/icons/svg/backTs.svg new file mode 100644 index 0000000..7f8bb12 --- /dev/null +++ b/src/renderer/src/icons/svg/backTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/beidou.svg b/src/renderer/src/icons/svg/beidou.svg new file mode 100644 index 0000000..fd34840 --- /dev/null +++ b/src/renderer/src/icons/svg/beidou.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/circle.svg b/src/renderer/src/icons/svg/circle.svg new file mode 100644 index 0000000..17a23d6 --- /dev/null +++ b/src/renderer/src/icons/svg/circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/circleKen.svg b/src/renderer/src/icons/svg/circleKen.svg new file mode 100644 index 0000000..4f247d8 --- /dev/null +++ b/src/renderer/src/icons/svg/circleKen.svg @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/circleStatistics.svg b/src/renderer/src/icons/svg/circleStatistics.svg new file mode 100644 index 0000000..8aa29d7 --- /dev/null +++ b/src/renderer/src/icons/svg/circleStatistics.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/clear.svg b/src/renderer/src/icons/svg/clear.svg new file mode 100644 index 0000000..33a6d87 --- /dev/null +++ b/src/renderer/src/icons/svg/clear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/clearAnalysis.svg b/src/renderer/src/icons/svg/clearAnalysis.svg new file mode 100644 index 0000000..33a6d87 --- /dev/null +++ b/src/renderer/src/icons/svg/clearAnalysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/clearGraffiti.svg b/src/renderer/src/icons/svg/clearGraffiti.svg new file mode 100644 index 0000000..31d36b8 --- /dev/null +++ b/src/renderer/src/icons/svg/clearGraffiti.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/clearQuery.svg b/src/renderer/src/icons/svg/clearQuery.svg new file mode 100644 index 0000000..af5eda6 --- /dev/null +++ b/src/renderer/src/icons/svg/clearQuery.svg @@ -0,0 +1,19 @@ + + + + + + + diff --git a/src/renderer/src/icons/svg/clearRoute.svg b/src/renderer/src/icons/svg/clearRoute.svg new file mode 100644 index 0000000..bdd45db --- /dev/null +++ b/src/renderer/src/icons/svg/clearRoute.svg @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/clearTilesetClipping.svg b/src/renderer/src/icons/svg/clearTilesetClipping.svg new file mode 100644 index 0000000..f15341b --- /dev/null +++ b/src/renderer/src/icons/svg/clearTilesetClipping.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/close.svg b/src/renderer/src/icons/svg/close.svg new file mode 100644 index 0000000..d2316ca --- /dev/null +++ b/src/renderer/src/icons/svg/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/closeLeftTs.svg b/src/renderer/src/icons/svg/closeLeftTs.svg new file mode 100644 index 0000000..11f96c9 --- /dev/null +++ b/src/renderer/src/icons/svg/closeLeftTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/closeRightTs.svg b/src/renderer/src/icons/svg/closeRightTs.svg new file mode 100644 index 0000000..b0747b2 --- /dev/null +++ b/src/renderer/src/icons/svg/closeRightTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/clt.svg b/src/renderer/src/icons/svg/clt.svg new file mode 100644 index 0000000..0cd27df --- /dev/null +++ b/src/renderer/src/icons/svg/clt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/contour.svg b/src/renderer/src/icons/svg/contour.svg new file mode 100644 index 0000000..32ea370 --- /dev/null +++ b/src/renderer/src/icons/svg/contour.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/coorLocation.svg b/src/renderer/src/icons/svg/coorLocation.svg new file mode 100644 index 0000000..6a34036 --- /dev/null +++ b/src/renderer/src/icons/svg/coorLocation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/coorMeasure.svg b/src/renderer/src/icons/svg/coorMeasure.svg new file mode 100644 index 0000000..7fed0c1 --- /dev/null +++ b/src/renderer/src/icons/svg/coorMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/copy.svg b/src/renderer/src/icons/svg/copy.svg new file mode 100644 index 0000000..e18d86c --- /dev/null +++ b/src/renderer/src/icons/svg/copy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/creat.svg b/src/renderer/src/icons/svg/creat.svg new file mode 100644 index 0000000..c81c44f --- /dev/null +++ b/src/renderer/src/icons/svg/creat.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/crossPoint.svg b/src/renderer/src/icons/svg/crossPoint.svg new file mode 100644 index 0000000..faed398 --- /dev/null +++ b/src/renderer/src/icons/svg/crossPoint.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/curve.svg b/src/renderer/src/icons/svg/curve.svg new file mode 100644 index 0000000..f315ec0 --- /dev/null +++ b/src/renderer/src/icons/svg/curve.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/cutFill.svg b/src/renderer/src/icons/svg/cutFill.svg new file mode 100644 index 0000000..5fb2529 --- /dev/null +++ b/src/renderer/src/icons/svg/cutFill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/del.svg b/src/renderer/src/icons/svg/del.svg new file mode 100644 index 0000000..969722f --- /dev/null +++ b/src/renderer/src/icons/svg/del.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/delModel.svg b/src/renderer/src/icons/svg/delModel.svg new file mode 100644 index 0000000..815394b --- /dev/null +++ b/src/renderer/src/icons/svg/delModel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/des_detail.svg b/src/renderer/src/icons/svg/des_detail.svg new file mode 100644 index 0000000..545eb8b --- /dev/null +++ b/src/renderer/src/icons/svg/des_detail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/diffuseScan.svg b/src/renderer/src/icons/svg/diffuseScan.svg new file mode 100644 index 0000000..c4904c8 --- /dev/null +++ b/src/renderer/src/icons/svg/diffuseScan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/dimension.svg b/src/renderer/src/icons/svg/dimension.svg new file mode 100644 index 0000000..e8247e7 --- /dev/null +++ b/src/renderer/src/icons/svg/dimension.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/distanceMeasure.svg b/src/renderer/src/icons/svg/distanceMeasure.svg new file mode 100644 index 0000000..33d7ce1 --- /dev/null +++ b/src/renderer/src/icons/svg/distanceMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/download.svg b/src/renderer/src/icons/svg/download.svg new file mode 100644 index 0000000..bf49251 --- /dev/null +++ b/src/renderer/src/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/edit.svg b/src/renderer/src/icons/svg/edit.svg new file mode 100644 index 0000000..69d48f2 --- /dev/null +++ b/src/renderer/src/icons/svg/edit.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/ellipse.svg b/src/renderer/src/icons/svg/ellipse.svg new file mode 100644 index 0000000..5d40ee4 --- /dev/null +++ b/src/renderer/src/icons/svg/ellipse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/entityWall.svg b/src/renderer/src/icons/svg/entityWall.svg new file mode 100644 index 0000000..8ec2541 --- /dev/null +++ b/src/renderer/src/icons/svg/entityWall.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/ersan_ts.svg b/src/renderer/src/icons/svg/ersan_ts.svg new file mode 100644 index 0000000..16d4de2 --- /dev/null +++ b/src/renderer/src/icons/svg/ersan_ts.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/exitTs.svg b/src/renderer/src/icons/svg/exitTs.svg new file mode 100644 index 0000000..1322abf --- /dev/null +++ b/src/renderer/src/icons/svg/exitTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/explosion.svg b/src/renderer/src/icons/svg/explosion.svg new file mode 100644 index 0000000..92563f2 --- /dev/null +++ b/src/renderer/src/icons/svg/explosion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/export.svg b/src/renderer/src/icons/svg/export.svg new file mode 100644 index 0000000..010445b --- /dev/null +++ b/src/renderer/src/icons/svg/export.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/fire.svg b/src/renderer/src/icons/svg/fire.svg new file mode 100644 index 0000000..8158072 --- /dev/null +++ b/src/renderer/src/icons/svg/fire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/fk.svg b/src/renderer/src/icons/svg/fk.svg new file mode 100644 index 0000000..35e3bd0 --- /dev/null +++ b/src/renderer/src/icons/svg/fk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/floodSimulation.svg b/src/renderer/src/icons/svg/floodSimulation.svg new file mode 100644 index 0000000..7df3f79 --- /dev/null +++ b/src/renderer/src/icons/svg/floodSimulation.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/flyLine.svg b/src/renderer/src/icons/svg/flyLine.svg new file mode 100644 index 0000000..166801a --- /dev/null +++ b/src/renderer/src/icons/svg/flyLine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/fog.svg b/src/renderer/src/icons/svg/fog.svg new file mode 100644 index 0000000..eeffdfe --- /dev/null +++ b/src/renderer/src/icons/svg/fog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/fountain.svg b/src/renderer/src/icons/svg/fountain.svg new file mode 100644 index 0000000..5402ba9 --- /dev/null +++ b/src/renderer/src/icons/svg/fountain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/full_screen.svg b/src/renderer/src/icons/svg/full_screen.svg new file mode 100644 index 0000000..746a2ec --- /dev/null +++ b/src/renderer/src/icons/svg/full_screen.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/full_screen_exit.svg b/src/renderer/src/icons/svg/full_screen_exit.svg new file mode 100644 index 0000000..6bc746d --- /dev/null +++ b/src/renderer/src/icons/svg/full_screen_exit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/gdbImport.svg b/src/renderer/src/icons/svg/gdbImport.svg new file mode 100644 index 0000000..ea9c419 --- /dev/null +++ b/src/renderer/src/icons/svg/gdbImport.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/geojson.svg b/src/renderer/src/icons/svg/geojson.svg new file mode 100644 index 0000000..6e51849 --- /dev/null +++ b/src/renderer/src/icons/svg/geojson.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/globalContour.svg b/src/renderer/src/icons/svg/globalContour.svg new file mode 100644 index 0000000..bea5eaa --- /dev/null +++ b/src/renderer/src/icons/svg/globalContour.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/graffiti.svg b/src/renderer/src/icons/svg/graffiti.svg new file mode 100644 index 0000000..c6d5b02 --- /dev/null +++ b/src/renderer/src/icons/svg/graffiti.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/groundText.svg b/src/renderer/src/icons/svg/groundText.svg new file mode 100644 index 0000000..6a003be --- /dev/null +++ b/src/renderer/src/icons/svg/groundText.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/heightMeasure.svg b/src/renderer/src/icons/svg/heightMeasure.svg new file mode 100644 index 0000000..f2b8558 --- /dev/null +++ b/src/renderer/src/icons/svg/heightMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/hh.svg b/src/renderer/src/icons/svg/hh.svg new file mode 100644 index 0000000..fbea00f --- /dev/null +++ b/src/renderer/src/icons/svg/hh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/highQuality.svg b/src/renderer/src/icons/svg/highQuality.svg new file mode 100644 index 0000000..43123b7 --- /dev/null +++ b/src/renderer/src/icons/svg/highQuality.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/renderer/src/icons/svg/icon-compass1.svg b/src/renderer/src/icons/svg/icon-compass1.svg new file mode 100644 index 0000000..3352557 --- /dev/null +++ b/src/renderer/src/icons/svg/icon-compass1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/icon-compass2.svg b/src/renderer/src/icons/svg/icon-compass2.svg new file mode 100644 index 0000000..db6c964 --- /dev/null +++ b/src/renderer/src/icons/svg/icon-compass2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/icon-compass3.svg b/src/renderer/src/icons/svg/icon-compass3.svg new file mode 100644 index 0000000..988d759 --- /dev/null +++ b/src/renderer/src/icons/svg/icon-compass3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/icon-compass4.svg b/src/renderer/src/icons/svg/icon-compass4.svg new file mode 100644 index 0000000..85bcd72 --- /dev/null +++ b/src/renderer/src/icons/svg/icon-compass4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/importHeader.svg b/src/renderer/src/icons/svg/importHeader.svg new file mode 100644 index 0000000..7c38135 --- /dev/null +++ b/src/renderer/src/icons/svg/importHeader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/importHeader1.svg b/src/renderer/src/icons/svg/importHeader1.svg new file mode 100644 index 0000000..9786685 --- /dev/null +++ b/src/renderer/src/icons/svg/importHeader1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/importImg.svg b/src/renderer/src/icons/svg/importImg.svg new file mode 100644 index 0000000..cbcb4e2 --- /dev/null +++ b/src/renderer/src/icons/svg/importImg.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/importModel.svg b/src/renderer/src/icons/svg/importModel.svg new file mode 100644 index 0000000..9b6a58e --- /dev/null +++ b/src/renderer/src/icons/svg/importModel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/importPanorama.svg b/src/renderer/src/icons/svg/importPanorama.svg new file mode 100644 index 0000000..a4b5898 --- /dev/null +++ b/src/renderer/src/icons/svg/importPanorama.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/index.js b/src/renderer/src/icons/svg/index.js new file mode 100644 index 0000000..e197e7d --- /dev/null +++ b/src/renderer/src/icons/svg/index.js @@ -0,0 +1,1449 @@ +import Dialog from '../../Obj/Element/Dialog'; +import Tools from '../../Tools'; +import { legp } from '../../Obj/Element/datalist' +import { getTemplateData } from './dataSource.js' + +let tools = new Tools(); + + +async function MapPrint(sdk, thumbnailImg, rectangle, originalImg) { + let exporting = false; + let templateData = getTemplateData(tools) + let _DialogObject + let template = '1' + let unitDistance + let isLoad = true + let borderImage + let margin = 0 + let svgText + let title = { + text: '标题', + height: 40, + bgColor: '#5d5d5d', + color: '#ffffff', + show: true, + } + + let border = { + show: true, + url: tools.getSourceRootPath() + '/custom/img/map-border1.svg', + width: 20, + } + + let data = [ + { + text: '', + x: 10, + y: 100, + height: 24, + fontSize: 24, + isSelected: false, + show: true, + color: '#ffffff', + }, + { + text: '-', + x: 10, + y: 100, + height: 24, + fontSize: 24, + isSelected: false, + show: true, + color: '#ffffff', + }, + { + x: 10, + y: 100, + width: 100, + height: 100, + show: false, + isSelected: false, + url: tools.getSourceRootPath() + '/custom/img/icon-compass1.svg' + } + ] + + // 比例尺 + let plottingScale = { + cell: 2, + color: '#ffffff', + show: true, + isSelected: false, + x: 10, + y: 100, + width: 100, + } + + let compassList = [ + '/custom/img/icon-compass1.svg', + '/custom/img/icon-compass2.svg', + '/custom/img/icon-compass3.svg', + '/custom/img/icon-compass4.svg' + ] + + if (_DialogObject) { + _DialogObject.close() + _DialogObject = null + } + _DialogObject = await new Dialog(sdk, {}, { + title: '地图打印', left: '5%', top: '10%', ismove: false + }) + _DialogObject._element.body.className = _DialogObject._element.body.className + ' map-print' + let contentElm = document.createElement('div'); + contentElm.innerHTML = ` + + + 图件信息 + + + 模板 + + + + + + 标题 + + + + + + + 制图日期 + + + + + + + 制图单位 + + + + + + + 图框 + + + + + + + + 地图要素 + + + 指北针 + + + + ${(() => { + let str = ''; + for (let i = 0; i < compassList.length; i++) { + const compass = tools.getSourceRootPath() + compassList[i]; + str += ` + + + ` + } + return str + })()} + + + + + + + 比例尺 + + + + + + + + + + + `; + _DialogObject.contentAppChild(contentElm) + let leftElm = contentElm.getElementsByClassName('left')[0] + let rightElm = contentElm.getElementsByClassName('right')[0] + // let mapImgBoxElm = rightElm.getElementsByClassName('map-img-box')[0] + let titleInputElm = leftElm.getElementsByClassName('title-input')[0] + let titleCheckboxElm = leftElm.getElementsByClassName('title-checkbox')[0] + let unitInputElm = leftElm.getElementsByClassName('unit-input')[0] + let unitCheckboxElm = leftElm.getElementsByClassName('unit-checkbox')[0] + let compassCheckboxElm = leftElm.getElementsByClassName('compass-checkbox')[0] + let compassRadiosElm = leftElm.getElementsByClassName('compass-radio') + let plottingScaleCheckboxElm = leftElm.getElementsByClassName('plotting-scale-checkbox')[0] + let mapBorderCheckboxElm = leftElm.getElementsByClassName('map-border-checkbox')[0] + + + let canvas = document.createElement('canvas'); + let ctx = canvas.getContext('2d'); + rightElm.appendChild(canvas) + let imgElm = new Image(); + imgElm.src = thumbnailImg + + imgElm.onload = function () { + isLoad = false + getPlottingScale() + changeTemplate(template) + } + + + + // 标题 + titleInputElm.value = title.text; + titleCheckboxElm.checked = title.show; + titleInputElm.addEventListener('input', function () { + title.text = this.value; + if (imgElm.complete) { + updateCanvas() + } + }); + titleCheckboxElm.addEventListener('change', function () { + title.show = this.checked; + if (imgElm.complete) { + updateCanvas() + } + }); + + // 制图单位 + unitInputElm.value = data[1].text; + unitCheckboxElm.checked = data[1].show; + unitInputElm.addEventListener('input', function () { + data[1].text = this.value; + if (imgElm && imgElm.complete) { + updateCanvas() + } + }); + unitCheckboxElm.addEventListener('change', function () { + data[1].show = this.checked; + if (imgElm && imgElm.complete) { + updateCanvas() + } + }) + + // 指北针 + compassCheckboxElm.checked = data[2].show; + compassCheckboxElm.addEventListener('change', function () { + data[2].show = this.checked; + if (imgElm && imgElm.complete) { + updateCanvas() + } + }) + for (let i = 0; i < compassRadiosElm.length; i++) { + compassRadiosElm[i].addEventListener('change', function () { + if (this.checked) { + data[2].svg = null + data[2].url = compassList[i] + if (imgElm && imgElm.complete) { + updateCanvas() + } + } + }) + } + + // 比例尺 + plottingScaleCheckboxElm.checked = plottingScale.show; + plottingScaleCheckboxElm.addEventListener('change', function () { + plottingScale.show = this.checked; + if (imgElm && imgElm.complete) { + updateCanvas() + } + }) + + // 图框 + mapBorderCheckboxElm.checked = border.show; + mapBorderCheckboxElm.addEventListener('change', function () { + border.show = this.checked; + if (borderImage && borderImage.complete) { + updateCanvas() + } + }) + let borderColorPicker = new YJColorPicker({ + el: contentElm.getElementsByClassName('border-color')[0], + size: 'mini', //颜色box类型 + alpha: false, //是否开启透明度 + defaultColor: border.color, + disabled: false, //是否禁止打开颜色选择器 + openPickerAni: 'opacity', //打开颜色选择器动画 + sure: color => { + changeMapBorderColor(color) + }, //点击确认按钮事件回调 + clear: () => { + changeMapBorderColor('rgba(0,0,0,1)') + } //点击清空按钮事件回调 + }) + + + + let jeDateObject + + + let printDateCheckboxElm + let mapBorderDataLegpElm + let mapBorderObject + let iActiveElm + + let closeBtn + let exportBtn + + setTimeout(() => { + closeBtn = _DialogObject._element.foot.getElementsByClassName('close')[0] + exportBtn = document.createElement('button') + exportBtn.className = 'export'; + exportBtn.innerHTML = '打印'; + leftElm.appendChild(closeBtn) + leftElm.appendChild(exportBtn) + exportBtn.addEventListener('click', function () { + if (exporting) { + return + } + exporting = true + exportBtn.innerHTML = '打印' + exportMap() + // exporting = true + // exportBtn.innerHTML = '打印' + // let imgBlobData = canvas.toDataURL(); + // let downloadElement = document.createElement('a'); + // downloadElement.href = imgBlobData; + // downloadElement.download = `高清出图-${getDateTimeString()}.png`; + // document.body.appendChild(downloadElement); + // downloadElement.click(); + // document.body.removeChild(downloadElement); + // URL.revokeObjectURL(imgBlobData); + }) + + + // 时间 + let printDateElm = contentElm.getElementsByClassName('print-date')[0] + printDateCheckboxElm = contentElm.getElementsByClassName('print-date-checkbox')[0] + + printDateCheckboxElm.checked = data[0].show; + printDateCheckboxElm.addEventListener('change', function () { + data[0].show = this.checked; + if (imgElm.complete) { + updateCanvas() + } + }) + jeDateObject = jeDate(printDateElm, { + format: "YYYY-MM-DD", + isinitVal: true, + isClear: false, + donefun: function (obj) { + data[0].text = obj.val; + if (imgElm.complete) { + updateCanvas() + } + } + }); + if (data[0].text) { + jeDateObject.setValue(data[0].text) + } + else { + jeDateObject.nowBtn && jeDateObject.nowBtn() + data[0].text = jeDateObject.getValue() + updateCanvas() + } + + + // 模板 + // let templateData = templateData + let templateObject = legp( + _DialogObject._element.content.getElementsByClassName( + 'template-box' + )[0], + '.template' + ) + if (templateObject) { + templateObject.legp_search(templateData) + let templateDataLegpElm = _DialogObject._element.content + .getElementsByClassName('template')[0] + .getElementsByTagName('input')[0] + for (let i = 0; i < templateData.length; i++) { + if (templateData[i].id == template) { + templateDataLegpElm.value = templateData[i].value + templateObject.legp_searchActive( + templateData[i].value + ) + break + } + } + templateDataLegpElm.addEventListener('input', () => { + for (let i = 0; i < templateData.length; i++) { + if (templateData[i].value === templateDataLegpElm.value) { + changeTemplate(templateData[i].id) + break + } + } + }) + } + + // 图框 + let mapBorderData = [ + { + name: ``, + value: '/custom/img/map-border1.svg', + key: 0, + }, + { + name: ``, + value: '/custom/img/map-border2.svg', + key: 1, + }, + { + name: ``, + value: '/custom/img/map-border3.svg', + key: 2, + }, + { + name: ``, + value: '/custom/img/map-border4.svg', + key: 3, + }, + { + name: ``, + value: '/custom/img/map-border5.svg', + key: 4, + }, + { + name: ``, + value: '/custom/img/map-border6.svg', + key: 5, + }, + ] + mapBorderObject = legp( + _DialogObject._element.content.getElementsByClassName( + 'map-border-box' + )[0], + '.map-border' + ) + if (mapBorderObject) { + mapBorderObject.legp_search(mapBorderData) + iActiveElm = document.createElement('span') + iActiveElm.className = "icon icon-active" + iActiveElm.style.width = 'calc(100% - 40px)' + iActiveElm.style.height = 'calc(100% - 12px)' + iActiveElm.style.position = 'absolute' + iActiveElm.style.top = '6px' + iActiveElm.style.left = '10px' + iActiveElm.style.pointerEvents = 'none' + iActiveElm.style.backgroundImage = `url(${tools.getSourceRootPath() + border.url})` + iActiveElm.style.backgroundSize = 'auto 100%' + iActiveElm.style.backgroundRepeat = 'repeat-x' + _DialogObject._element.content + .getElementsByClassName('map-border')[0].getElementsByClassName('cy_datalist')[0].appendChild(iActiveElm) + mapBorderDataLegpElm = _DialogObject._element.content + .getElementsByClassName('map-border')[0] + .getElementsByTagName('input')[0] + mapBorderDataLegpElm.style.fontSize = 0 + mapBorderDataLegpElm.style.color = 'transparent' + for (let i = 0; i < mapBorderData.length; i++) { + if (mapBorderData[i].value == border.url) { + mapBorderDataLegpElm.value = mapBorderData[i].value + mapBorderObject.legp_searchActive( + mapBorderData[i].value + ) + break + } + } + mapBorderDataLegpElm.addEventListener('input', () => { + for (let i = 0; i < mapBorderData.length; i++) { + if (mapBorderData[i].value === mapBorderDataLegpElm.value) { + iActiveElm.style.backgroundImage = `url(${tools.getSourceRootPath() + mapBorderData[i].value})` + changeMapBorder(mapBorderData[i].value) + break + } + } + }) + } + }, 0); + + function initData() { + if (isLoad) { + return + } + margin = margin * imgElm.width + triggerRange = imgElm.height / 140; + + titleInputElm.value = title.text; + titleCheckboxElm.checked = title.show; + unitInputElm.value = data[1].text; + unitCheckboxElm.checked = data[1].show; + compassCheckboxElm.checked = data[2].show; + for (let i = 0; i < compassList.length; i++) { + if (compassList[i] === data[2].url) { + compassRadiosElm[i].checked = true + } + } + plottingScaleCheckboxElm.checked = plottingScale.show; + + border.width = imgElm.width * border.width + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + + canvas.width = imgElm.width + (allmargin * 2) + canvas.height = imgElm.height + (allmargin * 2) + + printDateCheckboxElm && (printDateCheckboxElm.checked = data[0].show); + if (jeDateObject) { + if (data[0].text) { + jeDateObject.setValue(data[0].text) + } + else { + jeDateObject.nowBtn && jeDateObject.nowBtn() + data[0].text = jeDateObject.getValue() + } + } + + // plottingScale.x = imgElm.width * plottingScale.x; + // plottingScale.y = imgElm.height * plottingScale.y; + + + if (mapBorderObject && mapBorderDataLegpElm && iActiveElm) { + mapBorderDataLegpElm.value = border.url; + mapBorderObject.legp_searchActive( + border.url + ) + iActiveElm.style.backgroundImage = `url(${tools.getSourceRootPath() + border.url})` + } + mapBorderCheckboxElm.checked = border.show; + borderImage = null + if (border && border.url) { + changeMapBorder(border.url) + } + } + + function changeTemplate(v) { + template = v + templateData = getTemplateData(tools) + for (let i = 0; i < templateData.length; i++) { + if (templateData[i].id === template) { + title = templateData[i].title || title + margin = ((!templateData[i].margin && templateData[i].margin != 0) ? margin : templateData[i].margin) + data = templateData[i].data || data + border = templateData[i].border || border + border.color = border.color || '#000000' + plottingScale = templateData[i].plottingScale || plottingScale + break + } + } + initData() + updateCanvas() + } + + function changeMapBorder(v) { + border.url = v + if (!border.url) { + return + } + borderImage = new Image(); + borderImage.setAttribute('crossOrigin', 'anonymous'); + if (border.url.endsWith('svg')) { + fetch(tools.getSourceRootPath() + border.url).then(async (response) => { + if (response.ok) { + svgText = await response.text(); + changeMapBorderColor(border.color) + } + }) + } + else { + borderImage.src = tools.getSourceRootPath() + border.url; + borderImage.onload = () => { + if (border.show) { + updateCanvas(); + } + } + } + } + + function changeMapBorderColor(color) { + border.color = color || '#000000' + new YJColorPicker({ + el: contentElm.getElementsByClassName('border-color')[0], + size: 'mini', //颜色box类型 + alpha: false, //是否开启透明度 + defaultColor: border.color, + disabled: false, //是否禁止打开颜色选择器 + openPickerAni: 'opacity', //打开颜色选择器动画 + sure: color => { + changeMapBorderColor(color) + }, //点击确认按钮事件回调 + clear: () => { + changeMapBorderColor('rgba(0,0,0,1)') + } //点击清空按钮事件回调 + }) + let currentSvg + let svgDataUrl + if (color) { + const colorRegex = /fill="[^"]+"/g; + currentSvg = svgText.replace(colorRegex, `fill="${color}"`); + } + else { + currentSvg = svgText + } + svgDataUrl = 'data:image/svg+xml;base64,' + + btoa(Array.from(new TextEncoder().encode(currentSvg), + (byte) => String.fromCharCode(byte)).join('')); + borderImage = new Image(); + borderImage.setAttribute('crossOrigin', 'anonymous'); + borderImage.src = svgDataUrl; + borderImage.onload = () => { + if (border.show) { + updateCanvas(); + } + } + } + + + + let isDragging = false; + let triggerRange = 5; + let selectedElement = null; + let isDraggingElement = false; + let isResizingElement = false; + let resizeCorner = null; + let startX, startY, startY2, startX2; + let elementOffsetX, elementOffsetY; + let elementWidth, elementHeight; + let currentFontSize; // 记录当前字体大小 + + function getCanvasMouseY(e) { + const rect = canvas.getBoundingClientRect(); + const containerWidth = rect.width; + const containerHeight = rect.height; + const canvasWidth = canvas.width; + const canvasHeight = canvas.height; + + let scale; + if (canvasWidth / canvasHeight > containerWidth / containerHeight) { + scale = containerWidth / canvasWidth; + } else { + scale = containerHeight / canvasHeight; + } + + const scaledWidth = canvasWidth * scale; + const scaledHeight = canvasHeight * scale; + const offsetX = (containerWidth - scaledWidth) / 2; + const offsetY = (containerHeight - scaledHeight) / 2; + + const clientY = e.clientY - rect.top - offsetY; + return clientY / scale; + } + + function getCanvasMouseX(e) { + const rect = canvas.getBoundingClientRect(); + const containerWidth = rect.width; + const containerHeight = rect.height; + const canvasWidth = canvas.width; + const canvasHeight = canvas.height; + + let scale; + if (canvasWidth / canvasHeight > containerWidth / containerHeight) { + scale = containerWidth / canvasWidth; + } else { + scale = containerHeight / canvasHeight; + } + + const scaledWidth = canvasWidth * scale; + const scaledHeight = canvasHeight * scale; + const offsetX = (containerWidth - scaledWidth) / 2; + const offsetY = (containerHeight - scaledHeight) / 2; + + const clientX = e.clientX - rect.left - offsetX; + return clientX / scale; + } + + function getCorners(element, allmargin) { + let elementX = element.x * imgElm.width + allmargin; + let elementY = element.y * imgElm.height + allmargin; + let elementWidth = element.width * imgElm.height; + let elementHeight = element.height * imgElm.height; + if ('text' in element) { + return [ + { x: elementX, y: elementY - elementHeight }, + { x: elementX + elementWidth, y: elementY - elementHeight }, + { x: elementX, y: elementY }, + { x: elementX + elementWidth, y: elementY } + ]; + } else if ('url' in element) { + return [ + { x: elementX, y: elementY }, + { x: elementX + elementWidth, y: elementY }, + { x: elementX, y: elementY + elementHeight }, + { x: elementX + elementWidth, y: elementY + elementHeight } + ]; + } else { + // 比例尺 + return [ + { x: elementX, y: elementY }, + { x: elementX + elementWidth, y: elementY }, + { x: elementX, y: elementY + elementHeight }, + { x: elementX + elementWidth, y: elementY + elementHeight } + ] + } + } + + function updateCanvas() { + if (isLoad) { + return + } + + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + + canvas.width = imgElm.width + (allmargin * 2) + canvas.height = imgElm.height + (allmargin * 2) + ctx.clearRect(0, 0, canvas.width, canvas.height); + ctx.rect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = "#ffffff"; + ctx.fill(); + ctx.drawImage(imgElm, allmargin, allmargin, imgElm.width, imgElm.height); + + // 标题内容 + if (title.show) { + const text = title.text; + const fontSize = Math.max(5, (title.height * imgElm.height) * 0.5); + ctx.font = `${fontSize}px serif`; + // const textWidth = ctx.measureText(text).width; + ctx.fillStyle = title.bgColor || '#5d5d5d'; + + ctx.fillRect(allmargin, allmargin, canvas.width - (allmargin * 2), (title.height * imgElm.height)); + + ctx.fillStyle = title.color || 'white'; + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + ctx.fillText(text, canvas.width / 2, ((title.height * imgElm.height) / 2) + allmargin); + } + + // 其他内容 + for (let i = 0; i < data.length; i++) { + if (data[i].show) { + if ('text' in data[i]) { + ctx.font = `${imgElm.height * data[i].height}px serif`; + ctx.fillStyle = data[i].color || 'white'; + ctx.textAlign = 'left'; + ctx.textBaseline = 'bottom'; + data[i].width = ctx.measureText(data[i].text).width / imgElm.height; + ctx.fillText(data[i].text, (imgElm.width * data[i].x) + allmargin, (imgElm.height * data[i].y) + allmargin); + if (data[i].isSelected) { + drawSelectionBorder(data[i]); + } + } + else if ('url' in data[i]) { + if (data[i].svg && data[i].svg.complete) { + ctx.drawImage(data[i].svg, (imgElm.width * data[i].x) + allmargin, (imgElm.height * data[i].y) + allmargin, imgElm.height * data[i].width, imgElm.height * data[i].height); + if (data[i].isSelected) { + drawSelectionBorder(data[i]); + } + } + else { + const svg = new Image(); + svg.src = tools.getSourceRootPath() + data[i].url; + svg.onload = function () { + data[i].svg = svg + ctx.drawImage(svg, (imgElm.width * data[i].x) + allmargin, (imgElm.height * data[i].y) + allmargin, imgElm.height * data[i].width, imgElm.height * data[i].height); + if (data[i].isSelected) { + drawSelectionBorder(data[i]); + } + } + } + } + } + } + + // 比例尺 + if (plottingScale.show) { + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + let plottingScaleX = imgElm.width * plottingScale.x + allmargin + let plottingScaleY = imgElm.height * plottingScale.y + allmargin + let unit = 'm' + // const fontSize = plottingScale.width * 0.12; + const fontSize = imgElm.width * 0.08 * 0.12; + let spacing = imgElm.width * 0.08 / plottingScale.cell; + let spacingDistance = Math.round(unitDistance * spacing); + let spacingDistanceString = spacingDistance + '' + if (spacingDistance < 10) { + } + else { + spacingDistance = Number(spacingDistanceString[0]) + for (let i = 0; i < spacingDistanceString.length - 1; i++) { + spacingDistance = spacingDistance * 10 + } + spacing = spacingDistance / unitDistance + } + plottingScale.width = spacing * plottingScale.cell; + plottingScale.height = plottingScale.width * 0.2; + if (spacingDistance >= 1000) { + unit = '㎞' + spacingDistance = Math.round(spacingDistance / 1000); + } + const scaleY = plottingScaleY; + ctx.beginPath(); + ctx.moveTo(plottingScaleX, scaleY); + ctx.lineTo(plottingScaleX + plottingScale.width, scaleY); + ctx.strokeStyle = plottingScale.color; + ctx.lineWidth = plottingScale.width * 0.01; + ctx.stroke(); + + let tickX = 0 + for (let i = 0; i <= plottingScale.cell; i++) { + tickX = plottingScaleX + i * spacing; + ctx.beginPath(); + ctx.moveTo(tickX, scaleY - plottingScale.width * 0.1); + ctx.lineTo(tickX, scaleY); + ctx.strokeStyle = plottingScale.color; + ctx.lineWidth = plottingScale.width * 0.01; + ctx.stroke(); + + ctx.font = `${fontSize}px Arial`; + ctx.fillStyle = plottingScale.color; + ctx.textAlign = 'center'; + ctx.textBaseline = 'bottom'; + ctx.fillText(i * spacingDistance, tickX, scaleY - plottingScale.width * 0.1); + } + + ctx.font = `${fontSize}px Arial`; + ctx.fillStyle = plottingScale.color; + ctx.textAlign = 'left'; + ctx.textBaseline = 'bottom'; + ctx.fillText(unit, tickX + (fontSize * 1.2), scaleY - plottingScale.width * 0.1); + + if (plottingScale.isSelected) { + drawSelectionBorder(plottingScale); + } + } + + // 边框 + if (border.show && borderImage && borderImage.complete) { + // 绘制四个角(裁剪成45度角) + drawBorder(ctx, borderImage, margin, margin, border.width, 'top', 1); + drawBorder(ctx, borderImage, canvas.width - border.width - margin, margin, border.width, 'right', 1); + drawBorder(ctx, borderImage, canvas.width - border.width - margin, canvas.height - border.width - margin, border.width, 'bottom', 1); + drawBorder(ctx, borderImage, margin, canvas.height - border.width - margin, border.width, 'left', 1); + } + } + + // 绘制边框 + function drawBorder(ctx, img, x, y, size, position, isStart = 1) { + ctx.save(); + ctx.translate(x + size / 2, y + size / 2); + + // 根据位置设置旋转角度 + switch (position) { + case 'right': + ctx.rotate(Math.PI / 2); + break; + case 'bottom': + ctx.rotate(Math.PI); + break; + case 'left': + ctx.rotate(3 * Math.PI / 2); + break; + } + // 创建45度角的裁剪路径 + ctx.beginPath(); + ctx.moveTo((-size * isStart) / 2, -size / 2); + if (position === 'top' || position === 'bottom') { + ctx.lineTo(canvas.width - (margin * 2) - (size / 2), -size / 2); + ctx.lineTo(canvas.width - (margin + size) * 2 + (size / 2), size / 2); + } + else { + ctx.lineTo(canvas.height - (margin * 2) - (size / 2), -size / 2); + ctx.lineTo(canvas.height - (margin + size) * 2 + (size / 2), size / 2); + } + ctx.lineTo((size * isStart) / 2, size / 2); + ctx.closePath(); + ctx.clip(); + + let imgWidth = img.width / img.height * size + + // 绘制图片 + ctx.drawImage(img, -size / 2, -size / 2, imgWidth, size); + + let count; + if (position === 'top' || position === 'bottom') { + count = Math.ceil((canvas.width - (margin * 2) - (border.width * 2)) / border.width); + } else { + count = Math.ceil((canvas.height - (margin * 2) - (border.width * 2)) / border.width); + } + count++ + + for (let i = 1; i <= count; i++) { + ctx.drawImage(img, -size / 2 + imgWidth * i, -size / 2, imgWidth, size); + } + + ctx.restore(); + } + + function drawSelectionBorder(element) { + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + const cornerRadius = canvas.height * 0.005; + ctx.strokeStyle = 'red'; + ctx.lineWidth = canvas.height * 0.002; + if ('text' in element) { + ctx.strokeRect((imgElm.width * element.x + allmargin), (imgElm.height * element.y + allmargin) - (imgElm.height * element.height), (imgElm.height * element.width), (imgElm.height * element.height)); + } else if ('url' in element) { + ctx.strokeRect((imgElm.width * element.x + allmargin), (imgElm.height * element.y + allmargin), (imgElm.height * element.width), (imgElm.height * element.height)); + } + else if (element === plottingScale) { + ctx.strokeRect((imgElm.width * element.x + allmargin) - (plottingScale.width * 0.2), (imgElm.height * element.y + allmargin) - element.height - (plottingScale.height * 0.5), element.width + (plottingScale.width * 0.6), element.height + (plottingScale.height)); + return + } + const corners = getCorners(element, allmargin); + ctx.fillStyle = 'red'; + corners.forEach(corner => { + ctx.beginPath(); + ctx.arc(corner.x, corner.y, cornerRadius, 0, 2 * Math.PI); + ctx.fill(); + }); + } + + canvas.addEventListener('mousedown', function (e) { + const x = getCanvasMouseX(e); + const y = getCanvasMouseY(e); + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + + if (title.show) { + // 检查是否点击了标题编辑触发区域 + if (y >= ((title.height * imgElm.height) + allmargin) - triggerRange && y <= ((title.height * imgElm.height) + allmargin) + triggerRange) { + isDragging = true; + + // 先将所有元素的选中状态置为 false + for (let i = 0; i < data.length; i++) { + data[i].isSelected = false; + } + selectedElement = null; + isDraggingElement = false; + isResizingElement = false; + resizeCorner = null; + return + } + } + + + // 检查是否点击了边框角上的小圆点 + if (selectedElement && selectedElement !== plottingScale) { + const cornerRadius = canvas.height * 0.005; + const corners = getCorners(selectedElement, allmargin); + corners.forEach((corner, index) => { + if (x >= corner.x - cornerRadius && x <= corner.x + cornerRadius && + y >= corner.y - cornerRadius && y <= corner.y + cornerRadius) { + isResizingElement = true; + isDraggingElement = false; + resizeCorner = index; + startX = x; + startY = y; + elementWidth = (selectedElement.width * imgElm.height); + elementHeight = (selectedElement.height * imgElm.height); + if ('text' in selectedElement) { + elementWidth = (selectedElement.width * imgElm.height); + currentFontSize = selectedElement.height; + } + } + }); + } + if (isResizingElement) { + return + } + + // 先将所有元素的选中状态置为 false + for (let i = 0; i < data.length; i++) { + data[i].isSelected = false; + } + plottingScale.isSelected = false; + selectedElement = null; + isDraggingElement = false; + isResizingElement = false; + resizeCorner = null; + + for (let i = data.length - 1; i >= 0; i--) { + if (data[i].show) { + if ('text' in data[i]) { + if (x >= (imgElm.width * data[i].x) + allmargin && x <= (imgElm.width * data[i].x) + allmargin + (imgElm.height * data[i].width) && + y >= (imgElm.height * data[i].y) + allmargin - (imgElm.height * data[i].height) && y <= (imgElm.height * data[i].y) + allmargin) { + selectedElement = data[i]; + data[i].isSelected = true; + isDraggingElement = true; + startX = x; + startY = y; + startY2 = (imgElm.height * data[i].y) - (imgElm.height * data[i].height) + startX2 = (imgElm.width * data[i].x) + (imgElm.height * data[i].width) + elementOffsetX = (imgElm.width * data[i].x) + allmargin; + elementOffsetY = (imgElm.height * data[i].y) + allmargin; + updateCanvas(); // 点击时重新绘制画布以显示边框 + break; + } + } + if ('url' in data[i]) { + if (data[i].svg && data[i].svg.complete && data[i].show) { + if (x >= (imgElm.width * data[i].x) + allmargin && x <= (imgElm.width * data[i].x) + allmargin + (imgElm.height * data[i].width) && + y >= (imgElm.height * data[i].y) + allmargin && y <= (imgElm.height * data[i].y) + allmargin + (imgElm.height * data[i].height)) { + selectedElement = data[i]; + data[i].isSelected = true; + isDraggingElement = true; + startX = x; + startY = y; + startY2 = (imgElm.height * data[i].y) + (imgElm.height * data[i].height) + startX2 = (imgElm.width * data[i].x) + (imgElm.height * data[i].width); + elementOffsetX = (imgElm.width * data[i].x) + allmargin; + elementOffsetY = (imgElm.height * data[i].y) + allmargin; + updateCanvas(); // 点击时重新绘制画布以显示边框 + break; + } + } + } + } + } + + if (plottingScale.show) { + if (x >= (imgElm.width * plottingScale.x + allmargin) - (plottingScale.width * 0.2) && x <= (imgElm.width * plottingScale.x + allmargin) - (plottingScale.width * 0.2) + plottingScale.width + (plottingScale.width * 0.6) && + y >= (imgElm.height * plottingScale.y + allmargin) - plottingScale.height - (plottingScale.height * 0.5) && y <= (imgElm.height * plottingScale.y + allmargin) - (plottingScale.height * 0.5) + (plottingScale.height)) { + selectedElement = plottingScale; + plottingScale.isSelected = true; + isDraggingElement = true; + startX = x; + startY = y; + startY2 = (imgElm.height * plottingScale.y + allmargin) + plottingScale.height; + startX2 = (imgElm.width * plottingScale.x + allmargin) + plottingScale.width; + elementOffsetX = (imgElm.width * plottingScale.x + allmargin); + elementOffsetY = imgElm.height * plottingScale.y + allmargin; + updateCanvas(); // 点击时重新绘制画布以显示边框 + } + } + + // 如果点击在内容以外,重新绘制画布以移除边框 + if (!selectedElement) { + updateCanvas(); + } + }); + + canvas.addEventListener('mousemove', function (e) { + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + const x = getCanvasMouseX(e); + const y = getCanvasMouseY(e); + if (x < 0 || y < 0 || x > canvas.width || y > canvas.height) { + return + } + + if (title.show) { + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + if (y >= ((title.height * imgElm.height) + allmargin) - triggerRange && y <= ((title.height * imgElm.height) + allmargin) + triggerRange) { + canvas.style.cursor = 'n-resize'; + } else { + canvas.style.cursor = 'default'; + } + + if (isDragging) { + title.height = Math.min(Math.max(y - allmargin, 30) / imgElm.height, 1); + updateCanvas(); + } + } + + + if (isDraggingElement) { + const dx = x - startX; + const dy = y - startY; + selectedElement.x = ((elementOffsetX + dx) - allmargin) / imgElm.width; + selectedElement.y = ((elementOffsetY + dy) - allmargin) / imgElm.height; + updateCanvas(); + } + + if (isResizingElement) { + const dx = x - startX; + const dy = y - startY; + let scaleFactor; + + switch (resizeCorner) { + case 0: // 左上角 + if ('text' in selectedElement) { + scaleFactor = (elementWidth - dx) / elementWidth; + selectedElement.height = Math.max((10 / imgElm.height), currentFontSize * scaleFactor) + selectedElement.x = (startX2 - (selectedElement.width * imgElm.height)) / imgElm.width; + } + else if ('url' in selectedElement) { + selectedElement.x = (startX2 - (selectedElement.width * imgElm.height)) / imgElm.width; + selectedElement.y = (startY2 - (selectedElement.height * imgElm.height)) / imgElm.height; + selectedElement.width = Math.max(10, elementWidth - dx) / imgElm.height; + selectedElement.height = Math.max(10, elementHeight - dy) / imgElm.height; + } + break; + case 1: // 右上角 + if ('text' in selectedElement) { + scaleFactor = (elementWidth + dx) / elementWidth; + selectedElement.height = Math.max((10 / imgElm.height), currentFontSize * scaleFactor); + } + else if ('url' in selectedElement) { + selectedElement.width = Math.max(10, elementWidth + dx) / imgElm.height; + selectedElement.height = Math.max(10, elementHeight - dy) / imgElm.height; + selectedElement.y = (startY2 - (selectedElement.height * imgElm.height)) / imgElm.height; + } + break; + case 2: // 左下角 + if ('text' in selectedElement) { + scaleFactor = (elementWidth - dx) / elementWidth; + selectedElement.height = Math.max((10 / imgElm.height), currentFontSize * scaleFactor); + selectedElement.x = (startX2 - (selectedElement.width * imgElm.height)) / imgElm.width; + selectedElement.y = (startY2 + (selectedElement.height * imgElm.height)) / imgElm.height; + } + else if ('url' in selectedElement) { + selectedElement.x = (startX2 - (selectedElement.width * imgElm.height)) / imgElm.width; + selectedElement.width = Math.max(10, elementWidth - dx) / imgElm.height; + selectedElement.height = Math.max(10, elementHeight + dy) / imgElm.height; + } + break; + case 3: // 右下角 + if ('text' in selectedElement) { + scaleFactor = (elementWidth + dx) / elementWidth; + selectedElement.height = Math.max((10 / imgElm.height), currentFontSize * scaleFactor); + selectedElement.y = (startY2 + (selectedElement.height * imgElm.height)) / imgElm.height; + } + else if ('url' in selectedElement) { + selectedElement.width = Math.max(10, elementWidth + dx) / imgElm.height; + selectedElement.height = Math.max(10, elementHeight + dy) / imgElm.height; + } + break; + } + + updateCanvas(); + } + }); + + document.addEventListener('mouseup', function () { + isDragging = false; + let allmargin = margin + if (border.show && borderImage && borderImage.complete) { + allmargin = allmargin + border.width + } + for (let i = 0; i < data.length; i++) { + if (data[i].show && data[i].isSelected) { + startY2 = (imgElm.height * data[i].y) - (imgElm.height * data[i].height) + startX2 = (imgElm.width * data[i].x) + (imgElm.height * data[i].width) + if ('url' in data[i]) { + startY2 = (imgElm.height * data[i].y) + (imgElm.height * data[i].height) + startX2 = (imgElm.width * data[i].x) + (imgElm.height * data[i].width); + } + elementOffsetX = data[i].x; + elementOffsetY = data[i].y; + } + } + if (plottingScale.show && plottingScale.isSelected) { + startY2 = plottingScale.y + plottingScale.height + startX2 = plottingScale.x + plottingScale.width + elementOffsetX = plottingScale.x; + elementOffsetY = plottingScale.y; + } + isDraggingElement = false; + isResizingElement = false; + resizeCorner = null; + }); + + function getPlottingScale() { + if (!rectangle) { + return + } + let westLng = Cesium.Math.toDegrees(rectangle.west) + let eastLng = Cesium.Math.toDegrees(rectangle.east) + let northLat = Cesium.Math.toDegrees(rectangle.north) + let southLat = Cesium.Math.toDegrees(rectangle.south) + + let from = turf.point([westLng, northLat]); + let to = turf.point([eastLng, northLat]); + let distance = turf.distance(from, to, { units: 'kilometers' }); + + unitDistance = distance * 1000 / imgElm.width; + } + + function getDateTimeString() { + // 创建一个表示当前时间的 Date 对象 + const now = new Date(); + // 获取年份 + const year = now.getFullYear(); + // 获取月份(从 0 开始,所以要加 1),并将其转换为两位字符串,不足两位在前面补零 + const month = String(now.getMonth() + 1).padStart(2, '0'); + // 获取日期,并将其转换为两位字符串,不足两位在前面补零 + const day = String(now.getDate()).padStart(2, '0'); + // 获取小时,并将其转换为两位字符串,不足两位在前面补零 + const hours = String(now.getHours()).padStart(2, '0'); + // 获取分钟,并将其转换为两位字符串,不足两位在前面补零 + const minutes = String(now.getMinutes()).padStart(2, '0'); + // 获取秒,并将其转换为两位字符串,不足两位在前面补零 + const seconds = String(now.getSeconds()).padStart(2, '0'); + // 获取毫秒,并将其转换为三位字符串,不足三位在前面补零 + const milliseconds = String(now.getMilliseconds()).padStart(3, '0'); + // 将年、月、日、时、分、秒、毫秒拼接成所需的字符串 + return `${year}${month}${day}${hours}${minutes}${seconds}${milliseconds}`; + } + + function exportMap() { + let unitDistance2 + let canvas2 = document.createElement('canvas'); + let ctx2 = canvas2.getContext('2d'); + let imgElm2 = new Image(); + imgElm2.src = originalImg + imgElm2.onload = function () { + if (isLoad) { + return + } + let title2 = { ...title } + let data2 = JSON.parse(JSON.stringify(data)) + let plottingScale2 = { ...plottingScale } + let border2 = { ...border } + border2.width = border.width / imgElm.width * imgElm2.width + + let margin2 = margin / imgElm.width * imgElm2.width; + let allmargin = margin2 + if (border2.show && borderImage && borderImage.complete) { + allmargin = allmargin + border2.width + } + + canvas2.width = imgElm2.width + (allmargin * 2); + canvas2.height = imgElm2.height + (allmargin * 2); + + ctx2.clearRect(0, 0, canvas2.width, canvas2.height); + ctx2.rect(0, 0, canvas2.width, canvas2.height); + ctx2.fillStyle = "#ffffff"; + ctx2.fill(); + ctx2.drawImage(imgElm2, allmargin, allmargin, imgElm2.width, imgElm2.height); + // 标题内容 + if (title2.show) { + const text = title2.text; + const fontSize = Math.max(5, (title2.height * imgElm2.height) * 0.5); + ctx2.font = `${fontSize}px serif`; + ctx2.fillStyle = title2.bgColor || '#5d5d5d'; + + ctx2.fillRect(allmargin, allmargin, canvas2.width - (allmargin * 2), (title2.height * imgElm2.height)); + + ctx2.fillStyle = title2.color || 'white'; + ctx2.textAlign = 'center'; + ctx2.textBaseline = 'middle'; + ctx2.fillText(text, canvas2.width / 2, ((title2.height * imgElm2.height) / 2) + allmargin); + } + + // 其他内容 + for (let i = 0; i < data2.length; i++) { + if (data2[i].show) { + if ('text' in data2[i]) { + ctx2.font = `${imgElm2.height * data2[i].height}px serif`; + ctx2.fillStyle = data2[i].color || 'white'; + ctx2.textAlign = 'left'; + ctx2.textBaseline = 'bottom'; + data2[i].width = ctx2.measureText(data2[i].text).width / imgElm2.height; + ctx2.fillText(data2[i].text, (imgElm2.width * data2[i].x) + allmargin, (imgElm2.height * data2[i].y) + allmargin); + } + else if ('url' in data2[i]) { + if (data[i].svg && data[i].svg.complete) { + ctx2.drawImage(data[i].svg, (imgElm2.width * data2[i].x) + allmargin, (imgElm2.height * data2[i].y) + allmargin, imgElm2.height * data2[i].width, imgElm2.height * data2[i].height); + } + else { + const svg = new Image(); + svg.src = tools.getSourceRootPath() + data2[i].url; + svg.onload = function () { + data2[i].svg = svg + ctx2.drawImage(svg, (imgElm2.width * data2[i].x) + allmargin, (imgElm2.height * data2[i].y) + allmargin, imgElm2.height * data2[i].width, imgElm2.height * data2[i].height) + } + } + } + } + } + + // 比例尺 + if (plottingScale2.show) { + getPlottingScale() + let plottingScale2X = imgElm2.width * plottingScale2.x + allmargin + let plottingScale2Y = imgElm2.height * plottingScale2.y + allmargin + let unit = 'm' + // const fontSize = plottingScale2.width * 0.12; + const fontSize = imgElm2.width * 0.08 * 0.12; + let spacing = imgElm2.width * 0.08 / plottingScale2.cell; + let spacingDistance = Math.round(unitDistance2 * spacing); + let spacingDistanceString = spacingDistance + '' + if (spacingDistance < 10) { + } + else { + spacingDistance = Number(spacingDistanceString[0]) + for (let i = 0; i < spacingDistanceString.length - 1; i++) { + spacingDistance = spacingDistance * 10 + } + spacing = spacingDistance / unitDistance2 + } + plottingScale2.width = spacing * plottingScale2.cell; + plottingScale2.height = plottingScale2.width * 0.2; + if (spacingDistance >= 1000) { + unit = '㎞' + spacingDistance = Math.round(spacingDistance / 1000); + } + const scaleY = plottingScale2Y; + ctx2.beginPath(); + ctx2.moveTo(plottingScale2X, scaleY); + ctx2.lineTo(plottingScale2X + plottingScale2.width, scaleY); + ctx2.strokeStyle = plottingScale2.color; + ctx2.lineWidth = plottingScale2.width * 0.01; + ctx2.stroke(); + + let tickX = 0 + for (let i = 0; i <= plottingScale2.cell; i++) { + tickX = plottingScale2X + i * spacing; + ctx2.beginPath(); + ctx2.moveTo(tickX, scaleY - plottingScale2.width * 0.1); + ctx2.lineTo(tickX, scaleY); + ctx2.strokeStyle = plottingScale2.color; + ctx2.lineWidth = plottingScale2.width * 0.01; + ctx2.stroke(); + + ctx2.font = `${fontSize}px Arial`; + ctx2.fillStyle = plottingScale2.color; + ctx2.textAlign = 'center'; + ctx2.textBaseline = 'bottom'; + ctx2.fillText(i * spacingDistance, tickX, scaleY - plottingScale2.width * 0.1); + } + + ctx2.font = `${fontSize}px Arial`; + ctx2.fillStyle = plottingScale2.color; + ctx2.textAlign = 'left'; + ctx2.textBaseline = 'bottom'; + ctx2.fillText(unit, tickX + (fontSize * 1.2), scaleY - plottingScale2.width * 0.1); + } + + // 边框 + if (border2.show && borderImage && borderImage.complete) { + // 绘制四个角(裁剪成45度角) + drawBorder2(ctx2, borderImage, margin2, margin2, border2.width, 'top', 1); + drawBorder2(ctx2, borderImage, canvas2.width - border2.width - margin2, margin2, border2.width, 'right', 1); + drawBorder2(ctx2, borderImage, canvas2.width - border2.width - margin2, canvas2.height - border2.width - margin2, border2.width, 'bottom', 1); + drawBorder2(ctx2, borderImage, margin2, canvas2.height - border2.width - margin2, border2.width, 'left', 1); + } + + function getPlottingScale() { + if (!rectangle) { + return + } + let westLng = Cesium.Math.toDegrees(rectangle.west) + let eastLng = Cesium.Math.toDegrees(rectangle.east) + let northLat = Cesium.Math.toDegrees(rectangle.north) + let southLat = Cesium.Math.toDegrees(rectangle.south) + + let from = turf.point([westLng, northLat]); + let to = turf.point([eastLng, northLat]); + let distance = turf.distance(from, to, { units: 'kilometers' }); + + unitDistance2 = distance * 1000 / imgElm2.width; + } + + // 绘制边框 + function drawBorder2(ctx2, img, x, y, size, position, isStart = 1) { + ctx2.save(); + ctx2.translate(x + size / 2, y + size / 2); + + // 根据位置设置旋转角度 + switch (position) { + case 'right': + ctx2.rotate(Math.PI / 2); + break; + case 'bottom': + ctx2.rotate(Math.PI); + break; + case 'left': + ctx2.rotate(3 * Math.PI / 2); + break; + } + // 创建45度角的裁剪路径 + ctx2.beginPath(); + ctx2.moveTo((-size * isStart) / 2, -size / 2); + if (position === 'top' || position === 'bottom') { + ctx2.lineTo(canvas2.width - (margin2 * 2) - (size / 2), -size / 2); + ctx2.lineTo(canvas2.width - (margin2 + size) * 2 + (size / 2), size / 2); + } + else { + ctx2.lineTo(canvas2.height - (margin2 * 2) - (size / 2), -size / 2); + ctx2.lineTo(canvas2.height - (margin2 + size) * 2 + (size / 2), size / 2); + } + ctx2.lineTo((size * isStart) / 2, size / 2); + ctx2.closePath(); + ctx2.clip(); + + let imgWidth = img.width / img.height * size + + // 绘制图片 + ctx2.drawImage(img, -size / 2, -size / 2, imgWidth, size); + + let count; + if (position === 'top' || position === 'bottom') { + count = Math.ceil((canvas2.width - (margin2 * 2) - (border2.width * 2)) / border2.width); + } else { + count = Math.ceil((canvas2.height - (margin2 * 2) - (border2.width * 2)) / border2.width); + } + count++ + + for (let i = 1; i <= count; i++) { + ctx2.drawImage(img, -size / 2 + imgWidth * i, -size / 2, imgWidth, size); + } + + ctx2.restore(); + } + + // let dataURL = canvas2.toDataURL('image/jpeg', 0.95) + // let downloadElement = document.createElement('a'); + // downloadElement.href = dataURL; + // downloadElement.download = `高清出图-${getDateTimeString()}.jpg`; + // document.body.appendChild(downloadElement); + // downloadElement.click(); + // document.body.removeChild(downloadElement); + // console.log('dataURL', dataURL) + // URL.revokeObjectURL(dataURL); + + // 在释放资源后执行回调 + + canvas2.toBlob(function (blob) { + const url = URL.createObjectURL(blob); + let downloadElement = document.createElement('a'); + downloadElement.href = url; + downloadElement.download = `高清出图-${getDateTimeString()}.png`; + document.body.appendChild(downloadElement); + downloadElement.click(); + document.body.removeChild(downloadElement); + }, 'image/png', 0.95); + exporting = false; + exportBtn.innerHTML = '打印'; + // canvas2.toBlob(function (blob) { + // let imgBlobData = URL.createObjectURL(blob); + // let downloadElement = document.createElement('a'); + // downloadElement.href = imgBlobData; + // downloadElement.download = `高清出图-${getDateTimeString()}.png`; + // document.body.appendChild(downloadElement); + // downloadElement.click(); + // document.body.removeChild(downloadElement); + // URL.revokeObjectURL(imgBlobData); + + // // 在释放资源后执行回调 + // exporting = false; + // exportBtn.innerHTML = '打印'; + // }); + } + } + +} + +export default MapPrint diff --git a/src/renderer/src/icons/svg/inundationAnalysis.svg b/src/renderer/src/icons/svg/inundationAnalysis.svg new file mode 100644 index 0000000..4c2abd0 --- /dev/null +++ b/src/renderer/src/icons/svg/inundationAnalysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/jct.svg b/src/renderer/src/icons/svg/jct.svg new file mode 100644 index 0000000..ca9ef48 --- /dev/null +++ b/src/renderer/src/icons/svg/jct.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/json.svg b/src/renderer/src/icons/svg/json.svg new file mode 100644 index 0000000..ce4a703 --- /dev/null +++ b/src/renderer/src/icons/svg/json.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/kenAnalysis.svg b/src/renderer/src/icons/svg/kenAnalysis.svg new file mode 100644 index 0000000..87abb5e --- /dev/null +++ b/src/renderer/src/icons/svg/kenAnalysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/kml.svg b/src/renderer/src/icons/svg/kml.svg new file mode 100644 index 0000000..b8fded1 --- /dev/null +++ b/src/renderer/src/icons/svg/kml.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/kmz.svg b/src/renderer/src/icons/svg/kmz.svg new file mode 100644 index 0000000..b8fded1 --- /dev/null +++ b/src/renderer/src/icons/svg/kmz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/layer.svg b/src/renderer/src/icons/svg/layer.svg new file mode 100644 index 0000000..ba44d46 --- /dev/null +++ b/src/renderer/src/icons/svg/layer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/layerLower.svg b/src/renderer/src/icons/svg/layerLower.svg new file mode 100644 index 0000000..ece0255 --- /dev/null +++ b/src/renderer/src/icons/svg/layerLower.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/layerRaise.svg b/src/renderer/src/icons/svg/layerRaise.svg new file mode 100644 index 0000000..c6c0c30 --- /dev/null +++ b/src/renderer/src/icons/svg/layerRaise.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/layerToBottom.svg b/src/renderer/src/icons/svg/layerToBottom.svg new file mode 100644 index 0000000..5ccd1d4 --- /dev/null +++ b/src/renderer/src/icons/svg/layerToBottom.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/layerToTop.svg b/src/renderer/src/icons/svg/layerToTop.svg new file mode 100644 index 0000000..4ea3de1 --- /dev/null +++ b/src/renderer/src/icons/svg/layerToTop.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/leading_in.svg b/src/renderer/src/icons/svg/leading_in.svg new file mode 100644 index 0000000..9bddf1b --- /dev/null +++ b/src/renderer/src/icons/svg/leading_in.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/leading_out.svg b/src/renderer/src/icons/svg/leading_out.svg new file mode 100644 index 0000000..85cb229 --- /dev/null +++ b/src/renderer/src/icons/svg/leading_out.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/line.svg b/src/renderer/src/icons/svg/line.svg new file mode 100644 index 0000000..76cdc16 --- /dev/null +++ b/src/renderer/src/icons/svg/line.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/linkImage.svg b/src/renderer/src/icons/svg/linkImage.svg new file mode 100644 index 0000000..372b1f0 --- /dev/null +++ b/src/renderer/src/icons/svg/linkImage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/loadTemp.svg b/src/renderer/src/icons/svg/loadTemp.svg new file mode 100644 index 0000000..51cbd5d --- /dev/null +++ b/src/renderer/src/icons/svg/loadTemp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/location.svg b/src/renderer/src/icons/svg/location.svg new file mode 100644 index 0000000..ebc7e34 --- /dev/null +++ b/src/renderer/src/icons/svg/location.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/lopeDistanceMeasures.svg b/src/renderer/src/icons/svg/lopeDistanceMeasures.svg new file mode 100644 index 0000000..e50443f --- /dev/null +++ b/src/renderer/src/icons/svg/lopeDistanceMeasures.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/map-border1.svg b/src/renderer/src/icons/svg/map-border1.svg new file mode 100644 index 0000000..1d226f6 --- /dev/null +++ b/src/renderer/src/icons/svg/map-border1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/map-border2.svg b/src/renderer/src/icons/svg/map-border2.svg new file mode 100644 index 0000000..b727f98 --- /dev/null +++ b/src/renderer/src/icons/svg/map-border2.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/map-border3.svg b/src/renderer/src/icons/svg/map-border3.svg new file mode 100644 index 0000000..aa380bd --- /dev/null +++ b/src/renderer/src/icons/svg/map-border3.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/map-border4.svg b/src/renderer/src/icons/svg/map-border4.svg new file mode 100644 index 0000000..e2e38f6 --- /dev/null +++ b/src/renderer/src/icons/svg/map-border4.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/map-border5.svg b/src/renderer/src/icons/svg/map-border5.svg new file mode 100644 index 0000000..02de935 --- /dev/null +++ b/src/renderer/src/icons/svg/map-border5.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/map-border6.svg b/src/renderer/src/icons/svg/map-border6.svg new file mode 100644 index 0000000..630776d --- /dev/null +++ b/src/renderer/src/icons/svg/map-border6.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/mbtiles.svg b/src/renderer/src/icons/svg/mbtiles.svg new file mode 100644 index 0000000..849baa7 --- /dev/null +++ b/src/renderer/src/icons/svg/mbtiles.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/measure.svg b/src/renderer/src/icons/svg/measure.svg new file mode 100644 index 0000000..8df9bac --- /dev/null +++ b/src/renderer/src/icons/svg/measure.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/mif.svg b/src/renderer/src/icons/svg/mif.svg new file mode 100644 index 0000000..0dd5c16 --- /dev/null +++ b/src/renderer/src/icons/svg/mif.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/military.svg b/src/renderer/src/icons/svg/military.svg new file mode 100644 index 0000000..63e761f --- /dev/null +++ b/src/renderer/src/icons/svg/military.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/model.svg b/src/renderer/src/icons/svg/model.svg new file mode 100644 index 0000000..7db3edf --- /dev/null +++ b/src/renderer/src/icons/svg/model.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/more.svg b/src/renderer/src/icons/svg/more.svg new file mode 100644 index 0000000..b0e45db --- /dev/null +++ b/src/renderer/src/icons/svg/more.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/mouseLocation.svg b/src/renderer/src/icons/svg/mouseLocation.svg new file mode 100644 index 0000000..4ff086f --- /dev/null +++ b/src/renderer/src/icons/svg/mouseLocation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/nightVision.svg b/src/renderer/src/icons/svg/nightVision.svg new file mode 100644 index 0000000..e03e58f --- /dev/null +++ b/src/renderer/src/icons/svg/nightVision.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/out_login.svg b/src/renderer/src/icons/svg/out_login.svg new file mode 100644 index 0000000..461735d --- /dev/null +++ b/src/renderer/src/icons/svg/out_login.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/pak.svg b/src/renderer/src/icons/svg/pak.svg new file mode 100644 index 0000000..217c30c --- /dev/null +++ b/src/renderer/src/icons/svg/pak.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/panel.svg b/src/renderer/src/icons/svg/panel.svg new file mode 100644 index 0000000..39c214a --- /dev/null +++ b/src/renderer/src/icons/svg/panel.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/path.svg b/src/renderer/src/icons/svg/path.svg new file mode 100644 index 0000000..bf21173 --- /dev/null +++ b/src/renderer/src/icons/svg/path.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/pdf.svg b/src/renderer/src/icons/svg/pdf.svg new file mode 100644 index 0000000..38c463d --- /dev/null +++ b/src/renderer/src/icons/svg/pdf.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/peopleRoomLink.svg b/src/renderer/src/icons/svg/peopleRoomLink.svg new file mode 100644 index 0000000..280bc5a --- /dev/null +++ b/src/renderer/src/icons/svg/peopleRoomLink.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/perspective.svg b/src/renderer/src/icons/svg/perspective.svg new file mode 100644 index 0000000..003dc09 --- /dev/null +++ b/src/renderer/src/icons/svg/perspective.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/pictureLocation.svg b/src/renderer/src/icons/svg/pictureLocation.svg new file mode 100644 index 0000000..032f566 --- /dev/null +++ b/src/renderer/src/icons/svg/pictureLocation.svg @@ -0,0 +1,7 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/pincerArrow.svg b/src/renderer/src/icons/svg/pincerArrow.svg new file mode 100644 index 0000000..f46d8d8 --- /dev/null +++ b/src/renderer/src/icons/svg/pincerArrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/pitchImport.svg b/src/renderer/src/icons/svg/pitchImport.svg new file mode 100644 index 0000000..eebca00 --- /dev/null +++ b/src/renderer/src/icons/svg/pitchImport.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/playTs.svg b/src/renderer/src/icons/svg/playTs.svg new file mode 100644 index 0000000..b505323 --- /dev/null +++ b/src/renderer/src/icons/svg/playTs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/point.svg b/src/renderer/src/icons/svg/point.svg new file mode 100644 index 0000000..932a40f --- /dev/null +++ b/src/renderer/src/icons/svg/point.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/polygonStatistics.svg b/src/renderer/src/icons/svg/polygonStatistics.svg new file mode 100644 index 0000000..95ce6d0 --- /dev/null +++ b/src/renderer/src/icons/svg/polygonStatistics.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/polyhedronObject.svg b/src/renderer/src/icons/svg/polyhedronObject.svg new file mode 100644 index 0000000..f9a6c4c --- /dev/null +++ b/src/renderer/src/icons/svg/polyhedronObject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/posiFly.svg b/src/renderer/src/icons/svg/posiFly.svg new file mode 100644 index 0000000..5011eaf --- /dev/null +++ b/src/renderer/src/icons/svg/posiFly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/pressModel.svg b/src/renderer/src/icons/svg/pressModel.svg new file mode 100644 index 0000000..0c8736b --- /dev/null +++ b/src/renderer/src/icons/svg/pressModel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/profileAnalysis.svg b/src/renderer/src/icons/svg/profileAnalysis.svg new file mode 100644 index 0000000..2685e8f --- /dev/null +++ b/src/renderer/src/icons/svg/profileAnalysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/projConvert.svg b/src/renderer/src/icons/svg/projConvert.svg new file mode 100644 index 0000000..5461b46 --- /dev/null +++ b/src/renderer/src/icons/svg/projConvert.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/renderer/src/icons/svg/projectionArea.svg b/src/renderer/src/icons/svg/projectionArea.svg new file mode 100644 index 0000000..d45f9b2 --- /dev/null +++ b/src/renderer/src/icons/svg/projectionArea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/projectionConvert.svg b/src/renderer/src/icons/svg/projectionConvert.svg new file mode 100644 index 0000000..7cc7a95 --- /dev/null +++ b/src/renderer/src/icons/svg/projectionConvert.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/projectionDistanceMeasure.svg b/src/renderer/src/icons/svg/projectionDistanceMeasure.svg new file mode 100644 index 0000000..65d877f --- /dev/null +++ b/src/renderer/src/icons/svg/projectionDistanceMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/prompt.svg b/src/renderer/src/icons/svg/prompt.svg new file mode 100644 index 0000000..1ec5971 --- /dev/null +++ b/src/renderer/src/icons/svg/prompt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/pw.svg b/src/renderer/src/icons/svg/pw.svg new file mode 100644 index 0000000..cb29ef6 --- /dev/null +++ b/src/renderer/src/icons/svg/pw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/qc.svg b/src/renderer/src/icons/svg/qc.svg new file mode 100644 index 0000000..c6eb5ac --- /dev/null +++ b/src/renderer/src/icons/svg/qc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/radarScan.svg b/src/renderer/src/icons/svg/radarScan.svg new file mode 100644 index 0000000..84df4d3 --- /dev/null +++ b/src/renderer/src/icons/svg/radarScan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/rain.svg b/src/renderer/src/icons/svg/rain.svg new file mode 100644 index 0000000..61287fa --- /dev/null +++ b/src/renderer/src/icons/svg/rain.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/rangeQuery.svg b/src/renderer/src/icons/svg/rangeQuery.svg new file mode 100644 index 0000000..f30d218 --- /dev/null +++ b/src/renderer/src/icons/svg/rangeQuery.svg @@ -0,0 +1,21 @@ + + + + + + + diff --git a/src/renderer/src/icons/svg/rectangle.svg b/src/renderer/src/icons/svg/rectangle.svg new file mode 100644 index 0000000..82bbaa8 --- /dev/null +++ b/src/renderer/src/icons/svg/rectangle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/rename.svg b/src/renderer/src/icons/svg/rename.svg new file mode 100644 index 0000000..f042d6b --- /dev/null +++ b/src/renderer/src/icons/svg/rename.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/rendezvous.svg b/src/renderer/src/icons/svg/rendezvous.svg new file mode 100644 index 0000000..078c901 --- /dev/null +++ b/src/renderer/src/icons/svg/rendezvous.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/resetView.svg b/src/renderer/src/icons/svg/resetView.svg new file mode 100644 index 0000000..7f3f30f --- /dev/null +++ b/src/renderer/src/icons/svg/resetView.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/road_network.svg b/src/renderer/src/icons/svg/road_network.svg new file mode 100644 index 0000000..aa205a7 --- /dev/null +++ b/src/renderer/src/icons/svg/road_network.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/roam.svg b/src/renderer/src/icons/svg/roam.svg new file mode 100644 index 0000000..7d1e06c --- /dev/null +++ b/src/renderer/src/icons/svg/roam.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/routePlan.svg b/src/renderer/src/icons/svg/routePlan.svg new file mode 100644 index 0000000..3f1d72d --- /dev/null +++ b/src/renderer/src/icons/svg/routePlan.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/renderer/src/icons/svg/scanStereoscopic.svg b/src/renderer/src/icons/svg/scanStereoscopic.svg new file mode 100644 index 0000000..f5eac40 --- /dev/null +++ b/src/renderer/src/icons/svg/scanStereoscopic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/screenShot.svg b/src/renderer/src/icons/svg/screenShot.svg new file mode 100644 index 0000000..abd4787 --- /dev/null +++ b/src/renderer/src/icons/svg/screenShot.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/search.svg b/src/renderer/src/icons/svg/search.svg new file mode 100644 index 0000000..ab7c475 --- /dev/null +++ b/src/renderer/src/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/sector.svg b/src/renderer/src/icons/svg/sector.svg new file mode 100644 index 0000000..71d8ceb --- /dev/null +++ b/src/renderer/src/icons/svg/sector.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/select.svg b/src/renderer/src/icons/svg/select.svg new file mode 100644 index 0000000..da5b316 --- /dev/null +++ b/src/renderer/src/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/setView.svg b/src/renderer/src/icons/svg/setView.svg new file mode 100644 index 0000000..12a0465 --- /dev/null +++ b/src/renderer/src/icons/svg/setView.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/showAttr.svg b/src/renderer/src/icons/svg/showAttr.svg new file mode 100644 index 0000000..4a62fc9 --- /dev/null +++ b/src/renderer/src/icons/svg/showAttr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/shp.svg b/src/renderer/src/icons/svg/shp.svg new file mode 100644 index 0000000..37860e5 --- /dev/null +++ b/src/renderer/src/icons/svg/shp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/sightAnalysis.svg b/src/renderer/src/icons/svg/sightAnalysis.svg new file mode 100644 index 0000000..59b03b0 --- /dev/null +++ b/src/renderer/src/icons/svg/sightAnalysis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/sitting.svg b/src/renderer/src/icons/svg/sitting.svg new file mode 100644 index 0000000..e7e2984 --- /dev/null +++ b/src/renderer/src/icons/svg/sitting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/situation.svg b/src/renderer/src/icons/svg/situation.svg new file mode 100644 index 0000000..900b136 --- /dev/null +++ b/src/renderer/src/icons/svg/situation.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/skystarry.svg b/src/renderer/src/icons/svg/skystarry.svg new file mode 100644 index 0000000..c6bc5d4 --- /dev/null +++ b/src/renderer/src/icons/svg/skystarry.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/slopeDirection.svg b/src/renderer/src/icons/svg/slopeDirection.svg new file mode 100644 index 0000000..3d63f10 --- /dev/null +++ b/src/renderer/src/icons/svg/slopeDirection.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/smoke.svg b/src/renderer/src/icons/svg/smoke.svg new file mode 100644 index 0000000..11c789d --- /dev/null +++ b/src/renderer/src/icons/svg/smoke.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/snow.svg b/src/renderer/src/icons/svg/snow.svg new file mode 100644 index 0000000..794117a --- /dev/null +++ b/src/renderer/src/icons/svg/snow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/special.svg b/src/renderer/src/icons/svg/special.svg new file mode 100644 index 0000000..584f86b --- /dev/null +++ b/src/renderer/src/icons/svg/special.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/splitScreen.svg b/src/renderer/src/icons/svg/splitScreen.svg new file mode 100644 index 0000000..5fb0d84 --- /dev/null +++ b/src/renderer/src/icons/svg/splitScreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/standText.svg b/src/renderer/src/icons/svg/standText.svg new file mode 100644 index 0000000..15f2d63 --- /dev/null +++ b/src/renderer/src/icons/svg/standText.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/renderer/src/icons/svg/stop.svg b/src/renderer/src/icons/svg/stop.svg new file mode 100644 index 0000000..8b6cfad --- /dev/null +++ b/src/renderer/src/icons/svg/stop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/subscript1.svg b/src/renderer/src/icons/svg/subscript1.svg new file mode 100644 index 0000000..86f7f66 --- /dev/null +++ b/src/renderer/src/icons/svg/subscript1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/subscript2.svg b/src/renderer/src/icons/svg/subscript2.svg new file mode 100644 index 0000000..f648550 --- /dev/null +++ b/src/renderer/src/icons/svg/subscript2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/switch.svg b/src/renderer/src/icons/svg/switch.svg new file mode 100644 index 0000000..73ce871 --- /dev/null +++ b/src/renderer/src/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/sys_reset.svg b/src/renderer/src/icons/svg/sys_reset.svg new file mode 100644 index 0000000..ed6f943 --- /dev/null +++ b/src/renderer/src/icons/svg/sys_reset.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/sys_set.svg b/src/renderer/src/icons/svg/sys_set.svg new file mode 100644 index 0000000..a8ebb20 --- /dev/null +++ b/src/renderer/src/icons/svg/sys_set.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/tab.svg b/src/renderer/src/icons/svg/tab.svg new file mode 100644 index 0000000..500b0fe --- /dev/null +++ b/src/renderer/src/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/tacticalCalculation.svg b/src/renderer/src/icons/svg/tacticalCalculation.svg new file mode 100644 index 0000000..1e606a6 --- /dev/null +++ b/src/renderer/src/icons/svg/tacticalCalculation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/terrainDig.svg b/src/renderer/src/icons/svg/terrainDig.svg new file mode 100644 index 0000000..b64cdda --- /dev/null +++ b/src/renderer/src/icons/svg/terrainDig.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/text-bold.svg b/src/renderer/src/icons/svg/text-bold.svg new file mode 100644 index 0000000..87c564a --- /dev/null +++ b/src/renderer/src/icons/svg/text-bold.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/text-italic.svg b/src/renderer/src/icons/svg/text-italic.svg new file mode 100644 index 0000000..be65ba5 --- /dev/null +++ b/src/renderer/src/icons/svg/text-italic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/text-line-bottom.svg b/src/renderer/src/icons/svg/text-line-bottom.svg new file mode 100644 index 0000000..ab119e3 --- /dev/null +++ b/src/renderer/src/icons/svg/text-line-bottom.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/text-line-through.svg b/src/renderer/src/icons/svg/text-line-through.svg new file mode 100644 index 0000000..a5e003b --- /dev/null +++ b/src/renderer/src/icons/svg/text-line-through.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/textBox.svg b/src/renderer/src/icons/svg/textBox.svg new file mode 100644 index 0000000..028852f --- /dev/null +++ b/src/renderer/src/icons/svg/textBox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/tilesetClipping.svg b/src/renderer/src/icons/svg/tilesetClipping.svg new file mode 100644 index 0000000..b01308e --- /dev/null +++ b/src/renderer/src/icons/svg/tilesetClipping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/tool.svg b/src/renderer/src/icons/svg/tool.svg new file mode 100644 index 0000000..953c8f1 --- /dev/null +++ b/src/renderer/src/icons/svg/tool.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/transform.svg b/src/renderer/src/icons/svg/transform.svg new file mode 100644 index 0000000..6003dc0 --- /dev/null +++ b/src/renderer/src/icons/svg/transform.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/src/renderer/src/icons/svg/triangleMeasure.svg b/src/renderer/src/icons/svg/triangleMeasure.svg new file mode 100644 index 0000000..3c5ea81 --- /dev/null +++ b/src/renderer/src/icons/svg/triangleMeasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/turn.svg b/src/renderer/src/icons/svg/turn.svg new file mode 100644 index 0000000..717ef5e --- /dev/null +++ b/src/renderer/src/icons/svg/turn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/src/icons/svg/video.svg b/src/renderer/src/icons/svg/video.svg new file mode 100644 index 0000000..d3d044a --- /dev/null +++ b/src/renderer/src/icons/svg/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/videoRecord.svg b/src/renderer/src/icons/svg/videoRecord.svg new file mode 100644 index 0000000..2d496cc --- /dev/null +++ b/src/renderer/src/icons/svg/videoRecord.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/vrImage.svg b/src/renderer/src/icons/svg/vrImage.svg new file mode 100644 index 0000000..b887aa2 --- /dev/null +++ b/src/renderer/src/icons/svg/vrImage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/wallStereoscopic.svg b/src/renderer/src/icons/svg/wallStereoscopic.svg new file mode 100644 index 0000000..13d03b6 --- /dev/null +++ b/src/renderer/src/icons/svg/wallStereoscopic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/water.svg b/src/renderer/src/icons/svg/water.svg new file mode 100644 index 0000000..5f98fe1 --- /dev/null +++ b/src/renderer/src/icons/svg/water.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/waterL.svg b/src/renderer/src/icons/svg/waterL.svg new file mode 100644 index 0000000..c64f5b0 --- /dev/null +++ b/src/renderer/src/icons/svg/waterL.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/weather.svg b/src/renderer/src/icons/svg/weather.svg new file mode 100644 index 0000000..c95a14d --- /dev/null +++ b/src/renderer/src/icons/svg/weather.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/weatherBase.svg b/src/renderer/src/icons/svg/weatherBase.svg new file mode 100644 index 0000000..3b1fab3 --- /dev/null +++ b/src/renderer/src/icons/svg/weatherBase.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/xaxis.svg b/src/renderer/src/icons/svg/xaxis.svg new file mode 100644 index 0000000..e377f31 --- /dev/null +++ b/src/renderer/src/icons/svg/xaxis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/yaxis.svg b/src/renderer/src/icons/svg/yaxis.svg new file mode 100644 index 0000000..ec16e6a --- /dev/null +++ b/src/renderer/src/icons/svg/yaxis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/src/icons/svg/zw.svg b/src/renderer/src/icons/svg/zw.svg new file mode 100644 index 0000000..f4dfdb2 --- /dev/null +++ b/src/renderer/src/icons/svg/zw.svg @@ -0,0 +1 @@ + \ No newline at end of file