* add hint & support multi-line hints
* resize from center point using the new resize maths
* resize with origin element when lifting alt key
* add readonly to elementOriginPosition
* add setResizeWithCenterKeyLifted
* isResizeFromCenter logic
* offsetX and offsetY
* simplify equations
* creating element from center point
* lint
* lint
* lint
* remove revert on key up logic
Co-authored-by: dwelle <luzar.david@gmail.com>
Co-authored-by: daishi <daishi@axlight.com>
* rewrite wysiwyg property updating
* reuse existing class
* fix case of focus being stolen by other UIs
* revert mistake csp removal
* ensure we don't run cleanup twice
* fix opacity updating
* add shape actions menu class to constants
* change resize math to absolute instead of delta
* typings
* small change for width on rotation
* apply absolute resize to other sides
* revert&change math.ts
* polish, polish, polish
* refactor with offset
* eliminate nextX
* rename to offsetPointer
* fix curved lines
* prefer arrow function
* remove unused variables/comments for now
Co-authored-by: daishi <daishi@axlight.com>
* feat: add the ability to change the alignement of the text
* test: update the snapshots to included the newely textAlign state
* style: use explicit key assignment to object
* test: add missing new key textAlign to newElement.test.ts
* style: make the text on the buttons start with uppercase
* Update src/locales/en.json
* add types
* add migration
* remove incorrect update
Co-authored-by: Youness Fkhach <younessfkhach@porotonmail.com>
Co-authored-by: Lipis <lipiridis@gmail.com>
Co-authored-by: dwelle <luzar.david@gmail.com>
* add NonDeleted
* make test:all script run tests without prompt
* rename helper
* replace with helper
* make element contructors return nonDeleted elements
* cache filtered elements where appliacable for better perf
* rename manager element getter
* remove unnecessary assertion
* fix test
* make element types in resizeElement into nonDeleted
Co-authored-by: dwelle <luzar.david@gmail.com>
* experiment resizing multiple elements
* hack common component
* calculate scale properly (still se only)fg
* prioritize multi selection
* take handle offset into calculation
* fix master merge
* refactor resizeElements out from App
* wip: handlerRectanglesFromCoords
* fix test with type assertion
* properly show handles wip
* revert previous one and do a tweak
* remove unnecessary assignments
* replace hack code with good one
* refactor coords in arg
* resize NW
* resize from sw,ne
* fix with setResizeHandle
* do not show hint while resizing multiple elements
* empty commit
* fix format
* Add RTL styles. Most of the work is done by the browser 💖
* Refactor getLanguage
* Additional fixes
* Mirror the mouse pointer icon
* Move the vertical scrollbar to the left on RTL
* Revert "Mirror the mouse pointer icon"
This reverts commit f69b132538038d231b1b1acc0d6f4a28c91130bb.
* rotate rectanble with fixed angle
* rotate dashed rectangle with fixed angle
* fix rotate handler rect
* fix canvas size with rotation
* angle in element base
* fix bug in calculating canvas size
* trial only for rectangle
* hitTest for rectangle rotation
* properly resize rotated rectangle
* fix canvas size calculation
* giving up... workaround for now
* **experimental** handler to rotate rectangle
* remove rotation on copy for debugging
* update snapshots
* better rotation handler with atan2
* rotate when drawImage
* add rotation handler
* hitTest for any shapes
* fix hitTest for curved lines
* rotate text element
* rotation locking
* hint messaage for rotating
* show proper handlers on mobile (a workaround, there should be a better way)
* refactor hitTest
* support exporting png
* support exporting svg
* fix rotating curved line
* refactor drawElementFromCanvas with getElementAbsoluteCoords
* fix export png and svg
* adjust resize positions for lines (N, E, S, W)
* do not make handlers big on mobile
* Update src/locales/en.json
Alright!
Co-Authored-By: Lipis <lipiridis@gmail.com>
* do not show rotation/resizing hints on mobile
* proper calculation for N and W positions
* simplify calculation
* use "rotation" as property name for clarification (may increase bundle size)
* update snapshots excluding rotation handle
* refactor with adjustPositionWithRotation
* refactor with adjustXYWithRotation
* forgot to rename rotation
* rename internal function
* initialize element angle on restore
* rotate wysiwyg editor
* fix shift-rotate around 270deg
* improve rotation locking
* refactor adjustXYWithRotation
* avoid rotation degree becomes >=360
* refactor with generateHandler
Co-authored-by: Lipis <lipiridis@gmail.com>
Co-authored-by: dwelle <luzar.david@gmail.com>
The logic to support it was not implemented. This is not the prettiest way to solve it in the world but it does work. Some more refactoring here is probably warranted.
Fixes#1039