Christopher Chedeau
f91b708abb
Revert "Shift drag to add to selection ( #350 )" ( #352 )
...
This reverts commit ce467f7b6572615c5f4050f3e514943867b6fb9d.
2020-01-12 12:08:18 -08:00
Timur Khazamov
ce467f7b65
Shift drag to add to selection ( #350 )
2020-01-12 11:56:10 -08:00
David Luzar
58ad6d741d
fix selecting elem inside already selected element ( #349 )
2020-01-12 11:43:31 -08:00
David Luzar
5887be6eda
select filled elements by clicking inside ( #340 )
2020-01-12 11:16:48 -08:00
Guillermo Peralta Scura
c67435719f
Use cursor delta to resize shape ( #341 )
2020-01-12 09:05:08 -08:00
Jeremy Press
abf2aaa102
"Select All" only appears when clicking outside of a shape via actionFilter ( #329 )
...
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-12 07:10:15 -08:00
Enzo Ferey
88a9cee8bb
History improvements ( #337 )
...
* Simplified redoOnce.
* Help mental model.
* Move clear redo stack where it belongs.
* Not needed anymore as we check for same state.
2020-01-12 03:19:24 -08:00
Gasim Gasimzada
ba8bc10431
Remove element shape object from local storage save ( #336 )
2020-01-12 15:08:47 +05:00
Christopher Chedeau
bc909b76da
Move copy paste handler to document ( #334 )
...
Hopefully it should resolve the copy pasting issues
Fixes #249
2020-01-11 21:39:16 -08:00
Christopher Chedeau
aad6e8f434
Reset to selection after creating a text ( #333 )
...
Fixes #252
Test plan:
- Click on text icon
- Click anywhere to start entering text
- Add a letter
- Make sure the cursor is selection and not text
- Click anywhere else, make sure it completes the text and not create a new one
2020-01-11 21:00:55 -08:00
Christopher Chedeau
44657efe71
Fix undoOnce ( #332 )
...
I just pasted @enzoferey's implementation and it fixed the bug reported by @dwelle
Fixes #307
2020-01-11 20:45:56 -08:00
Christopher Chedeau
dd2a7eb597
Fix copy-paste on input ( #331 )
...
If the input is active, we shouldn't override copy paste behavior
2020-01-11 20:41:47 -08:00
Christopher Chedeau
d45f48e60f
Set shape background to be transparent by default ( #330 )
...
Also makes "Clear canvas" reset the entire app state
2020-01-11 20:34:21 -08:00
Christopher Chedeau
3db7d69849
Debounce localstorage save ( #328 )
...
I profiled dragging and it looks like it takes ~3ms to save to localStorage a smallish scene and we're doing it twice per mousemove. Let's debounce so we don't pay that cost on every mouse move.
Stole the implementation from #220 which got reverted.
2020-01-11 20:15:41 -08:00
Christopher Chedeau
c745fd4e5e
Prevent cmd-r from selecting rectangle ( #327 )
...
I keep adding empty rectangles because I reload with cmd-r which enables rectangle :p Let's only make the shortcut work if there's no modifier enabled
2020-01-11 19:42:34 -08:00
Christopher Chedeau
407f00bbd5
Fix alt-duplicate ( #326 )
...
We need to unselect all the previous elements and select all the new ones. Also made sure that the shape is regenerated when the element is duplicated
2020-01-11 19:35:06 -08:00
Christopher Chedeau
8785bef523
Support transparent background + inline picker ( #325 )
...
Unfortunately, react-color has a bug where transparent color doesn't trigger onChange. I've been annoyed by the huge dependency anyway so decided to take the generated html (which is awesome) and reimplement a specific component for it.
I also made sure that we don't actually render anything when the background is transparent on rough (I looked at the generated path and made sure it didn't have the commands for the background)
2020-01-11 19:10:41 -08:00
Christopher Chedeau
157f0eae0c
Export to canvas only selected elements ( #323 )
...
Fixes #308
2020-01-11 16:15:26 -08:00
Christopher Chedeau
9fa69448e4
Remove Delete from panel ( #322 )
...
Now that we have context menu, we don't need it there
2020-01-11 16:11:21 -08:00
Christopher Chedeau
5bdd0a35f6
Fix cmd-a drawing arrows ( #321 )
...
We need to quit if we have either elements OR appState, not both.
2020-01-11 16:06:25 -08:00
Gasim Gasimzada
74764b06eb
Regenerate roughjs shape only when the item is updated ( #316 )
...
* Regenerate roughjs shape only when the item is updated
* Remove shape object during export and history undo/redo
* Remove shape element during copying
* Fix shape generation during creation
2020-01-11 16:00:00 -08:00
Christopher Chedeau
1bf18fe4ed
Tweak context menu style ( #320 )
...
- Move the context menu right next to the mouse so it's not so far away. But 1px out so that nothing is selected until you move your mouse
- Change the colors to be closer to the macos one. Unfortunately, macos has a 0.5px border that I'm not able to reproduce without some annoying hacks, 1px it'll be.
2020-01-11 15:59:42 -08:00
Christopher Chedeau
b481a29024
Remove console.log ( #317 )
2020-01-11 15:21:24 -08:00
Enzo Ferey
c6accd9fc7
Improve color suggestions ( #304 )
...
* Add palettes for each type of color picker.
* Add white canvas background and black element stroke.
* Add white for element background.
2020-01-11 14:58:44 -08:00
Christopher Chedeau
6399b1f318
Remove zindex options from panel ( #315 )
...
Now that they are in the context menu, we don't need to have them in the panel anymore.
Fixes #242
2020-01-11 14:58:11 -08:00
Timur Khazamov
8f28c59deb
Removed SceneState from renderElement ( #301 )
2020-01-11 14:38:41 -08:00
Gasim Gasimzada
76467073f2
Use innerText
instead of innerHTML
when measuring text ( #312 )
2020-01-11 14:25:33 -08:00
Gasim Gasimzada
f465121f9b
Feature: Action System ( #298 )
...
* Add Action System
- Add keyboard test
- Add context menu label
- Add PanelComponent
* Show context menu items based on actions
* Add render action feature
- Replace bringForward etc buttons with action manager render functions
* Move all property changes and canvas into actions
* Remove unnecessary functions and add forgotten force update when elements array change
* Extract export operations into actions
* Add elements and app state as arguments to `keyTest` function
* Add key priorities
- Sort actions by key priority when handling key presses
* Extract copy/paste styles
* Add Context Menu Item order
- Sort context menu items based on menu item order parameter
* Remove unnecessary functions from App component
2020-01-11 14:22:03 -08:00
Timur Khazamov
c253c0b635
Command clicking should "xor" selection ( #300 )
...
* Command clicking should "xor" selection
* Only shift key should play a role
* Get rid of `isDraggingElements`
* Renamed someElementIsDragged to draggingOccured
2020-01-10 22:45:58 +01:00
Gunay Mert Karadogan
3eb6d1de68
Fix history saving for resizing/dragging element ( #292 )
2020-01-10 16:01:00 +01:00
dwelle
81f23a8ccb
fix text shape contenteditable & paste handling ( fixes #293 )
2020-01-10 15:51:22 +01:00
Gasim Gasimzada
f2346275ef
Extract Side Panel from App component ( #295 )
...
* Extract Side Panel from App component
* Refactor SidePanel component
- Remove unnecessary props (we are already passing appState as a prop)
- Remove unnecessary allback (we are already passing setState)
2020-01-10 18:00:19 +04:00
Gasim Gasimzada
35b5f6dd0d
Fix a bug where clipboard object doesn't exist in Safari ( #296 )
2020-01-10 10:38:39 +01:00
David Luzar
2fb3cdd5e4
fix copy/paste regression ( #291 )
2020-01-09 18:43:24 +01:00
David Luzar
deee57314d
support export canvas to clipboard ( #232 )
2020-01-09 17:37:08 +01:00
Giovanni Giordano
1541428ab1
Clear active tool on escape ( #286 )
...
* Clear active tool on escape
* Remove console log
2020-01-09 16:30:18 +01:00
Gasim Gasimzada
862231da4f
Make all operations on elements array immutable ( #283 )
...
* Make scene functions return array instead of mutate array
- Not all functions were changes; so the given argument was a new array to some
* Make data restoration functions immutable
- Make mutations in App component
* Make history actions immutable
* Fix an issue in change property that was causing elements to be removed
* mark elements params as readonly & remove unnecessary copying
* Make `clearSelection` return a new array
* Perform Id comparisons instead of reference comparisons in onDoubleClick
* Allow deselecting items with SHIFT key
- Refactor hit detection code
* Fix a bug in element selection and revert drag functionality
Co-authored-by: David Luzar <luzar.david@gmail.com>
2020-01-09 16:22:04 +01:00
Faustino Kialungila
1ea72e9134
Center element on paste ( #248 )
...
* Center element on paste
* paste on cursor position
* correctly center elements
* rename vars
2020-01-09 12:34:46 +01:00
Guillermo Peralta Scura
4a044d3ace
Show move and resize cursors on hover ( #280 )
...
* Change to move cursor on hover
* Show resize handlers on hover
2020-01-08 18:56:35 -08:00
davidbonan
a16cd3a34f
Add font size and font familly option for selection ( #278 )
...
* Add font size and font familly option for selection
* Allow copy font style
* More clearner method name
* Update options size and font-familly
2020-01-08 17:29:41 -08:00
Gasim Gasimzada
299e7e9099
Extract app and keys ( #276 )
...
* Extract app component from entrypoint (index)
- Use refs to refer to canvas and rough context
- Remove ReactDOM double rendering
* Extract keys and key related utils into their own module
* Move everything back to entrypoint
2020-01-09 02:00:59 +04:00
Gasim Gasimzada
36ce6a26e6
Make panels collapsible ( #239 )
...
* Make panels collapsible
- Add Panel component with collapse logic
- Use the component in all the necessary panel groups
* Remove unnecessary container from PanelCanvas
* Add "hide property" to Pane component to hide Panel contents using a prop
- Instead of doing conditional rendering, pass the condition to Panel as props
* Change collapse icon rotation for closed
- Use one icon and use CSS transforms to rotate it
* Remove unnecessary imports from PanelSelection
2020-01-08 13:06:36 -08:00
Timur Khazamov
e38f65dea7
Contenteditable wysiwyg ( #274 )
...
* Contenteditable wysiwyg
* Added comment about pasting multiline text
2020-01-09 02:04:53 +05:00
Timur Khazamov
1739540f00
Creating a text near the center of a shape should put it in the center ( #270 )
...
* Snap to element center
* Fixed typo
* Added comment
* Reduced threshold to 30
* Skip snapping if alt key is pressed
* Fixed creating text with shape tool
2020-01-09 01:09:09 +05:00
David Luzar
068dca604f
prevent commit on eslint warnings & fix lint ( #268 )
2020-01-08 20:08:43 +01:00
Timur Khazamov
37934c0f8b
Fixes text jumping on creation ( #266 )
...
* Fixes text jumping on creation
* Do not remove node on ESC
* Fixed typo
2020-01-09 00:06:25 +05:00
David Luzar
2122a9cf9f
fix for duplicating elements ( #261 )
2020-01-08 19:54:42 +01:00
David Luzar
58ec6567ae
ensure alt+drag duplicates all selected elems ( #258 )
2020-01-08 09:09:02 -08:00
dwelle
08b804ac63
ensure only selected elems can be resized ( fixes #256 )
2020-01-08 18:06:04 +01:00
dwelle
009412a093
improve typing for handlerRectangles
2020-01-08 17:05:00 +01:00
Jeremy Scatigna
e7bf034fef
duplicate element by alt dragging ( #255 )
2020-01-08 17:03:13 +01:00
Gasim Gasimzada
4b7eb2f04a
Add IDs to elements ( #236 )
...
* Add IDs to elements
- Move round rect function within the renderer
* Generate IDs using nanoid
* If element ID does not exist, add the ID during restoration
2020-01-07 23:49:39 +04:00
Timur Khazamov
2f9aa0e3ca
Async loading of TwitterPicker ( #246 )
2020-01-07 10:37:22 -08:00
Timur Khazamov
2d66616e3f
Fixed: Copy + Paste moves text inside rectangle #229 ( #245 )
2020-01-07 19:02:15 +01:00
Faustino Kialungila
846f427732
adding comments about diamond dimensions ( #241 )
2020-01-07 18:59:10 +01:00
Timur Khazamov
10955f8bb0
Wysiwyg text 2.0 ( #238 )
...
* Fixed cleaning handlers after cleanup
* Double click to edit text
* Preserve text styles on change
2020-01-07 09:21:05 -08:00
Timur Khazamov
ae982e9298
Revert "Save scene in URL ( #220 )" ( #234 )
...
This reverts commit db973c61e85347120c46adba6cb33e50d49988ba.
2020-01-07 07:18:20 -08:00
Gasim Gasimzada
829a65b8cb
Refactor Element Functions ( #233 )
...
* Remove `generatedraw` from element object
- Create a function that renders a single element
- Refactor rendering selected elements
* Replace getElementAbsoluteXY with getElementAbsoluteCoords
2020-01-07 19:04:52 +04:00
Gasim Gasimzada
85365e5bcb
Extract Sidebar panels into separate components ( #230 )
...
* Extract Sidebar panels into separate components
* Add Jest TS types
2020-01-07 15:06:22 +04:00
Faustino Kialungila
2fb5c4cd13
Add styles copy and pasting in the context menu ( #227 )
2020-01-06 23:04:15 -08:00
Christopher Chedeau
f2665408fc
Revert "Wysiwyg text ( #200 )" ( #225 )
...
This reverts commit abbc04df0e5a3b9265ada12a73bc9b8a810a329c.
2020-01-06 19:50:37 -08:00
Timur Khazamov
db973c61e8
Save scene in URL ( #220 )
...
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-06 19:08:23 -08:00
Timur Khazamov
abbc04df0e
Wysiwyg text ( #200 )
2020-01-06 19:03:05 -08:00
Anirban Sengupta
b2eb2807cc
Use Ctrl instead of Cmd for keyboard shortcuts on Windows ( #216 )
...
Co-authored-by: Christopher Chedeau <vjeuxx@gmail.com>
2020-01-06 18:57:38 -08:00
Timur Khazamov
257f697a98
Context menu with some commands ( #217 )
2020-01-06 18:50:59 -08:00
Faustino Kialungila
9305a33dba
Copy and paste styles ( #219 )
...
* copy and paste styles
* save copied styles in memory
2020-01-06 23:22:48 +01:00
David Luzar
1443cf1cd5
implement shift+resize for all sides ( #210 )
2020-01-06 21:19:21 +01:00
Abhishek Kulshrestha
b12ea7de3e
paste inside the viewport ( #214 )
2020-01-06 20:36:48 +01:00
Faustino Kialungila
5ade8987e4
Fixes pasting colors in color picker ( #215 )
...
* improve lozenge dimensions
* fix pasting colors in color picker input
2020-01-06 20:28:14 +01:00
Timur Khazamov
7bf0184499
Fixed ellipse hit test if sizes are negative ( #205 )
2020-01-06 23:06:54 +05:00
Gasim Gasimzada
d0365933a9
Extract history ( #213 )
...
* Extract History into its own module
* Encapsulate undo and redo actions within history
* Encapsulate clearing redo stack within History
* Add private access modifiers to scene history class member variables
* Remove duplicate files
2020-01-06 21:58:48 +04:00
Gasim Gasimzada
054669cfef
Extract components and shapes into their respective modules ( #212 )
2020-01-06 21:29:44 +04:00
Gasim Gasimzada
86a1c29eec
Extract scene functions to their respective modules ( #208 )
...
- Also, extract utilities into utils module -- capitalizeString, getDateTime, isInputLike
2020-01-06 20:24:54 +04:00
Gasim Gasimzada
01805f734d
Extract element functions into modules ( #207 )
2020-01-06 19:34:22 +04:00
Gasim Gasimzada
e3eef04e00
Move math and random files into their respective modules ( #198 )
...
* Move math and random files into their respective modules
- Move distanceBetweenPointAndSegment to math module
- Move LCG, randomSeed, and withCustomMathRandom to random module
* Add everything else back
2020-01-06 10:33:22 +01:00
Faustino Kialungila
b3667000e2
improve lozenge dimensions ( #197 )
2020-01-06 09:08:09 +01:00
Guillermo Peralta Scura
ea534dd535
Implement redo ( #191 )
2020-01-05 19:58:54 -08:00
Christopher Chedeau
3bbcb9cbdc
Improve Color Picker *2 ( #195 )
2020-01-05 19:57:50 -08:00
Christopher Chedeau
23cd62d148
Improve selection view ( #192 )
2020-01-05 19:11:35 -08:00
Paulo Menezes
d5c6dd49a2
Styles fix ( #190 )
...
* Styles improvements
* Default values when restore elements
2020-01-05 18:17:24 -08:00
Paulo Menezes
feefb14bf5
Double click to add text ( #184 )
...
* Double click to add text
* Remove duplicate code
* Add text improvements
* Cast element to text element
2020-01-05 17:38:19 -08:00
Paulo Menezes
f360c3cb33
Change styles ( #179 )
...
* Fill style
* Roughness, opacity and more styles
* Remove duplicated options
* Support diamonds
* Remove unused import
* Fix typo and remove react import
2020-01-05 15:37:24 -08:00
Faustino Kialungila
4be88c9c58
Adding diamond shape ( #159 )
...
* Adding diamond shape
* hittest diamond shape
* fix x,y arguments
* renaming
2020-01-05 15:10:35 -08:00
Christopher Chedeau
fd6b5024c7
Reorganize menu ( #178 )
2020-01-05 14:45:16 -08:00
IA
5f806474e3
Allow user to set file name ( #145 )
...
* Allow user to set file name
* Add EditableText component
Added editable text component and use component for project name edit.
* rebased branch
* Updated EditableText component
* Set default project name
* Move project name field away from the top section.
2020-01-05 14:26:00 -08:00
Timur Khazamov
7201198f23
Better scrollbars ( #177 )
...
* Better scrollbars
* Get rid of all unused options
2020-01-06 02:26:01 +05:00
Jared Palmer
b5c67260d7
Improved color picker ( #174 )
...
* Add react-color
* Prettier
* Better styles
* Use enum for color pickers instead of strings
* Run prettier on .scss file
2020-01-05 13:05:55 -08:00
Timur Khazamov
e7e676e1eb
Merge pull request #171 from nanot1m/arrows-start-end-points
...
Adjust arrow start/end points
2020-01-06 00:30:57 +05:00
Giovanni Giordano
be41bd0f1c
Merge pull request #168 from nanot1m/fix-square-selection
...
Square selection should work in all directions
2020-01-05 20:27:52 +01:00
hazam
d4693e0b37
Adjust arrow start/end points
2020-01-06 00:18:49 +05:00
Jared Palmer
15251e6c61
Add titles to shape buttons with key shortcuts
2020-01-05 10:46:00 -08:00
hazam
8c1af23d59
Square selection should work in all directions
2020-01-05 23:26:32 +05:00
Timur Khazamov
910b30a08a
Dragging scrollbars ( #161 )
2020-01-05 10:06:21 -08:00
Giovanni Giordano
d61ecca184
Merge pull request #156 from gipsy-king/textmeasure-actualboundingbox
...
fallback if TextMeasure.actualBoundingBox* unavailable
2020-01-05 15:27:14 +01:00
Benjamin Große
2feedbdbb7
fallback if TextMeasure.actualBoundingBox* unavailable
2020-01-05 15:23:57 +01:00
Giovanni Giordano
02daf6ffbd
Recover index.tsx
2020-01-05 15:10:42 +01:00
Giovanni Giordano
c4f4f18b81
Remove deploy files
2020-01-05 15:03:02 +01:00
Lucas Azzola
7c321b49ab
Add save/load functionality from file ( #146 )
...
Fixes #143
2020-01-04 20:20:09 -08:00
Lucas Azzola
30ccaf0152
Set the cursor to 'crosshair' when expected to draw ( #142 )
...
* Set the cursor to 'crosshair' when expected to draw
And reset it back to default on mouse up.
Fixes #102
* Also reset cursor on text selection
* Use 'text' cursor for text
2020-01-04 19:33:21 -08:00
Christopher Chedeau
85fe9f85fb
Fix missing mouseup ( #144 )
2020-01-04 18:36:49 -08:00
Christopher Chedeau
9e5c5daf64
Cmd-Z ( #141 )
2020-01-04 16:59:59 -08:00
Christopher Chedeau
4ca8f65887
Use device pixel ratio ( #139 )
...
* Use device pixel ratio
* Update index.tsx
2020-01-04 16:08:35 -08:00
Brady Madden
4ad49ff970
Merge pull request #137 from bradymadden97/master
...
[bugfix] fix drag out of window for move/resize shape
2020-01-04 17:31:18 -05:00
Brady Madden
ec28c83626
fix other drag issues
2020-01-04 17:18:16 -05:00
Paulo Menezes
dfb7faec30
Resize with negative width or height ( #136 )
...
* Disable resize for text, arrow and multiple selection
* Resize with negative width and height
* Fix resizing when leaves windows
2020-01-04 13:39:55 -08:00
Christopher Chedeau
3172109050
Inline font-awesome icons ( #134 )
2020-01-04 12:47:12 -08:00
David Luzar
490438960d
fix export to support scrolling ( #133 )
2020-01-04 12:46:50 -08:00
Timur Khazamov
aa01be2dbe
Fixed Unable to preventDefault errors in Chrome ( #130 )
...
* Fixed Unable to preventDefault errors in Chrome
* Cleanup wheel event listener
2020-01-04 12:11:23 -08:00
Timur Khazamov
34b8883739
Added outlines to focused buttons ( #129 )
2020-01-04 12:08:27 -08:00
Brady Madden
1919f30878
fix offset top and length causing drag issues ( #122 )
2020-01-04 11:05:45 -08:00
Paulo Menezes
dee8a73d3d
Resize ( #103 )
...
* Resize
* Detect collision with squares
* Disable resize for text, arrow and multiple selection
* Hide middle handlers when small
2020-01-04 10:56:11 -08:00
Christopher Chedeau
bd86f819df
Prevent re-assignment of elements ( #121 )
2020-01-04 10:48:23 -08:00
Christopher Chedeau
25aabdc4d1
Fix hit testing ( #119 )
2020-01-04 10:19:18 -08:00
dwelle
a1bcfb401c
move css to scss
2020-01-04 19:14:12 +01:00
dwelle
250fbe2e1e
make container fullscreen
2020-01-04 18:38:31 +01:00
dwelle
c5d65ccb39
ensure we defocus input on canvas click
...
- also reuse the same detection logic for cancelling keyboard events
2020-01-04 17:46:45 +01:00
Faustino Kialungila
922ad6edcb
Improve Buttons UX
2020-01-04 15:35:46 +01:00
David Luzar
e0deb68875
ensure mouse drag doesn't select texts ( #32 ) ( #111 )
2020-01-04 06:22:08 -08:00
David Luzar
c623312380
add support for clearing canvas ( #108 )
2020-01-04 06:20:53 -08:00
hazam
4a03fa8542
Fix: right clicking while on the canvas messes up selection
2020-01-04 15:58:31 +05:00
Christopher Chedeau
4886065443
Wire up forward ( #101 )
...
* Wire up forward
* Match words with Keynote/Powerpoint
2020-01-03 21:46:49 -08:00
Christopher Chedeau
6b8d2970ac
Add support for forward ( #100 )
2020-01-03 21:38:48 -08:00
Paulo Menezes
e9484080e7
UI move buttons ( #99 )
2020-01-03 21:38:32 -08:00
Christopher Chedeau
0d5272720f
Send to back ( #98 )
2020-01-03 21:03:25 -08:00
Paulo Menezes
b1a90c0020
Side panel ( #95 )
...
* Side panel
* Update arrow icon
2020-01-03 19:58:20 -08:00
Christopher Chedeau
66938ae5c6
Update on resize ( #94 )
...
Fixes #88
2020-01-03 18:35:14 -08:00
Christopher Chedeau
8605af2b54
Fix key warning ( #93 )
2020-01-03 18:32:23 -08:00
Christopher Chedeau
c077403eec
Generate new seed on paste
2020-01-03 18:29:46 -08:00
Christopher Chedeau
929efa5e2c
Distance between point and ellipsis ( #92 )
2020-01-03 18:16:16 -08:00
Sergey Rubanov
51bea5eff3
- Use Math.hypot ( #87 )
...
- Fix context parameter name in isTextElement function
- Remove unused code
- Use block scope everywhere
2020-01-03 15:20:26 -08:00
Alex Bratsos
58d81280c9
Add shortcuts ( #85 )
...
* Add yarn.lock to .gitignore
* Extract available shapes to one place
* Add event listeners for shapes shortcuts
* fixup! Add event listeners for shapes shortcuts
* Underline first letter of shapes
to indicate interactivity
* fixup! Extract available shapes to one place
* fixup! Add event listeners for shapes shortcuts
2020-01-03 15:08:34 -08:00
hazam
9d65b1cbc1
Code cleanup
2020-01-04 03:03:08 +05:00
hazam
1b93888da5
Restore fill style
2020-01-04 02:52:47 +05:00
hazam
2a0eacbeca
Fixed selection and added scrollbars
2020-01-04 02:45:01 +05:00
hazam
51e19b977e
Scroll with mouse wheel
2020-01-04 02:45:00 +05:00
Giovanni Giordano
02bf6f0f14
Add preload to font
2020-01-03 22:21:58 +01:00
Christopher Chedeau
b18a0efe2c
Seed ( #73 )
2020-01-03 12:33:52 -08:00
Faustino Kialungila
4fa55222fd
Rename excalibur to excalidraw
2020-01-03 20:21:55 +01:00
Paulo Menezes
98b158a83d
Save to local storage ( #53 )
...
* Save to local storage
* Restore on page load
* Warning when leave without save
2020-01-03 09:12:37 -08:00
Faustino Kialungila
f2386eb131
Add Text Colors ( #67 )
...
* Add ability to choose a color when creating text elements
* use strokeColor instead of adding a new field
2020-01-03 08:29:12 -08:00
Kevin Viglucci
527209e740
Add support for 'delete' key ( #56 )
...
* add package-lock.json to gitignore as project appears to use yarn
* add support for deleting elements with "delete" key + assign magic numbers and keycode values to named properties
2020-01-03 07:47:34 -08:00
Giovanni Giordano
c2c13f0f27
Merge pull request #64 from excalidraw/fix-body-margin
...
Fixes body margin
2020-01-03 16:04:10 +01:00
Faustino Kialungila
c224bc4c8f
Fix global items colors
2020-01-03 15:25:52 +01:00
Giovanni Giordano
26c7f362b6
Fixes body margin
2020-01-03 15:23:03 +01:00
David Luzar
db386b8400
fix regression of always exporting bg ( #62 )
2020-01-03 05:18:26 -08:00
Christopher Chedeau
a5b0e192b4
Remove drawScene ( #58 )
2020-01-02 19:47:32 -08:00
Christopher Chedeau
4c94976527
Random fixes ( #57 )
2020-01-02 18:20:08 -08:00
Faustino Kialungila
10e317e359
Colors
2020-01-02 17:54:08 -08:00
Christopher Chedeau
3b919f3235
Cmd-A to select everything ( #51 )
2020-01-02 14:42:53 -08:00
Christopher Chedeau
278fc11d22
Better selection click detection ( #50 )
2020-01-02 14:33:45 -08:00
Christopher Chedeau
8a43ed691d
Handle escape keybinding ( #49 )
2020-01-02 14:10:32 -08:00
Christopher Chedeau
0d75b78374
Path-dependent hit test ( #48 )
...
* Hit test
* Hit test
* Hit test
2020-01-02 13:47:50 -08:00
David Luzar
4c1bf07863
ensure click-to-select is exclusive ( fixes #43 ) ( #45 )
2020-01-02 13:03:14 -08:00
Christopher Chedeau
b6c30c0550
Copy paste ( #44 )
...
* Copy Paste
* Copy paste
2020-01-02 12:49:06 -08:00
dwelle
579c32b5b2
remove optional chaning
...
until CodeSandbox adds support for it in CRA apps
2020-01-02 20:43:00 +01:00
Timur Khazamov
1383758aa7
TS, Prettier, Eslint ( #39 )
...
* TS, Prettier, Eslint
* Used rough ts definitions
2020-01-02 11:03:48 -08:00
dwelle
4eda1cfb5d
prevent exporting empty canvas
2020-01-02 18:19:00 +01:00
dwelle
f091e9813e
fix exporting bg for non-cropped exports
...
- also refactor and add comments to `exportAsPNG`
2020-01-02 18:11:58 +01:00
Giovanni Giordano
4a4f36592f
Fixes selecting an element
2020-01-02 17:54:08 +01:00
Giovanni Giordano
61bdedaecf
Clear selection if no element is clicked
2020-01-02 16:14:58 +01:00
Giovanni Giordano
874934e585
Merge branch 'master' into select-on-click
2020-01-02 15:58:24 +01:00
Giovanni Giordano
715efc054e
Remove extra check for dragging
2020-01-02 15:56:34 +01:00
Giovanni Giordano
a9bd112f47
Select element on click
2020-01-02 15:54:36 +01:00
David Luzar
68eeaa3c7d
add PNG export ( #31 )
2020-01-02 06:43:59 -08:00
Timur Khazamov
bb151d83bc
Drag to move selection ( #28 )
2020-01-02 05:58:25 -08:00
Christopher Chedeau
44ff545219
Fix text height
2020-01-01 22:15:27 -08:00
Christopher Chedeau
afe6331c61
Reset selection when adding text
2020-01-01 22:09:12 -08:00
Christopher Chedeau
ee7dc953bf
Fix clearRect for [0, 0.5]
2020-01-01 21:51:13 -08:00
Christopher Chedeau
457800caa3
Mouse move tracked outside window!
2020-01-01 21:46:42 -08:00
Christopher Chedeau
9aaaa24426
Also for text
2020-01-01 21:13:01 -08:00
Christopher Chedeau
2fa00f39fc
Automatically select last inserted element
2020-01-01 21:10:56 -08:00
Christopher Chedeau
c26d04e162
Don't write null when cancelling text
2020-01-01 21:03:44 -08:00
Christopher Chedeau
ab84b5a048
Go to selection mode after adding a shape
2020-01-01 21:01:40 -08:00
Christopher Chedeau
f8873dd56b
Do not regenerate shapes when moving
2020-01-01 20:56:18 -08:00
Christopher Chedeau
bd515f7e50
Real 1px lines
2020-01-01 20:21:47 -08:00
Christopher Chedeau
4076cf003f
Proper fix for negative width
2020-01-01 20:13:06 -08:00
Christopher Chedeau
3c8eb862f5
Move with arrow keys
2020-01-01 20:02:09 -08:00
Christopher Chedeau
48d9147d87
Fix selection from right to left
2020-01-01 19:53:22 -08:00
Christopher Chedeau
aeb11989e3
Fix text selection
2020-01-01 18:12:49 -08:00
Christopher Chedeau
3769c4af00
Handle backspace
2020-01-01 17:58:28 -08:00
Christopher Chedeau
9dc19dde1d
Proper text sizing
2020-01-01 17:51:14 -08:00
Christopher Chedeau
47e626f510
Add selection ( #1 )
2020-01-01 17:12:42 -08:00
Christopher Chedeau
6278cd9366
Initial commit
2020-01-01 17:04:47 -08:00