Garrett Moon
01c1680904
Switch to instance methods of draw and display
...
This patch switches to instance methods of draw and display for
ASTextNode and ASImageNode to attempt to increase their performance.
It also fixes some thread safety issues in ASImageNode which appear
to have been regressions (though probably not hit very often).
And it sets up work for allowing modification of CGContexts before
and after a node's contents are drawn.
2016-01-27 20:08:02 -08:00
appleguy
5004935d82
Merge pull request #1130 from levi/setNeedsDataFetch
...
Add `setNeedsDataFetch` to trigger in-range `fetchData` calls
2016-01-27 20:06:30 -08:00
appleguy
e1f485e08a
Merge pull request #1125 from binl/bl_expose_batchBegin
...
expose beginUpdates and endUpdates
2016-01-27 20:02:50 -08:00
Levi McCallum
05af98b578
Update documentation
2016-01-27 19:58:36 -08:00
Levi McCallum
55e289836e
Clean up output of NSStringFromASInterfaceState
2016-01-27 18:34:21 -08:00
Levi McCallum
ee23830318
Remove setNeedsDataFetch queuing, as interfaceState always performs fetch on re-enter
2016-01-27 18:25:39 -08:00
Levi McCallum
bb02a2d487
Clean up interface state printing style
2016-01-27 17:19:40 -08:00
Levi McCallum
585b1215a9
Recursively fetchData for requests
2016-01-27 17:19:11 -08:00
Bin Liu
b26337c449
Levi's comments
2016-01-27 15:06:29 -08:00
Levi McCallum
ec7a3599bd
Add setNeedsDataFetch method to queue off screen fetchData calls
2016-01-27 14:52:37 -08:00
Luke Zhao
733c65d1eb
fix bug: constraint size not updated for frontsizeadjuster
2016-01-27 13:49:00 -08:00
Bin Liu
f6be279c60
Added more facilitator methods
2016-01-27 12:50:41 -08:00
Bin Liu
263bb311f2
expose beginUpdates and endUpdates
2016-01-27 10:50:42 -08:00
appleguy
f696eb7476
Merge pull request #1122 from knopp/_ASAsyncTransaction-operation-priority
...
[_ASAsyncTransaction] make priority a NSInteger with default to 0
2016-01-26 19:47:57 -08:00
Matej Knopp
da5f7eccd9
[_ASAsyncTransaction] make priority a NSInteger with default to 0
...
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-27 00:37:27 +01:00
appleguy
d433205e5a
Merge pull request #1117 from knopp/_ASAsyncTransaction-operation-priority
...
[_ASAsyncTransaction] implement operation priority
2016-01-26 12:32:31 -08:00
appleguy
f1da7102a1
Merge pull request #1119 from yury/update-port-of-component-text-kit
...
[ASTextNode] Update back-ported ComponentKit text renderer changes for long truncation strings.
2016-01-26 12:32:10 -08:00
Huy Nguyen
56c6bd681b
Revert "Revert commit 83aaa46, thus bring 2e4d716 back"
...
This reverts commit 209425c22ce84ecbb7ab631753ec8fc34dd9cbb0.
2016-01-26 12:05:02 -08:00
Huy Nguyen
8a6b7cff97
Revert "Fix ASCollectionView data inconsistency after reloadData"
...
This reverts commit 50e5cffbe1e6bfa9c9cc9116519c996af088ec83.
2016-01-26 12:04:55 -08:00
yury
a3a0440a01
[text] Use the closest glyph to determine hit token
2016-01-26 22:41:02 +03:00
yury
a0b7254213
[text] Fix crash when highlighted range exceeds truncation range
2016-01-26 22:37:44 +03:00
Matej Knopp
0a45bd9596
[_ASAsyncTransaction] implement operation priority
...
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-26 15:31:40 +01:00
Matej Knopp
75abf07c6f
[_ASAsyncTransaction] tweak number of threads
...
Thread count is now 2 * activeProcessorCount, however during tracking it is decreased by 1
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-26 15:18:16 +01:00
appleguy
fb60acbecc
Merge pull request #1113 from lkzhao/ASTextKitFontSizeAdjuster
...
[ASTextNode] Fix test build for font size adjuster
2016-01-25 20:03:01 -08:00
Luke Zhao
70be4c96ba
import ASTextNode+Beta.h
2016-01-25 19:59:16 -08:00
appleguy
508e3db8ee
Merge pull request #1091 from lkzhao/ASTextKitFontSizeAdjuster
...
[ASTextNode] Support iteratively shrinking font size in order to ensure no single words are wrapped.
2016-01-25 19:36:39 -08:00
Luke Zhao
f37c805b72
Move minimumScaleFactor to ASTextNode+Beta
2016-01-25 19:12:29 -08:00
Luke Zhao
f413a618e0
add ASTextKitFontSizeAdjuster
2016-01-25 19:07:28 -08:00
appleguy
8f41ddc8e0
Merge pull request #1090 from knopp/_ASAsyncTransaction-limit-spawned-threads
...
[_ASAsyncTransaction] limit number of spawned threads in a way that GCD will not with the semaphore.
2016-01-25 18:39:27 -08:00
appleguy
e37cc4394c
Merge pull request #1107 from nguyenhuy/improve_reload_data
...
[ASTableNode, ASCollectionNode] Optimize -reloadData's teardown of state (blow away UIKit perf!)
2016-01-25 18:38:53 -08:00
appleguy
6bd62cbf72
Merge pull request #1110 from yury/fix-truncation
...
[ASTextNode] Prompt creation of truncater object when the context object is accessed.
2016-01-25 18:05:59 -08:00
appleguy
d70a9551de
Merge pull request #1111 from yury/fix-_linkAttributeValueAtPoint-crash
...
[ASTextNode] Fix out-of-bounds error when truncation string is longer than the original string.
2016-01-25 17:58:07 -08:00
appleguy
1dd6cef58b
Merge pull request #1105 from facebook/RangeControlAllNodes
...
[ASRangeControllerBeta] Scan all nodes after edit operations.
2016-01-25 13:51:09 -08:00
yury
f2012df3af
Fix Out of bounds error
...
Actually it is possible that truncated string is longer then original
string.
For example, original string:
```
hello
this is
very long
message here
and there
```
with maximumNumberOfLines=4, truncationAttributedString = ' ...' and
additionalTruncationMessage = 'read more'
will give
```
hello
this is
very long
message here ... read more
```
So `[attributedString attribute:attributeName atIndex:characterIndex
longestEffectiveRange:&range inRange:visibleRange]` will crash.
2016-01-25 22:25:12 +03:00
yury
313a3cc63c
Create Truncater with context. So it will actually truncate string in its initializer
2016-01-25 16:48:55 +03:00
Huy Nguyen
50e5cffbe1
Fix ASCollectionView data inconsistency after reloadData
...
Fix by using `_superIsPendingDataLoad` introduced in #672
2016-01-24 23:38:30 -08:00
Huy Nguyen
209425c22c
Revert commit 83aaa46, thus bring 2e4d716 back
2016-01-24 23:38:05 -08:00
Scott Goodson
e0e019ebcb
[ASRangeController] Enable new range controller by default (!!! yay !!!)
2016-01-24 22:50:36 -08:00
appleguy
b3239b6d36
Merge pull request #1106 from lappp9/ASVideoNode
...
[ASVideoNode] Performance enhancements
2016-01-24 22:29:14 -08:00
Scott Goodson
7ecc302e10
[ASImageNode] remove nullability from imageModificationBlock for Swift bridging.
...
https://github.com/facebook/AsyncDisplayKit/issues/1092
2016-01-24 22:26:42 -08:00
Luke Parham
526b2ab0cf
removed beta range controller
2016-01-24 23:51:34 -06:00
Luke Parham
41721aa42a
merged with master
2016-01-24 23:14:43 -06:00
Luke Parham
98fb2e46d4
wip but currently adding first frame as placeholder until it should play and removed extraneous 'pause'
2016-01-24 23:13:17 -06:00
Scott Goodson
e6d5e2666c
[ASRangeControllerBeta] Scan all nodes after edit operations.
2016-01-24 18:42:02 -08:00
appleguy
5a96985b55
Merge pull request #1104 from facebook/ASTextNodeInvalidationOptimization
...
[ASLayout, ASTextNode] Create -calculatedLayoutDidChange and use it in text node.
2016-01-24 18:19:27 -08:00
Scott Goodson
2713bdd72e
[ASTextNode, ASDisplayNode] Create -calculatedLayoutDidChange and use it in text node.
...
This allows the change in size for the NSTextContainer to occur off the main thread, whenever that size change
is necessary. Then the text relayout can occur earlier, during the process of computing ASLayoutSpecs.
2016-01-24 17:14:14 -08:00
Matej Knopp
51e4476068
[ASRangeController] don't get index paths twice if tuning parameters are same
...
Signed-off-by: Matej Knopp <matej.knopp@gmail.com>
2016-01-24 23:41:46 +01:00
Scott Goodson
92ce6ce4d3
[ASRangeControllerBeta] Improve comments, code clarity, cache respondsToSelector:
2016-01-24 14:07:39 -08:00
Scott Goodson
351f4a9afc
Utilize NSMutableOrderedSet in ASRangeControllerBeta to ensure visible items are prioritized.
...
This also adopts Objective-C generics for the various collections in this class.
2016-01-24 13:11:15 -08:00
Scott Goodson
9ddf68fa96
[ASTextNode] Optimize handling of constrained size to almost never recreate NSLayoutManager
...
This also fixes two fairly subtle but serious bugs, #1076 and #1046 .
2016-01-24 00:50:43 -08:00