summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2021-02-01 17:42:49 +0530
committerDennis Francis <dennisfrancis.in@gmail.com>2021-02-08 14:32:57 +0530
commit4a5fef6054cad55b787030bf05867d47d6fc014e (patch)
treeea2742600613a7622a991635fdfd669a81ab28c8
parentoverlay: paint after path removal (diff)
downloadonline-4a5fef6054cad55b787030bf05867d47d6fc014e.tar.gz
online-4a5fef6054cad55b787030bf05867d47d6fc014e.zip
Add CRectangle based on L.Rectangle
Signed-off-by: Dennis Francis <dennis.francis@collabora.com> Change-Id: I5f3ffd6ae2293677ee77fb4a18d1ef1d643774a8
-rw-r--r--loleaflet/src/layer/vector/CRectangle.ts20
-rw-r--r--loleaflet/src/layer/vector/CanvasOverlay.ts1
2 files changed, 21 insertions, 0 deletions
diff --git a/loleaflet/src/layer/vector/CRectangle.ts b/loleaflet/src/layer/vector/CRectangle.ts
new file mode 100644
index 0000000000..c2f3c0537a
--- /dev/null
+++ b/loleaflet/src/layer/vector/CRectangle.ts
@@ -0,0 +1,20 @@
+/* eslint-disable */
+
+/*
+ * CRectangle extends CPolygon and creates a rectangle of given bounds.
+ */
+
+class CRectangle extends CPolygon {
+
+ constructor(bounds: CBounds, options: any) {
+ super(CRectangle.boundsToPointSet(bounds), options);
+ }
+
+ setBounds(bounds: CBounds) {
+ this.setPointSet(CRectangle.boundsToPointSet(bounds));
+ }
+
+ private static boundsToPointSet(bounds: CBounds): CPointSet {
+ return CPointSet.fromPointArray([bounds.getTopLeft(), bounds.getTopRight(), bounds.getBottomRight(), bounds.getBottomLeft(), bounds.getTopLeft()]);
+ }
+}
diff --git a/loleaflet/src/layer/vector/CanvasOverlay.ts b/loleaflet/src/layer/vector/CanvasOverlay.ts
index 577c0a0bbc..34f1396921 100644
--- a/loleaflet/src/layer/vector/CanvasOverlay.ts
+++ b/loleaflet/src/layer/vector/CanvasOverlay.ts
@@ -3,6 +3,7 @@
/// <reference path="CPath.ts" />
/// <reference path="CPolyline.ts" />
/// <reference path="CPolygon.ts" />
+/// <reference path="CRectangle.ts" />
/* eslint-disable */
// CanvasOverlay handles CPath rendering and mouse events handling via overlay-section of the main canvas.