Commit graph

821 commits

Author SHA1 Message Date
DD Liu
9e70c96044
Merge pull request #984 from adroitwhiz/fix-empty-svg-center
Set rotation center of empty SVGs to (0, 0)
2020-05-15 14:57:39 -04:00
DD Liu
902b599cfa
Merge pull request #919 from adroitwhiz/handle-null-color
Handle `null` colors in bitmap shape tools
2020-05-15 14:56:42 -04:00
adroitwhiz
66b376b98d Fix rotation center of empty SVGs 2020-05-14 14:57:54 -04:00
DD Liu
2cb1f1a62d Merge branch 'develop' into fillSpace 2020-05-14 14:21:35 -04:00
DD Liu
0e20cd0234 fix that zooming from .5 to .333 by scroll wheel is not smooth 2020-05-11 18:42:52 -04:00
DD Liu
5230e97903 Fix width/height switched 2020-05-11 17:56:22 -04:00
apple502j
4d3183a6ab Update sprite when gradient colors are swapped 2020-05-12 02:38:14 +09:00
DD Liu
c6d5d892cf Bring in adroitwhiz's changes 2020-05-06 22:57:11 -04:00
DD Liu
33659f1d16 Merge branch 'develop' into fillSpace 2020-05-06 22:46:48 -04:00
DD Liu
0d63987fea Move magic numbers to constants in layer.js 2020-05-06 22:46:33 -04:00
adroitwhiz
77f01b3ec4 Remove compound path TODOs from blob.js 2020-04-24 17:38:53 -04:00
DD Liu
7ffe87e712
Merge pull request #921 from adroitwhiz/mergeeraser-skip-child-paths
Skip processing of child paths in mergeEraser
2020-04-24 17:07:06 -04:00
adroitwhiz
1c6425f9e3 Filter out compound path children *before* looping 2020-04-21 21:29:30 -04:00
DD Liu
337f12b836 Fill the available space in the costume tab 2020-04-21 18:04:26 -04:00
DD Liu
8865291d04 Add new zoom level 2020-04-21 17:59:56 -04:00
DD Liu
eda582363a Pass mode through to more selection tools. Correct the mode type of some tools that were misreporting it before. 2020-04-21 13:11:27 -04:00
DD Liu
ca76a99fb4 Add more space around the scrollbars 2020-04-21 12:31:06 -04:00
DD Liu
1eec689935 Fix not resizing the crosshair when switching tabs and coming back to the paint editor 2020-02-13 12:04:28 -05:00
DD Liu
dd63f75a38 Clarify comments 2020-02-12 13:21:09 -05:00
DD Liu
591cf6d635 Slightly adjust the opacity per design feedback 2020-02-12 11:58:08 -05:00
DD Liu
37ede20e0a Fix a bug where the rectangles didnt get cleaned up from the view 2020-02-11 22:30:59 -05:00
DD Liu
e8c33c8779 Change the opacity code so that the crosshair stays opaque over the entirety of the selection 2020-02-11 21:44:45 -05:00
DD Liu
56a9e92458 Fix lint 2020-02-09 21:12:30 -05:00
DD Liu
00c0b303bf Adjust opacities 2020-02-08 01:07:23 -05:00
DD Liu
3907fd4f89 Fade drag crosshair if youre far away 2020-02-08 01:07:00 -05:00
DD Liu
23ee224ab1 Manually draw icons 2020-02-08 00:49:48 -05:00
DD Liu
4fe7c0ab8b Revert "Revert "Crosshair""
This reverts commit 999c62ff5c.
2020-02-06 18:11:10 -05:00
Paul Kaplan
999c62ff5c
Revert "Crosshair" 2020-02-06 12:15:59 -05:00
DD Liu
56e0332ed2
Merge pull request #968 from paulkaplan/fix-eyedropper-crash
Fix Safari crash in color picker
2020-02-04 18:49:24 -05:00
Paul Kaplan
3470fd8232 Prevent rounding error when getting image data.
This was causing a crash on Safari. See #966 for more details.
2020-02-04 09:02:21 -05:00
DD Liu
bf2fa3c854 xMerge branch 'develop' into changeAltScale 2020-01-30 15:11:26 -05:00
DD Liu
4e8d190843
Merge pull request #925 from fsih/crosshair
Center crosshair snapping
2020-01-30 14:12:07 -05:00
DD Liu
18fa1e2b61 Fix incorrect crosshair size after zoom to fit 2020-01-29 20:56:43 -05:00
DD Liu
21f2b489d0 fix a crash if you deselect everything 2020-01-29 20:35:17 -05:00
DD Liu
3f46c04f19 Move anchor icon load to mouse down to avoid an issue where the view hasn't loaded yet 2020-01-29 12:01:01 -05:00
DD Liu
231c98da3c Only load anchorIcon if it doesn't exist 2020-01-29 11:59:22 -05:00
DD Liu
9a3a49b88e Altscale edge follows cursor 2020-01-29 11:47:28 -05:00
DD Liu
9e097ea8c8 Revert changes to scale while holding alt 2020-01-29 11:44:03 -05:00
DD Liu
68e53e7c30 Add to all modes besides reshape 2020-01-29 11:18:55 -05:00
DD Liu
e16a85adb1 fix lint 2020-01-28 12:08:27 -05:00
DD Liu
3733fb4148 Style drag crosshair and selection crosshair and add snapping between the two 2020-01-28 12:08:27 -05:00
adroitwhiz
24ec9f76a6 travis ci 2020-01-28 12:08:27 -05:00
adroitwhiz
609fd939d9 Add transparent crosshair above dragged items 2020-01-28 12:08:27 -05:00
DD Liu
db67246dd5
Merge pull request #924 from fsih/fixStackingButtons
Fix stacking buttons
2020-01-27 17:30:40 -05:00
DD Liu
f7bade8781 Instead of increasing the max width of tools, slightly increase the width at which paint editor switches over to 2 rows of tools so that they have enough space to make 2 rows 2020-01-17 14:10:37 -05:00
adroitwhiz
50172d494c Skip processing of child paths in color swap 2020-01-09 15:02:20 -05:00
adroitwhiz
41e0765657 Skip processing of child paths in mergeEraser 2020-01-09 15:00:12 -05:00
Paul Kaplan
b8434137f2
Merge pull request #932 from LLK/paulkaplan-patch-1
Emit 1x1 blank bitmap data instead of full empty canvas
2019-12-10 05:40:18 -05:00
Paul Kaplan
7351468041
Update update-image-hoc.jsx 2019-12-09 16:18:21 -05:00
Paul Kaplan
9491b7eb09
Emit 1x1 blank bitmap data instead of full empty canvas
This fixes the issue where you cannot save blank bitmaps in scratch. We were trying to create PNG files which cannot have 0x0 size.
2019-12-09 16:03:13 -05:00
DD Liu
e84b40cc72 Set rotation center of empty bitmaps to (0, 0) 2019-12-06 00:52:16 -05:00
DD Liu
7d7e42b63f Fix the tools being in 1 column instead of 2 sometimes when the paint editor is in expanded mode 2019-11-13 16:36:48 -05:00
DD Liu
0a510e975b Prevent buttons from stacking on top of each other in paint 2019-11-13 16:30:41 -05:00
adroitwhiz
46f5db055d Handle null color in bitmap shape tools 2019-11-08 09:23:36 -05:00
Chris Garrity
a33f4ab522 Add swahili to localeTooBig 2019-10-10 11:36:57 -04:00
DD Liu
8d6e25b695
Merge pull request #909 from fsih/fixNoDefault
Fix bitmap sprites opening with no default tool selected
2019-09-23 11:36:44 -04:00
DD Liu
4585989fb3 Fix lint 2019-09-20 14:49:33 -04:00
Karishma Chadha
f282b3b96c Fix issue where eyedropper could not be used to set the secondary color in a gradient. 2019-09-20 10:45:28 -07:00
DD Liu
3ca123e603 Add VectorModes 2019-09-20 12:32:24 -04:00
DD Liu
54ce55d2d1 Fix bitmap sprites opening with no default tool selected 2019-09-18 22:22:05 -04:00
Paul Kaplan
73fcbef28d Always use passive: false on touch move drag handler events (#858) 2019-07-15 11:48:20 -04:00
Paul Kaplan
3357ba8954
Merge pull request #854 from paulkaplan/fix-initial-zoom-scrollbars
Make scrollbars show up at initial zoom-to-fit size
2019-06-24 09:25:22 -04:00
Paul Kaplan
fc08becbf3 Only update view bounds if zoomToFit was truthy 2019-06-21 08:56:32 -04:00
Paul Kaplan
abc5b66395 Make scrollbars touch accessible.
The GUI which uses the same getEventXY helpers just wire up both touch and mouse events instead of just mouse events
2019-06-13 11:44:06 -04:00
Paul Kaplan
867935d185 Force an update after zooming to fit to make scrollbars update.
Fixes https://github.com/LLK/scratch-paint/issues/851
2019-06-13 11:38:02 -04:00
adroitwhiz
4e4c02c7b4 Call inlineSvgFonts() on string instead of element 2019-05-16 16:51:36 -04:00
Chris Garrity
ca06fec0e6 Add Rapa Nui to the wide locales
Rapa Nui should show paint editor buttons without labels because they are too long to fit on small screens.
2019-05-16 12:08:46 -04:00
Katie Broida
a317c26c97
Merge pull request #826 from ktbee/fix-empty-bitmap-size
Save the bitmap's height and width on the imageData as sourceHeight or sourceWidth if they are zero (an invalid value for imageData height and width)
2019-04-16 14:48:04 -04:00
Paul Kaplan
3bb933c06c
Merge pull request #833 from Jacco/develop
Pan/zoom with tool #401 #638
2019-03-18 13:02:13 -04:00
Jacco Kulman
b0bdc1eef0
Update scrollable-canvas.jsx
Missing semicolon added
2019-03-12 08:14:05 +01:00
Paul Kaplan
5a3cb1c8de Change fill logic to prevent setting gradients by accident 2019-03-06 13:26:13 -05:00
Katie Broida
75723a7ae2 Save zero width and height on bitmap's imageData object 2019-03-05 15:22:20 -05:00
Katie Broida
2f5c37910f Invert while loop order for checking bounds so that bottom and right end at 0,0
Ending our bounds check at 0,0 will pass 1,1 for empty bitmaps as the x and y values to calculate the skin's rotation center.
2019-02-08 16:15:00 -05:00
Jacco Kulman
a0edeb7d9c Pan/zoom with tool #401 2019-02-06 12:10:17 +01:00
Paul Kaplan
8e8701f6d3 Fix a bug with the loupe where it would be blank on first render.
Wasn't much of an issue when using only mousemove because that was called many times, but calling on mousedown makes the first blank frame more obvious.
2019-01-14 10:23:15 -05:00
Paul Kaplan
7f1c0c2a65 Move eyedropper callback into mouseUp to allow dragging the loupe around 2019-01-14 10:19:39 -05:00
Paul Kaplan
13052b967e Fix previousTool=null bug from Sentry 2019-01-14 10:07:06 -05:00
DD Liu
5ae3ade49b
Round stroke caps (#798) 2018-12-14 10:46:37 -05:00
DD Liu
1a8178808a
Limit stroke width to 100 (#796) 2018-12-14 10:46:15 -05:00
chrisgarrity
b75f0efdf2
Merge pull request #785 from epicfaace/patch-messages
Get proper paintMessages object properties
2018-12-11 10:31:36 -05:00
Florrie
934b756032 Make mouse cursor react to what it's hovered over (#762) 2018-12-10 17:42:29 -05:00
Ashwin Ramaswami
01090ec098 Get proper paintMessages object properties 2018-12-09 10:34:59 -08:00
chrisgarrity
d2b05bf268 Update scratch-l10n dependency
- update to scratch-l10n that includes script for pushing new source file to transifex
- add new step to .travis.yml that will generate and push source strings if running a cron job
2018-11-30 13:57:33 -05:00
Florrie
a04f1276f8 Make circle (shift-oval) tool work for any direction dragged (#774) 2018-11-28 13:16:20 -05:00
DD Liu
badc549fdc
Revert "Revert "Wait for other callbacks before load SVG code"" (#772)
* Add back bitmap jumping fix

* Cancel previous async action if a new one is queued, and move zoomToFit call until after import

* Make bitmap load cancellable too
2018-11-20 14:10:25 -05:00
Paul Kaplan
382f1fe0ef
Merge pull request #760 from LLK/revert-755-bitmapMove
Revert "Wait for other callbacks before load SVG code"
2018-11-09 13:07:11 -05:00
Paul Kaplan
dd35871076 Revert "Wait for other callbacks before load SVG code (#755)"
This reverts commit 2d277581b1.
2018-11-09 13:01:58 -05:00
DD Liu
b3009320d1
Fix issues handling rasters in reshape (#756) 2018-11-05 15:58:42 -05:00
DD Liu
2d277581b1
Wait for other callbacks before load SVG code (#755) 2018-11-05 11:03:58 -05:00
DD Liu
4bc3b5b624
Cut off text2 (#744) 2018-10-29 11:01:53 -04:00
chrisgarrity
fa6f69ec45
Merge pull request #705 from chrisgarrity/issue/620-gd-toobig
Add Gaidhlig (gd) to the ‘hide-label’ locales
2018-09-26 15:05:32 -04:00
DD Liu
c6fb28a69c
Make stroke width 0 when transparent (#695) 2018-09-26 13:08:47 -04:00
chrisgarrity
e220ba1f54 Add Gaidhlig (gd) to the ‘hide-label’ locales 2018-09-26 11:41:44 -04:00
DD Liu
8daea46ad6
Use consistent hit testing (#689) 2018-09-26 11:19:46 -04:00
DD Liu
bcc3af4571
Save after adding points (#696) 2018-09-24 13:47:57 -04:00
DD Liu
c8a5db311b
Don't scale text outlines (#685) 2018-09-18 16:30:56 -04:00
DD Liu
a5baa14316
Don't navigate away when paint editor is open and delete/backspace are pressed' (#679) 2018-09-18 16:17:51 -04:00
DD Liu
b6ad997ea2
Switch fix aspect ratio to default when resizing by a corner (#681) 2018-09-17 13:43:51 -04:00
DD Liu
4b658c294f
Bitmap select state (#678) 2018-09-17 13:38:16 -04:00
DD Liu
ccd7f27268
Export bit text (#680) 2018-09-17 13:37:01 -04:00
DD Liu
02ea26efe7
Add safety checks to fill and stroke colors (#682) 2018-09-14 16:14:34 -04:00
DD Liu
ca04db7094
Export bit shapes (#662) 2018-09-12 18:17:45 -04:00
DD Liu
a105d967ba
Fence tools to make it less easy to lose work off the sides (#671) 2018-09-12 18:03:19 -04:00
DD Liu
e4883063fe
Handle transparency in bitmap tools (#660) 2018-09-12 13:21:54 -04:00
DD Liu
5b1d9ee9c4
Make scrollbars a smidgen larger (#674) 2018-09-12 12:25:28 -04:00
DD Liu
29e25cf4e9
Use RGBA instead of hex so Edge can understand the color (#673) 2018-09-12 12:19:38 -04:00
DD Liu
45018e4f64
Add component will unmount to deactivate to all tools (#657) 2018-09-11 10:35:08 -04:00
DD Liu
8658840ee7
Re-enable keyboard shortcuts (#654) 2018-09-05 18:02:39 -04:00
DD Liu
6f5c47686d
Rtl text tool (#651) 2018-09-05 17:19:40 -04:00
kyleplo
3701f99d93 Make gradient icons not selectable (#645) 2018-09-05 15:58:22 -04:00
DD Liu
4be60cae49
Copy and delete work on all objects when none are selected (#634) 2018-09-05 15:34:00 -04:00
DD Liu
97f55cde9e
Fix a bug where we never remove key listeners (#652) 2018-09-05 11:22:45 -04:00
DD Liu
d5741c2e02 Fix undefined exception 2018-08-31 13:43:15 -04:00
DD Liu
39051b8220
Disable keyboard shortcuts for now (#642) 2018-08-31 12:29:54 -04:00
DD Liu
516f6eb714
Zoom to fit (#629)
Note do not merge without GUI change
2018-08-31 12:07:17 -04:00
DD Liu
20a98db397
Break paint-editor.jsx code out into HOCs (#633) 2018-08-30 17:51:11 -04:00
DD Liu
c6458ddebc
Fix the pointer-events error in the console (#635) 2018-08-30 14:56:10 -04:00
DD Liu
07effb7fd8
Scroll containers shouldn't intercept pointer events (#630) 2018-08-29 17:09:45 -04:00
DD Liu
4474ec3aa1
Keyboard shortcuts (#623) 2018-08-29 15:29:13 -04:00
chrisgarrity
97f669423a
Make PaintEditor component rtl aware (#617)
* Make PaintEditor component rtl aware

Fixes the color-picker and any other popover elements.

Adds an RTL prop to the PaintEditor that initializes the `layout` state in redux. Any other components that need to know the layout refer to the state in redux.

I debated whether the state should just be a boolean (true for RTL), or ‘rtl’, ‘ltr’. I went with the latter, but could be convinced that boolean would be better.

I did not add `dir=“rtl”` to the font picker dropdown as all the names are in LTR languages.

Question: Should the sliders reverse direction, and if so, is it worth doing right now when the layout of the color picker may change.

Adding the rtl prop and the `dir=…` to the PaintEditorComponent fixes layout issues in the playground.

* Don’t reverse gradient swatches: the fill colors (and swatch preview) should represent the way the left-right colors will blend when filling a shape.
2018-08-23 19:08:56 -04:00
chrisgarrity
620dd6ae49
Mirror margins, borders and arrow icons for RTL (#616)
* Mirror margins, borders and arrow icons for RTL

This handles everything exception the color picker.

I verified that things like the paint brush and magnifying glass should not be mirrored (even people who read Hebrew are usually right-handed)

* Fix dropdown icon padding in RTL
2018-08-22 13:13:46 -04:00
DD Liu
50de05cee4
Scrollbars (#602) 2018-08-16 16:49:43 -04:00
DD Liu
2791866a9e
Reduce tolerance across the board. Don't accept hit results on helper items unless they are handles. (#597) 2018-08-16 13:09:26 -04:00
DD Liu
8267e11176
Double click in select modes switches to text tool (#583) 2018-08-09 10:55:44 -04:00
Jacco Kulman
8056a788e7 Loupe issues fixed #378 (#382) 2018-08-08 18:27:01 -04:00
apple502j
5c723e5f92 Localize tool tooltips (#573)
* Create messages.js for all tooltips as many are shared between the bitmap and vector editors:
  * Brush Translation
  * Eraser Translation
  * Fill Translation
  * Line Translation
  * Oval Translation
  * Rect Translation
  * Reshape Translation
  * RoundedRect Translation
  * Select Translation
  * Text Translation
2018-08-06 09:16:35 -04:00
DD Liu
6c84cbf76d
Selection limit (#572) 2018-08-03 13:10:45 -04:00
DD Liu
df88d56d1b
Save bitmap selection (#569) 2018-07-25 19:07:35 -04:00
DD Liu
f7ca2c7e43
Leftover selection boxes (#570) 2018-07-25 16:28:55 -04:00
chrisgarrity
28ad90c9fe
Merge pull request #560 from chrisgarrity/issue/543-localize
Adjust format for different locales
2018-07-18 14:31:09 -04:00
chrisgarrity
ec38552b32 Fix icon alignment when there are no labels 2018-07-18 14:21:39 -04:00
DD Liu
af3c6694d4
Bitmap gradient (#559) 2018-07-17 17:21:02 -04:00
DD Liu
4ba79cacbb
Vector gradient (#558) 2018-07-17 16:37:03 -04:00
chrisgarrity
0ed3aaf3db Adjust format for different locales
* increased fullsize editor width, English required 1272, adding a couple more pixels allowed a couple of other languages to keep labels
* hide flip vertical/horizonal labels for everything except English
* hide all labels for languages defined in `hideLabel`
2018-07-16 14:34:36 -04:00
DD Liu
21f3a5f30c
Add missing props validation (#556) 2018-07-13 10:55:36 -04:00
DD Liu
4e4bb396a6
Draw oval and rectangle outlines in bitmap (#550) 2018-07-12 15:48:30 -04:00
Paul Kaplan
11bab6ebe2
Merge pull request #553 from paulkaplan/fix-conversion-button-styles
Make the bitmap/vector conversion button look enabled
2018-07-12 10:38:47 -04:00
Paul Kaplan
1d63bafedd Make the bitmap conversion button enabled always 2018-07-12 10:27:14 -04:00
DD Liu
652a3ca89b
Update image when deleting points (#551) 2018-07-11 14:10:03 -04:00
DD Liu
7063d359eb
Correct the view bounds when the paper canvas is initialized. (#549) 2018-07-11 11:13:27 -04:00
Paul Kaplan
179c68378b
Merge pull request #545 from paulkaplan/delete-button
Delete button
2018-07-09 09:17:37 -04:00
Paul Kaplan
64b71703ce Simplify the logic for reshape delete 2018-07-09 09:17:15 -04:00
Paul Kaplan
501f9806e6 Make fill and outline labels go above color buttons 2018-07-06 15:32:31 -04:00
DD Liu
90bc640dbb Fix reshape 2018-07-06 11:29:06 -04:00
Paul Kaplan
20228dfe0a Check for curved points as well as selected items for reshape delete 2018-07-06 11:27:48 -04:00
Paul Kaplan
fb460e3eb3 Add delete button for reshape tool also
The delete code already handles the pointwise deletion correctly, just needed to add it to the tool row
2018-07-05 14:17:20 -04:00
Paul Kaplan
a837b9ced6 Add delete button to mode tools for select tool 2018-07-05 14:16:43 -04:00
Paul Kaplan
74196228f1
Merge pull request #542 from paulkaplan/increase-tool-visibility
Increase selected tool visibility by making the icon white and bg blue.
2018-07-05 08:55:29 -04:00
Paul Kaplan
e772907023 Increase selected tool visibility by making the icon white and bg blue.
Resolves #375
2018-06-29 08:30:47 -04:00
Paul Kaplan
06a3ab7390
Merge pull request #537 from fsih/bitSelectTool
Bitmap select tool
2018-06-29 07:50:44 -04:00