Files
ReadViewSDK/Sources/RDEpubReaderView/EPUBUI/RDEPUBReaderToolViewProtocols.swift
T
shenlei d7fcda345d refactor: rename RDReaderView -> RDEpubReaderView, update pod config and docs
- Rename source module from RDReaderView to RDEpubReaderView
- Move all source files from Sources/RDReaderView/ to Sources/RDEpubReaderView/
- Update podspec: RDReaderView.podspec -> RDEpubReaderView.podspec
- Update Podfile, demo project, and CocoaPods config for new pod name
- Delete old RDReaderView pod support files from ReadViewDemo/Pods
- Add new RDEpubReaderView pod support files
- Update documentation (API ref, architecture, UML, conventions, etc.)
- Add FixedLayoutRotationTests
- Update .gitignore: exclude .DS_Store, manual unpack backups, _ssoft-output
2026-07-10 19:44:53 +09:00

70 lines
2.3 KiB
Swift

import UIKit
/// 顶部工具栏协议:宿主可提供自定义顶栏,只需实现以下回调与状态方法。
/// 内置 `RDEPUBReaderTopToolView` 已实现本协议。
/// 通过 `RDEPUBReaderDependencies.makeTopToolView` 工厂注入自定义实现。
public protocol RDEPUBReaderTopToolViewProtocol: AnyObject {
/// 返回 / 关闭
var onBack: (() -> Void)? { get set }
/// 搜索
var onSearch: (() -> Void)? { get set }
/// 切换书签
var onToggleBookmark: (() -> Void)? { get set }
/// 应用主题
func apply(theme: RDEPUBReaderTheme)
/// 设置标题
func setTitle(_ title: String?)
/// 书签按钮是否可用
func setBookmarkEnabled(_ isEnabled: Bool)
/// 书签按钮选中态(当前页是否已加书签)
func setBookmarkSelected(_ isSelected: Bool)
}
/// 底部工具栏协议:宿主可提供自定义底栏。内置 `RDEPUBReaderBottomToolView` 已实现本协议。
/// 通过 `RDEPUBReaderDependencies.makeBottomToolView` 工厂注入自定义实现。
public protocol RDEPUBReaderBottomToolViewProtocol: AnyObject {
/// 目录
var onShowTableOfContents: (() -> Void)? { get set }
/// 书签列表
var onShowBookmarks: (() -> Void)? { get set }
/// 高亮列表
var onShowHighlights: (() -> Void)? { get set }
/// 新增高亮 / 标注
var onAddHighlight: (() -> Void)? { get set }
/// 设置面板
var onShowSettings: (() -> Void)? { get set }
/// 应用主题
func apply(theme: RDEPUBReaderTheme)
/// 按配置更新各入口可见性
func updateVisibility(showsTableOfContents: Bool, allowsHighlights: Bool, showsSettingsPanel: Bool)
/// 书签列表按钮是否可用
func setBookmarksEnabled(_ isEnabled: Bool)
/// 新增高亮按钮是否可用(有选区时)
func setAddHighlightEnabled(_ isEnabled: Bool)
/// 高亮列表按钮是否可用
func setHighlightsEnabled(_ isEnabled: Bool)
}
/// 顶部工具栏具体类型:UIView 且实现顶栏协议
public typealias RDEPUBReaderTopToolViewProviding = UIView & RDEPUBReaderTopToolViewProtocol
/// 底部工具栏具体类型:UIView 且实现底栏协议
public typealias RDEPUBReaderBottomToolViewProviding = UIView & RDEPUBReaderBottomToolViewProtocol