├── .editorconfig ├── .github └── workflows │ ├── format.yml │ └── tests.yml ├── .gitignore ├── .prettierrc ├── LICENSE ├── README.md ├── assets └── index-3cfb730f.js ├── dev ├── App.module.css ├── App.tsx ├── index.html ├── index.tsx ├── logo.svg ├── pages │ ├── Arms.tsx │ ├── Cubics.tsx │ ├── CubicsColored.tsx │ ├── EditableCurves.tsx │ ├── Feedback.tsx │ ├── FeedbackImage.tsx │ ├── Path.tsx │ ├── QuadraticDraw.tsx │ ├── Quadratics.tsx │ ├── SmileyPaint.tsx │ ├── Smileys.tsx │ └── rectangles.tsx ├── styles.css ├── tsconfig.json └── vite.config.ts ├── env.d.ts ├── index.html ├── package.json ├── pnpm-lock.yaml ├── src ├── components │ ├── Canvas.tsx │ ├── Color │ │ ├── Gradient.tsx │ │ └── Pattern.tsx │ └── Object2D │ │ ├── Group.tsx │ │ └── Shape2D │ │ ├── Image.ts │ │ ├── Path2D │ │ ├── Arc.tsx │ │ ├── Bezier.tsx │ │ ├── Line.tsx │ │ ├── Path.tsx │ │ ├── Quadratic.tsx │ │ └── Rectangle.tsx │ │ └── Text.ts ├── context │ ├── InternalContext.ts │ └── UserContext.ts ├── controllers │ ├── ClickStyle.ts │ ├── Drag.ts │ ├── Handle │ │ └── index.tsx │ ├── Hover.ts │ ├── Noop.ts │ ├── controllers.ts │ └── createController.ts ├── d │ ├── createArc.ts │ ├── createCubic.ts │ ├── createLine.ts │ ├── createQuadratic.ts │ ├── d.ts │ └── linkTo.ts ├── defaultProps.ts ├── index.tsx ├── parser.ts ├── types.ts └── utils │ ├── addPositions.ts │ ├── createBounds.ts │ ├── createClock.ts │ ├── createControlledProps.ts │ ├── createDebugSvg.tsx │ ├── createHandles.tsx │ ├── createMatrix.ts │ ├── createMouseEventHandler.ts │ ├── createParenthood.ts │ ├── createPath2D.ts │ ├── createProcessedPoints.ts │ ├── createShape2D.ts │ ├── createUpdatedContext.ts │ ├── filterShape2DProps.ts │ ├── forEachReversed.ts │ ├── getPositionFromMatrix.ts │ ├── getQuadraticBounds.ts │ ├── invertPosition.ts │ ├── isPointInShape2D.ts │ ├── mergeGetters.ts │ ├── mergeShape2DProps.ts │ ├── renderPath.ts │ ├── renderPoint.ts │ ├── resolveColor.ts │ ├── resolveImageSource.ts │ ├── transformPoint.ts │ ├── typehelpers.ts │ └── withContext.tsx ├── test ├── index.test.tsx └── server.test.tsx ├── tsconfig.json ├── tsup.config.ts └── vitest.config.ts /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/.github/workflows/format.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/README.md -------------------------------------------------------------------------------- /assets/index-3cfb730f.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/assets/index-3cfb730f.js -------------------------------------------------------------------------------- /dev/App.module.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/App.module.css -------------------------------------------------------------------------------- /dev/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/App.tsx -------------------------------------------------------------------------------- /dev/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/index.html -------------------------------------------------------------------------------- /dev/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/index.tsx -------------------------------------------------------------------------------- /dev/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/logo.svg -------------------------------------------------------------------------------- /dev/pages/Arms.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Arms.tsx -------------------------------------------------------------------------------- /dev/pages/Cubics.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Cubics.tsx -------------------------------------------------------------------------------- /dev/pages/CubicsColored.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/CubicsColored.tsx -------------------------------------------------------------------------------- /dev/pages/EditableCurves.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/EditableCurves.tsx -------------------------------------------------------------------------------- /dev/pages/Feedback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Feedback.tsx -------------------------------------------------------------------------------- /dev/pages/FeedbackImage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/FeedbackImage.tsx -------------------------------------------------------------------------------- /dev/pages/Path.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Path.tsx -------------------------------------------------------------------------------- /dev/pages/QuadraticDraw.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/QuadraticDraw.tsx -------------------------------------------------------------------------------- /dev/pages/Quadratics.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Quadratics.tsx -------------------------------------------------------------------------------- /dev/pages/SmileyPaint.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/SmileyPaint.tsx -------------------------------------------------------------------------------- /dev/pages/Smileys.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/Smileys.tsx -------------------------------------------------------------------------------- /dev/pages/rectangles.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/pages/rectangles.tsx -------------------------------------------------------------------------------- /dev/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/styles.css -------------------------------------------------------------------------------- /dev/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/tsconfig.json -------------------------------------------------------------------------------- /dev/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/dev/vite.config.ts -------------------------------------------------------------------------------- /env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/env.d.ts -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/components/Canvas.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Canvas.tsx -------------------------------------------------------------------------------- /src/components/Color/Gradient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Color/Gradient.tsx -------------------------------------------------------------------------------- /src/components/Color/Pattern.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Color/Pattern.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Group.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Image.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Image.ts -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Arc.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Arc.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Bezier.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Bezier.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Line.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Line.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Path.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Path.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Quadratic.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Quadratic.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Path2D/Rectangle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Path2D/Rectangle.tsx -------------------------------------------------------------------------------- /src/components/Object2D/Shape2D/Text.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/components/Object2D/Shape2D/Text.ts -------------------------------------------------------------------------------- /src/context/InternalContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/context/InternalContext.ts -------------------------------------------------------------------------------- /src/context/UserContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/context/UserContext.ts -------------------------------------------------------------------------------- /src/controllers/ClickStyle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/ClickStyle.ts -------------------------------------------------------------------------------- /src/controllers/Drag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/Drag.ts -------------------------------------------------------------------------------- /src/controllers/Handle/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/Handle/index.tsx -------------------------------------------------------------------------------- /src/controllers/Hover.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/Hover.ts -------------------------------------------------------------------------------- /src/controllers/Noop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/Noop.ts -------------------------------------------------------------------------------- /src/controllers/controllers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/controllers.ts -------------------------------------------------------------------------------- /src/controllers/createController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/controllers/createController.ts -------------------------------------------------------------------------------- /src/d/createArc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/createArc.ts -------------------------------------------------------------------------------- /src/d/createCubic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/createCubic.ts -------------------------------------------------------------------------------- /src/d/createLine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/createLine.ts -------------------------------------------------------------------------------- /src/d/createQuadratic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/createQuadratic.ts -------------------------------------------------------------------------------- /src/d/d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/d.ts -------------------------------------------------------------------------------- /src/d/linkTo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/d/linkTo.ts -------------------------------------------------------------------------------- /src/defaultProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/defaultProps.ts -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/index.tsx -------------------------------------------------------------------------------- /src/parser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/parser.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/addPositions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/addPositions.ts -------------------------------------------------------------------------------- /src/utils/createBounds.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createBounds.ts -------------------------------------------------------------------------------- /src/utils/createClock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createClock.ts -------------------------------------------------------------------------------- /src/utils/createControlledProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createControlledProps.ts -------------------------------------------------------------------------------- /src/utils/createDebugSvg.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createDebugSvg.tsx -------------------------------------------------------------------------------- /src/utils/createHandles.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createHandles.tsx -------------------------------------------------------------------------------- /src/utils/createMatrix.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createMatrix.ts -------------------------------------------------------------------------------- /src/utils/createMouseEventHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createMouseEventHandler.ts -------------------------------------------------------------------------------- /src/utils/createParenthood.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createParenthood.ts -------------------------------------------------------------------------------- /src/utils/createPath2D.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createPath2D.ts -------------------------------------------------------------------------------- /src/utils/createProcessedPoints.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createProcessedPoints.ts -------------------------------------------------------------------------------- /src/utils/createShape2D.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createShape2D.ts -------------------------------------------------------------------------------- /src/utils/createUpdatedContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/createUpdatedContext.ts -------------------------------------------------------------------------------- /src/utils/filterShape2DProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/filterShape2DProps.ts -------------------------------------------------------------------------------- /src/utils/forEachReversed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/forEachReversed.ts -------------------------------------------------------------------------------- /src/utils/getPositionFromMatrix.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/getPositionFromMatrix.ts -------------------------------------------------------------------------------- /src/utils/getQuadraticBounds.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/getQuadraticBounds.ts -------------------------------------------------------------------------------- /src/utils/invertPosition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/invertPosition.ts -------------------------------------------------------------------------------- /src/utils/isPointInShape2D.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/isPointInShape2D.ts -------------------------------------------------------------------------------- /src/utils/mergeGetters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/mergeGetters.ts -------------------------------------------------------------------------------- /src/utils/mergeShape2DProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/mergeShape2DProps.ts -------------------------------------------------------------------------------- /src/utils/renderPath.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/renderPath.ts -------------------------------------------------------------------------------- /src/utils/renderPoint.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/renderPoint.ts -------------------------------------------------------------------------------- /src/utils/resolveColor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/resolveColor.ts -------------------------------------------------------------------------------- /src/utils/resolveImageSource.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/resolveImageSource.ts -------------------------------------------------------------------------------- /src/utils/transformPoint.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/transformPoint.ts -------------------------------------------------------------------------------- /src/utils/typehelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/typehelpers.ts -------------------------------------------------------------------------------- /src/utils/withContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/src/utils/withContext.tsx -------------------------------------------------------------------------------- /test/index.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/test/index.test.tsx -------------------------------------------------------------------------------- /test/server.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/test/server.test.tsx -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/tsup.config.ts -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bigmistqke/solid-canvas/HEAD/vitest.config.ts --------------------------------------------------------------------------------