aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStanley Yip <stanley_yip@brown.edu>2019-10-13 13:41:08 -0400
committerStanley Yip <stanley_yip@brown.edu>2019-10-13 13:41:08 -0400
commit1cb74bdb046a618fa017edca7de674992d067752 (patch)
tree4034794954ddf46b22c9dcbb66ba9ad6c35eab5d /src
parentd58195a0470b3882d6b43b18f1f4ab7a373a671f (diff)
ahh
Diffstat (limited to 'src')
-rw-r--r--src/client/views/AntimodeMenu.tsx14
-rw-r--r--src/client/views/InkingCanvas.tsx2
2 files changed, 15 insertions, 1 deletions
diff --git a/src/client/views/AntimodeMenu.tsx b/src/client/views/AntimodeMenu.tsx
index 9b0ba6312..408df8bc2 100644
--- a/src/client/views/AntimodeMenu.tsx
+++ b/src/client/views/AntimodeMenu.tsx
@@ -3,6 +3,10 @@ import { observer } from "mobx-react";
import { observable, action } from "mobx";
import "./AntimodeMenu.scss";
+/**
+ * This is an abstract class that serves as the base for a PDF-style or Marquee-style
+ * menu. To use this class, look at PDFMenu.tsx or MarqueeOptionsMenu.tsx for an example.
+ */
export default abstract class AntimodeMenu extends React.Component {
protected _offsetY: number = 0;
protected _offsetX: number = 0;
@@ -18,6 +22,12 @@ export default abstract class AntimodeMenu extends React.Component {
@observable public Pinned: boolean = false;
@action
+ /**
+ * @param x
+ * @param y
+ * @param forceJump: If the menu is pinned down, do you want to force it to jump to the new location?
+ * Called when you want the menu to show up at a location
+ */
public jumpTo = (x: number, y: number, forceJump: boolean = false) => {
if (!this.Pinned || forceJump) {
this._transition = this._transitionDelay = "";
@@ -28,6 +38,10 @@ export default abstract class AntimodeMenu extends React.Component {
}
@action
+ /**
+ * @param forceOut: Do you want the menu to disappear immediately or to slowly fadeout?
+ * Called when you want the menu to disappear
+ */
public fadeOut = (forceOut: boolean) => {
if (!this.Pinned) {
if (this._opacity === 0.2) {
diff --git a/src/client/views/InkingCanvas.tsx b/src/client/views/InkingCanvas.tsx
index 1cfa8d644..0eb4c66a2 100644
--- a/src/client/views/InkingCanvas.tsx
+++ b/src/client/views/InkingCanvas.tsx
@@ -183,7 +183,7 @@ export class InkingCanvas extends React.Component<InkCanvasProps> {
let svgCanvasStyle = InkingControl.Instance.selectedTool !== InkTool.None && !this.props.Document.isBackground ? "canSelect" : "noSelect";
return (
<div className="inkingCanvas">
- <div className={`inkingCanvas-${svgCanvasStyle}`} onPointerDown={this.onPointerDown} />
+ <div className={`inkingCanvas-${svgCanvasStyle}`} onPointerDown={this.onPointerDown} onTouchStart={(e) => e.stopPropagation()} />
{this.props.children()}
{this.drawnPaths}
</div >