b9e42c3ef4
Build and Deploy / build-and-deploy (push) Has been cancelled
- lit-force-graph: Refactored for instance reuse, better lifecycle management, and added dynamic imports for AR/VR modes. - lit-html-table: Improved visual design, readability of headers, and fixed reactivity in editable mode. - lit-draggable-dom: Fixed clipping issues by switching to relative/absolute positioning and resolved a panning speed bug caused by CSS variable inheritance.
32 lines
635 B
TypeScript
32 lines
635 B
TypeScript
import { ColorMixin, Rect } from "./utils";
|
|
|
|
interface RectOptions extends Rect, ColorMixin {}
|
|
|
|
/**
|
|
* Draw a rectangle on the canvas
|
|
*
|
|
* @param ctx Canvas context
|
|
* @param options Options for the rectangle
|
|
*/
|
|
export function drawRect(ctx: CanvasRenderingContext2D, options: RectOptions) {
|
|
const {
|
|
x = 0,
|
|
y = 0,
|
|
width = 0,
|
|
height = 0,
|
|
fillColor,
|
|
strokeColor,
|
|
} = options;
|
|
ctx.rect(x, y, width, height);
|
|
|
|
if (fillColor) {
|
|
ctx.fillStyle = fillColor;
|
|
ctx.fillRect(x, y, width, height);
|
|
}
|
|
|
|
if (strokeColor) {
|
|
ctx.strokeStyle = strokeColor;
|
|
ctx.strokeRect(x, y, width, height);
|
|
}
|
|
}
|