- 实现EPUB阅读器搜索功能及选中注释功能 - 优化CFI模块,修复代码审查发现的11个问题 - 实现大书远距目录跳转与后台补全优化方案 - 优化设置面板与章节运行时联动 - 重构及大量改进优化
32 lines
654 B
Swift
32 lines
654 B
Swift
|
|
import Foundation
|
|
|
|
enum RDEPUBSelectionState: Equatable {
|
|
|
|
case idle
|
|
|
|
case selecting(anchor: Int)
|
|
|
|
case selected(RDEPUBSelection)
|
|
|
|
case committingAction(RDEPUBSelection, action: RDEPUBAnnotationMenuAction)
|
|
|
|
var hasSelection: Bool {
|
|
switch self {
|
|
case .idle:
|
|
return false
|
|
case .selecting, .selected, .committingAction:
|
|
return true
|
|
}
|
|
}
|
|
|
|
var selection: RDEPUBSelection? {
|
|
switch self {
|
|
case .idle, .selecting:
|
|
return nil
|
|
case .selected(let selection), .committingAction(let selection, _):
|
|
return selection
|
|
}
|
|
}
|
|
}
|