Support diamonds

This commit is contained in:
Paulo Menezes 2020-01-05 20:28:59 -03:00
parent 3fe4ccd10e
commit f65a085253

View file

@ -803,14 +803,19 @@ function generateDraw(element: ExcalidrawElement) {
], ],
{ {
stroke: element.strokeColor, stroke: element.strokeColor,
fill: element.backgroundColor fill: element.backgroundColor,
fillStyle: element.fillStyle,
strokeWidth: element.strokeWidth,
roughness: element.roughness
} }
); );
}); });
element.draw = (rc, context, { scrollX, scrollY }) => { element.draw = (rc, context, { scrollX, scrollY }) => {
context.globalAlpha = element.opacity / 100;
context.translate(element.x + scrollX, element.y + scrollY); context.translate(element.x + scrollX, element.y + scrollY);
rc.draw(shape); rc.draw(shape);
context.translate(-element.x - scrollX, -element.y - scrollY); context.translate(-element.x - scrollX, -element.y - scrollY);
context.globalAlpha = 1;
}; };
} else if (element.type === "ellipse") { } else if (element.type === "ellipse") {
const shape = withCustomMathRandom(element.seed, () => const shape = withCustomMathRandom(element.seed, () =>
@ -1101,19 +1106,22 @@ function getSelectedIndices() {
const someElementIsSelected = () => const someElementIsSelected = () =>
elements.some(element => element.isSelected); elements.some(element => element.isSelected);
const someElementIsSelectedIsRectangleOrEllipse = () => const someElementIsSelectedIsRectangleOrEllipseOrDiamond = () =>
elements.some(
element =>
element.isSelected &&
(element.type === "rectangle" || element.type === "ellipse")
);
const someElementIsSelectedIsRectangleOrEllipseOrArrow = () =>
elements.some( elements.some(
element => element =>
element.isSelected && element.isSelected &&
(element.type === "rectangle" || (element.type === "rectangle" ||
element.type === "ellipse" || element.type === "ellipse" ||
element.type === "diamond")
);
const someElementIsSelectedIsRectangleOrEllipseOrDiamondOrArrow = () =>
elements.some(
element =>
element.isSelected &&
(element.type === "rectangle" ||
element.type === "ellipse" ||
element.type === "diamond" ||
element.type === "arrow") element.type === "arrow")
); );
@ -1609,7 +1617,7 @@ class App extends React.Component<{}, AppState> {
</div> </div>
</div> </div>
{someElementIsSelectedIsRectangleOrEllipse() && ( {someElementIsSelectedIsRectangleOrEllipseOrDiamond() && (
<div className="panelColumn"> <div className="panelColumn">
<h5>Shape Background Color</h5> <h5>Shape Background Color</h5>
<div> <div>
@ -1663,7 +1671,7 @@ class App extends React.Component<{}, AppState> {
)} )}
</> </>
{someElementIsSelectedIsRectangleOrEllipse() && ( {someElementIsSelectedIsRectangleOrEllipseOrDiamond() && (
<> <>
<h4>Fill</h4> <h4>Fill</h4>
<div className="panelColumn"> <div className="panelColumn">
@ -1741,7 +1749,7 @@ class App extends React.Component<{}, AppState> {
</> </>
)} )}
{someElementIsSelectedIsRectangleOrEllipseOrArrow() && ( {someElementIsSelectedIsRectangleOrEllipseOrDiamondOrArrow() && (
<> <>
<h4>Stroke width</h4> <h4>Stroke width</h4>
<div className="panelColumn"> <div className="panelColumn">