Skip to content
This repository has been archived by the owner on Nov 30, 2018. It is now read-only.
/ Pant Public archive

React + Electron port of 1j01/jspaint 🐐

Notifications You must be signed in to change notification settings

wuweiweiwu/Pant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pant

The React + Electron port of jspaint by 1j01

Bootstrapped with electron-react-boilerplate

Win 98 Emulator

yarn

yarn dev

Features

Windows

  • draggable
  • outline when dragging

Tools

  • Free form select
  • Rectangular select
  • Eraser
  • Bucket thingy
  • Color sampler
  • Magnifying glass
  • Pencil
  • Brush
  • Spray can
  • Text
  • Straight line
  • Squiggly line
  • Rectangle
  • Polygon
  • Ellipse
  • Rounded Rectangle
  • draggable
  • dockable

Canvas

  • Drawing
  • Saving (to redux store?)
  • resizing
  • handles
  • resizing past window boundary (document mousemove event)

Color Palette

  • left click to change primary
  • right click to change secondary
  • Ctrl left click to change tertiary
  • double click to pull up <input type="color"/> (debounced for change)
  • draggable
  • dockable

Menu

  • File
  • Edit
  • View
  • Image
  • Colors
  • Help
  • Implement nested menus
  • Implement functions

Status bar

  • Tool tooltip
  • start coordinates
  • end coordinates

Misc

  • everything here http://www.albinoblacksheep.com/tutorial/mspaint
  • Brush Scaling (Ctrl + & - to adjust brush size)
  • "Custom Brushes" (hold Shift and drag the selection to smear it)
  • The 'Stamp' "Tool" (hold Shift and click the selection to stamp it)
  • Image Scaling (Ctrl+Shift + & - on the Numpad to scale the selection by factors of 2)
  • Color Replacement (right mouse button with Eraser to selectively replace the foreground color with the background color)
  • The Grid (Ctrl+G & Zoom to 6x+)
  • Add Redux Undo for canvas undos
  • Add Electron Redux to communicate with the main process