kopia lustrzana https://github.com/backface/turtlestitch
Update MIGRATING.md
rodzic
e256a09cf1
commit
306fdb5f8c
62
MIGRATING.md
62
MIGRATING.md
|
@ -10,15 +10,15 @@ The second section is a recipe how to actually migrate your code. It's a list of
|
|||
|
||||
## Morphic Changes
|
||||
|
||||
* `noticesTransparentClick` => `!isFreeForm` (reversed default)
|
||||
* `drawOn()` / `fullDrawOn()` takes context instead of Canvas as first arg
|
||||
* `drawNew()` is deprecated => `render()`, also takes context as arg
|
||||
* new`rerender()` to earmark for rerendering
|
||||
* `.image`accessing has been turned intoa getter method: `getImage()`
|
||||
* `.image`property has been deprecated, renamed to `cachedImage`for Morphs that need to check for pixel-wise collision frequently
|
||||
* new `isCachingImage` flag (default: false)
|
||||
* new `shouldRerender` flag (default: false)
|
||||
* `fixLayout()`is now available for all Morphs, determines extent and arranges submorphs, if any, gets called from `setExtent()`
|
||||
* `noticesTransparentClick` => `!isFreeForm` (reversed default)
|
||||
* `drawOn()` / `fullDrawOn()` takes context instead of Canvas as first arg
|
||||
* `drawNew()` is deprecated => `render()`, also takes context as arg
|
||||
* new`rerender()` to earmark for rerendering
|
||||
* `.image`accessing has been turned intoa getter method: `getImage()`
|
||||
* `.image`property has been deprecated, renamed to `cachedImage`for Morphs that need to check for pixel-wise collision frequently
|
||||
* new `isCachingImage` flag (default: false)
|
||||
* new `shouldRerender` flag (default: false)
|
||||
* `fixLayout()`is now available for all Morphs, determines extent and arranges submorphs, if any, gets called from `setExtent()`
|
||||
* new `fixHolesLayout()` method in case your Morphs have untouchable areas ("holes")
|
||||
* "silent" - functions are no longer needed, e.g. `silentSetExtent()`, `silentMoveBy()`
|
||||
- `silentSetExtent` => use `bounds.setExtent()` to avoid infinite recursion
|
||||
|
@ -37,7 +37,7 @@ The second section is a recipe how to actually migrate your code. It's a list of
|
|||
- `new Color()`, `new Color(0, 0, 0)` => `BLACK`
|
||||
- `new Color(255, 255, 255)` => `WHITE`
|
||||
* `virtualKeyboard` property in Morphic preference has been deprecated
|
||||
* `fullImageClassic()` => is now always just `fullImage()`
|
||||
* `fullImageClassic()` => is now always just `fullImage()`
|
||||
* `keyboardReceiver` => `keyboardFocus`
|
||||
* keyboard navigation can be activated for any visible menu by pressing an arbitrary key
|
||||
* new `noDropShadow` property for Morphs that already have built-in shadows (Menus, SpeechBubbles)
|
||||
|
@ -47,33 +47,33 @@ The second section is a recipe how to actually migrate your code. It's a list of
|
|||
|
||||
Search your code for these words and replace them according to the instructions. It's best to follow the order given here. The last 3 replacements with constants are optional optimizations and can be left out.
|
||||
|
||||
**Words to search your code for**
|
||||
**Words to search your code for:**
|
||||
|
||||
* **drawNew**
|
||||
- rename method definitions to "render", notice that the first argument needs to be the 2D context, therefore remove the part in the code that makes a new canvas and queries its context.
|
||||
- factor out the parts of the code that determine and set the extent and move them into a - possibly new - method named fixLayout()
|
||||
- rename function calls to drawNew() to fixLayout() and/or rerender(), check whether the call is at all needed as it might be redundant in the new system
|
||||
* **wantsRedraw** => replace with rerender()
|
||||
* **noticesTransparentClick** => replace with => !isFreeForm, use with caution, as free forms should also cache their image for performance reason, which in turn strains memory usage
|
||||
* **.image** => remove getters to getImage(), use with caution because of performance bottlenecks
|
||||
- rename method definitions to `render`, notice that the first argument needs to be the 2D context, therefore remove the part in the code that makes a new canvas and queries its context.
|
||||
- factor out the parts of the code that determine and set the extent and move them into a - possibly new - method named `fixLayout()`
|
||||
- rename function calls to `drawNew()` to `fixLayout()` and/or `rerender()`, check whether the call is at all needed as it might be redundant in the new system
|
||||
* **wantsRedraw** => replace with `rerender()`
|
||||
* **noticesTransparentClick** => replace with `!isFreeForm`, use with caution, as free forms should also cache their image for performance reason, which in turn strains memory usage
|
||||
* **.image** => rename getters to `getImage()`, use with caution because of performance bottlenecks
|
||||
* **cachedFullImage** => no longer supported, remove all references
|
||||
* **fullImageClassic** => rename method calls to just fullImage()
|
||||
* **fullImageClassic** => rename method calls to just `fullImage()`
|
||||
* **silentSet**
|
||||
- remove method definitions
|
||||
- rename method calls:
|
||||
- silentSetExtent => use bounds.setExtent() to avoid infinite recursion
|
||||
- silentMoveBy => use moveBy()
|
||||
- silentSetPosition => use setPosition()
|
||||
- silentSetWidth => use bounds.setWidth() to avoid infinite recursion
|
||||
- silentSetHeight = use bounds.setHeight() to avoid infinite recursion
|
||||
* **silentMove** => replace silentMoveBy() with moveBy()
|
||||
- *silentSetExtent* => use `bounds.setExtent()` to avoid infinite recursion
|
||||
- *silentMoveBy* => use `moveBy()`
|
||||
- *silentSetPosition* => use `setPosition()`
|
||||
- *silentSetWidth* => use `bounds.setWidth()` to avoid infinite recursion
|
||||
- *silentSetHeight* = use `bounds.setHeight()` to avoid infinite recursion
|
||||
* **silentMove** => replace `silentMoveBy()` with `moveBy()`
|
||||
* **silentReplace** => (Snap! only) use replace instead
|
||||
* **silent** => remove parameters named "silent" from function definitions and calls
|
||||
* **cachedFullBounds** => no longer supported, remove all references
|
||||
* **trackChanges** => no longer supported, remove all references
|
||||
* **keyboardReceiver** => rename to keyboardFocus
|
||||
* **startLayout** => no longer supported, remove all calls
|
||||
* **cachedFullBounds** => no longer supported, remove all references
|
||||
* **trackChanges** => no longer supported, remove all references
|
||||
* **keyboardReceiver** => rename to `keyboardFocus`
|
||||
* **startLayout** => no longer supported, remove all calls
|
||||
* **endLayout** => no longer supported, remove all calls
|
||||
* **new Point(0, 0)** => ZERO, but only if the point is not to be mutated
|
||||
* **new Color() / new Color(0, 0, 0)** => BLACK, again, only if the color is not to be mutated
|
||||
* **new Color(255, 255, 255)** => WHITE
|
||||
* **new Point(0, 0)** => `ZERO`, but only if the point is not to be mutated
|
||||
* **new Color() / new Color(0, 0, 0)** => `BLACK`, again, only if the color is not to be mutated
|
||||
* **new Color(255, 255, 255)** => `WHITE`
|
||||
|
|
Ładowanie…
Reference in New Issue