mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
feat: support to not render remote cursor & username (#7130)
This commit is contained in:
parent
068895db0e
commit
15bfa626b4
5 changed files with 36 additions and 13 deletions
|
@ -5,6 +5,7 @@ import type App from "./components/App";
|
|||
import { SocketId } from "./types";
|
||||
import { easeOut } from "./utils";
|
||||
import { getClientColor } from "./clients";
|
||||
import { DEFAULT_LASER_COLOR } from "./constants";
|
||||
|
||||
export class LaserTrails implements Trail {
|
||||
public localTrail: AnimatedTrail;
|
||||
|
@ -20,7 +21,7 @@ export class LaserTrails implements Trail {
|
|||
|
||||
this.localTrail = new AnimatedTrail(animationFrameHandler, app, {
|
||||
...this.getTrailOptions(),
|
||||
fill: () => "red",
|
||||
fill: () => DEFAULT_LASER_COLOR,
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -78,13 +79,15 @@ export class LaserTrails implements Trail {
|
|||
return;
|
||||
}
|
||||
|
||||
for (const [key, collabolator] of this.app.state.collaborators.entries()) {
|
||||
for (const [key, collaborator] of this.app.state.collaborators.entries()) {
|
||||
let trail!: AnimatedTrail;
|
||||
|
||||
if (!this.collabTrails.has(key)) {
|
||||
trail = new AnimatedTrail(this.animationFrameHandler, this.app, {
|
||||
...this.getTrailOptions(),
|
||||
fill: () => getClientColor(key, collabolator),
|
||||
fill: () =>
|
||||
collaborator.pointer?.laserColor ||
|
||||
getClientColor(key, collaborator),
|
||||
});
|
||||
trail.start(this.container);
|
||||
|
||||
|
@ -93,21 +96,21 @@ export class LaserTrails implements Trail {
|
|||
trail = this.collabTrails.get(key)!;
|
||||
}
|
||||
|
||||
if (collabolator.pointer && collabolator.pointer.tool === "laser") {
|
||||
if (collabolator.button === "down" && !trail.hasCurrentTrail) {
|
||||
trail.startPath(collabolator.pointer.x, collabolator.pointer.y);
|
||||
if (collaborator.pointer && collaborator.pointer.tool === "laser") {
|
||||
if (collaborator.button === "down" && !trail.hasCurrentTrail) {
|
||||
trail.startPath(collaborator.pointer.x, collaborator.pointer.y);
|
||||
}
|
||||
|
||||
if (
|
||||
collabolator.button === "down" &&
|
||||
collaborator.button === "down" &&
|
||||
trail.hasCurrentTrail &&
|
||||
!trail.hasLastPoint(collabolator.pointer.x, collabolator.pointer.y)
|
||||
!trail.hasLastPoint(collaborator.pointer.x, collaborator.pointer.y)
|
||||
) {
|
||||
trail.addPointToPath(collabolator.pointer.x, collabolator.pointer.y);
|
||||
trail.addPointToPath(collaborator.pointer.x, collaborator.pointer.y);
|
||||
}
|
||||
|
||||
if (collabolator.button === "up" && trail.hasCurrentTrail) {
|
||||
trail.addPointToPath(collabolator.pointer.x, collabolator.pointer.y);
|
||||
if (collaborator.button === "up" && trail.hasCurrentTrail) {
|
||||
trail.addPointToPath(collaborator.pointer.x, collaborator.pointer.y);
|
||||
trail.endPath();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue