From 306fdb5f8cb2f54d75a7db10639c262b7dfc2479 Mon Sep 17 00:00:00 2001 From: jmoenig Date: Fri, 10 Jul 2020 19:59:21 +0200 Subject: [PATCH] Update MIGRATING.md --- MIGRATING.md | 62 ++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/MIGRATING.md b/MIGRATING.md index 2b4a6734..fe68a12e 100755 --- a/MIGRATING.md +++ b/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`