Scott Goodson
32a99e3d41
Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added.
2015-12-18 19:52:47 -08:00
Scott Goodson
578d0f4f78
Final cleanup for initial version of removing the UIWindow-based render range.
...
The UIWindow mode remains enabled by default, but rendering and the test suite works correctly both enabled and disabled.
2015-12-18 18:47:08 -08:00
Scott Goodson
c6759671e6
Merge branch 'master' into RemoveWorkingWindow
2015-12-18 18:25:14 -08:00
appleguy
e15a7db773
Merge pull request #925 from levi/levi/pager-node
...
[ASPagerNode] Initial implementation of a paging-specific ASCollectionNode subclass.
2015-12-18 18:20:25 -08:00
Scott Goodson
ee152eadf1
Remove CALayer and UIView implementations of "name" property.
...
This avoids CoreAnimation from capturing the name from a background thread deep within the internals
of AVPlayerLayer, which commits transactions off the main thread. If the main thread is also accessing
properties that require the lock, in very specific app architectures relying on AVPlayerLayer, this
can cause a deadlock.
The "name" property is primarily used by ASDK's unit test infrastructure, so I'm leaving it in place for
that purpose - and it may still be used for debugging, if someone wants to set it. It will remain
possible to get the node from a layer or view with asyncdisplaykit_node, and access name from there.
2015-12-18 16:01:19 -08:00
Scott Goodson
1872ac07aa
[ASTextNode] Renderer should not be invalidated if bounds size matches calculatedSize, even if it doesn't match constrainedSize.
2015-12-17 22:12:29 -08:00
appleguy
ed1c71d588
Merge pull request #924 from aaronschubert0/ASMapNode
...
Improve ASMapNode to get ready for 2.0
2015-12-17 19:34:50 -08:00
appleguy
3b5fb17f81
Merge pull request #942 from bsmith11/ASTextKitCoreTextAttributesBug
...
ASTextKit CoreText attributes cleansing should not remove NSParagraphStyle attributes
2015-12-17 19:18:43 -08:00
appleguy
d56a53d9aa
Merge pull request #941 from samhsiung/fix_truncation
...
Fix ASTextNode truncated size calculation ignoring attributes in the last line, by syncing the truncationString's attributes with the primary attributedString.
2015-12-17 18:17:48 -08:00
appleguy
bc6e5fee1a
Merge pull request #949 from rcancro/roundMin
...
Do not round when resolving relative dimensions
2015-12-17 15:34:12 -08:00
rcancro
c6f4aff4ef
Do not round when resolving relative dimensions
...
When laying out a node I got to a point where the constrained width was min 132.22222pts and max width was 100%. When resolving the relative size to pts it rounded to 132pt. This caused an assert in ASSizeRangeMake because the min width (132.222pt) was bigger than the max width (132pt)
2015-12-17 15:20:40 -08:00
Levi McCallum
669fd38dd4
Fix project includes for ASPagerNode
2015-12-16 17:53:21 -08:00
Levi McCallum
1b5ac3615e
Add ASPagerNode to framework header
2015-12-16 17:53:21 -08:00
Levi McCallum
473085db47
Move position of ASPagerNodeDataSource to support Travis builds
2015-12-16 17:53:21 -08:00
Levi McCallum
aea5a3318e
Implement simple horizontal paging node
2015-12-16 17:53:21 -08:00
appleguy
8349be288b
Merge pull request #945 from rcancro/aslayoutPixelBounds
...
Enforce pixels bounds for ASLayout size/position, while also protecting against underspecified layouts setting NaN or Inf on CALayer.
2015-12-16 17:40:50 -08:00
Scott Goodson
f44c829564
ASTextNode shouldn't create a long press gesture recognizer unless the delegate cares about the callback.
2015-12-16 17:20:08 -08:00
rcancro
2e6e81e66b
Don't allow unitialized or under constrained layouts cause a crash.
...
Should I move the pixel bounds rounding to here instead of leaving it in ASLayout?
2015-12-16 15:34:30 -08:00
rcancro
71c44843c8
enforce pixels bounds for ASLayout size/position
2015-12-16 13:14:33 -08:00
Aaron Schubert
4ceab33038
Further clean up for ASDK 2.0
2015-12-16 10:20:13 +00:00
Bradley Smith
e64965c1ca
Fixed ASTextKit CoreText attributes bug which was incorrectly reading a NSParagraphStyle as CTParagraphStyleRef
2015-12-15 14:41:37 -05:00
Samuel Hsiung
f9d476e170
Fix ASTextNode truncated size calculation ignoring attributes in the last line
2015-12-15 10:09:03 -08:00
Aaron Schubert
50f652a5b3
Fix indendation
2015-12-14 10:22:37 +00:00
Scott Goodson
6ad1503556
Merge branch 'master' into RemoveWorkingWindow
2015-12-11 22:42:13 -08:00
Scott Goodson
872b3588d8
Complete merge of working window removal with ASHierarchyState changes in master.
2015-12-11 22:15:13 -08:00
Scott Goodson
00fe336ae7
Merge branch 'master' into RemoveWorkingWindow
2015-12-11 21:34:45 -08:00
Samuel Hsiung
e4ca0e3ccf
make ASEditableTextNode's textView clip to bounds
2015-12-11 18:53:10 -08:00
appleguy
7380296e27
Merge pull request #877 from soniccat/master
...
[ASTextNode] Possible layout fix (fixes a case with Interface Builder initialization ordering)
2015-12-11 12:23:56 -08:00
Garrett Moon
941a732fd6
Rename and move ASMainSerialQueue to its own class
2015-12-11 10:53:06 -08:00
Garrett Moon
066596314e
Fix deadlock when an editing transaction needs to perform its work on the main thread, and then elsewhere, on the main thread, we block waiting for all editing transactions to finish
2015-12-11 10:45:23 -08:00
Garrett Moon
f94229796c
Fixes out of order blocks running on main queue in ASDataController
...
ASDataController’s completedNodes is accessed by treating the main thread as a serial queue. The *problem* is, operations can cut in line by being added while on the main thread. I.e. it just calls the block instead of dispatch_async’ing to the main thread. This results in data inconsistency.
To address this, I've added a queue of operations which get run serially (not to be confused with a serial dispatch queue). Instead of running blocks directly on the main thread, if it’s called while not on the main thread, it dispatch_asyncs to the main thread and runs any blocks in the queue. If it *is* on the main thread, it runs any blocks already in the queue and then runs the block.
2015-12-11 10:45:22 -08:00
Garrett Moon
082dc1cbca
Expose recursivelyEnsureDisplay
2015-12-10 19:42:17 -08:00
Alexey Glushkov
ad282132ff
merge master
2015-12-08 22:04:34 +03:00
Aaron Schubert
1dfb8fac67
Changed init method, as well as further clean up to get ASMapNode ready for 2.0
2015-12-08 10:37:00 +00:00
appleguy
c9a0a3d46f
Merge pull request #918 from levi/master
...
Inline supplementary kind iteration in data controller
2015-12-07 12:58:25 -08:00
Scott Goodson
88b36f58e7
Ensure an empty array is returned if visibleNodes is called before any nodes are complete.
2015-12-06 21:45:46 -08:00
Levi McCallum
223cac1784
Inline supplementary kind iteration in data controller
2015-12-06 21:31:40 -08:00
appleguy
f6cc2067e9
Merge pull request #917 from levi/master
...
Ensure that newly inserted section supplementary nodes are added to backing store
2015-12-06 21:25:47 -08:00
appleguy
0cf89535d0
Merge pull request #842 from aaronschubert0/ASMapNode
...
[ASMapNode] Initial implementation. Some changes planned, including a replacement initializer method.
2015-12-06 21:07:29 -08:00
Levi McCallum
64da9e7ece
Ensure that new section supplementary nodes are inserted into backing store
2015-12-06 20:07:29 -08:00
Scott Goodson
1e9c4563f3
Improve factoring of locking and early returns for -setInterfaceState: and -setHierarchyState:
2015-12-06 19:30:04 -08:00
Scott Goodson
c11d90cd3a
Fix an issue with ASHierarchyState when disabling rasterization after having enabled it.
2015-12-06 18:46:29 -08:00
Scott Goodson
271f288a19
Polish ASHierarchyState implementation, fix old comment typos, work on test breakages.
2015-12-06 15:04:47 -08:00
Scott Goodson
67aec97523
Adopt ASHierarchyState to replace manual checking for ASCellNode parent.
2015-12-05 22:41:40 -08:00
Scott Goodson
840884272d
Introduced ASHierarchyState. Created ASDisplayNode+FrameworkPrivate.h. Fixed deadlock.
2015-12-05 22:20:16 -08:00
appleguy
29897297c5
Merge pull request #913 from Adlai-Holler/WorkaroundCellContentsLoading
...
Provide Basic Interface State Support for Nodes Outside of Cells
2015-12-05 17:35:28 -08:00
appleguy
faf9d266c5
Merge pull request #914 from Adlai-Holler/UpdateInterfaceStateBeforeCallout
...
Minimize critical section in -setInterfaceState:, and move ivar set before subclass hooks are called.
2015-12-05 16:03:57 -08:00
appleguy
6e13368463
Merge pull request #911 from Adlai-Holler/FixTextNodeHighlightingLogic
...
Reduce Reliance on -textNode:shouldHighlightLinkAttribute:value:atPoint:
2015-12-05 11:01:56 -08:00
Adlai Holler
4284b6e23a
Set _interfaceState before calling fetchData et al.
2015-12-05 00:20:44 -08:00
Adlai Holler
0bfb5a0401
Make new interface state a first-class value
2015-12-04 12:49:38 -08:00