@@ -133,12 +133,12 @@ open class EPUBNavigatorViewController: InputObservableViewController,
133
133
134
134
/// Information about the visible portion of the publication.
135
135
public struct Viewport : Equatable {
136
- /// Indices of the visible reading order resources.
137
- public var readingOrderIndices : ClosedRange < [ Link ] . Index >
136
+ /// Visible reading order resources.
137
+ public var readingOrder : [ AnyURL ]
138
138
139
139
/// Range of visible scroll progressions for each visible reading order
140
140
/// resource.
141
- public var progressions : [ [ Link ] . Index : ClosedRange < Double > ]
141
+ public var progressions : [ AnyURL : ClosedRange < Double > ]
142
142
143
143
/// Range of visible positions.
144
144
public var positions : ClosedRange < Int > ?
@@ -627,11 +627,14 @@ open class EPUBNavigatorViewController: InputObservableViewController,
627
627
return ( nil , nil )
628
628
}
629
629
630
+ let visibleReadingOrder : [ ( index: Int , href: AnyURL ) ] = spreadView. spread. readingOrderIndices
631
+ . map { ( $0, readingOrder [ $0] . url ( ) ) }
632
+
630
633
var viewport = Viewport (
631
- readingOrderIndices : spreadView . spread . readingOrderIndices ,
632
- progressions: spreadView . spread . readingOrderIndices . reduce ( [ : ] ) { progressions, index in
634
+ readingOrder : visibleReadingOrder . map ( \ . href ) ,
635
+ progressions: visibleReadingOrder . reduce ( [ : ] ) { progressions, i in
633
636
var progressions = progressions
634
- progressions [ index ] = spreadView. progression ( in: index)
637
+ progressions [ i . href ] = spreadView. progression ( in: i . index)
635
638
return progressions
636
639
} ,
637
640
positions: nil
0 commit comments