mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Refactor ExcalidrawElement (#874)
* Get rid of isSelected, canvas, canvasZoom, canvasOffsetX and canvasOffsetY on ExcalidrawElement. * Fix most unit tests. Fix cmd a. Fix alt drag * Focus on paste * shift select should include previously selected items * Fix last test * Move this.shape out of ExcalidrawElement and into a WeakMap
This commit is contained in:
parent
8ecb4201db
commit
ccbbdb75a6
39 changed files with 416 additions and 306 deletions
|
@ -1,7 +1,7 @@
|
|||
import { RoughCanvas } from "roughjs/bin/canvas";
|
||||
import { RoughSVG } from "roughjs/bin/svg";
|
||||
|
||||
import { FlooredNumber } from "../types";
|
||||
import { FlooredNumber, AppState } from "../types";
|
||||
import { ExcalidrawElement } from "../element/types";
|
||||
import { getElementAbsoluteCoords, handlerRectangles } from "../element";
|
||||
|
||||
|
@ -19,6 +19,7 @@ import { renderElement, renderElementToSvg } from "./renderElement";
|
|||
|
||||
export function renderScene(
|
||||
elements: readonly ExcalidrawElement[],
|
||||
appState: AppState,
|
||||
selectionElement: ExcalidrawElement | null,
|
||||
rc: RoughCanvas,
|
||||
canvas: HTMLCanvasElement,
|
||||
|
@ -129,7 +130,7 @@ export function renderScene(
|
|||
|
||||
// Pain selected elements
|
||||
if (renderSelection) {
|
||||
const selectedElements = getSelectedElements(elements);
|
||||
const selectedElements = getSelectedElements(elements, appState);
|
||||
const dashledLinePadding = 4 / sceneState.zoom;
|
||||
|
||||
applyZoom(context);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue