flutter_readium_platform_interface 0.1.1
flutter_readium_platform_interface: ^0.1.1 copied to clipboard
Platform interface for the flutter_readium plugin. Provides shared Dart models, the method-channel contract, and the reader API surface used by native implementations.
Changelog #
All notable changes to flutter_readium_platform_interface are documented here.
Format follows Keep a Changelog.
Unreleased #
0.1.1 - 2026-06-26 #
Fixed #
EpubColumnCountnow serializes to Readium's canonical values (auto/1/2) instead ofauto/one/two, fixing column count not being applied natively.fromJsonstill accepts the legacyone/twostrings.
0.1.0 - 2026-06-20 #
Added #
ReadiumTimebasedState.totalProgressDuration— nullableDurationfor the publication-level playback offset derived fromcurrentLocator.locations.totalProgression * publicationDuration.ReadiumTimebasedState.totalDuration— nullableDurationfor the total publication duration (sum of all reading-order link durations);nullwhen any reading-order link is missing a duration.PDFSpread— enum (auto/never/always) for synthetic dual-page spread on PDF publications. iOS only; AndroidPdfiumPreferencesdoes not expose spread.PDFPreferences— three new iOS-only fields:offsetFirstPage: bool?,spread: PDFSpread?, andvisibleScrollbar: bool?, with matchingtoJson/fromJson/copyWith/propswiring. Ignored on Android and web.MediaType.readiumNarration—application/vnd.readium.narration+json, the per-item Sync Narration media-overlay format used by the Readium ts-toolkit (web).TaggedReadiumLog—ReadiumLog.tag('Name')factory creating child loggers namedflutter_readium.<Name>, surfacing the source / area in log records.
Changed #
FlutterReadiumPlatform.currentReaderWidgetanddefaultPreferencesare now read-only getters for consumers, with@protectedsetters — the active reader widget registers itself rather than being assigned directly. UsesetDefaultPreferencesto update default preferences.
0.0.1 - 2026-06-01 #
Added #
PDFPreferences— model for PDF reader display preferences (layout: PDFLayout?,readingProgression: PDFReadingProgression?,pageSpacing: double?,fit: PDFFit?) withtoJson/fromJsonandcopyWith.PDFLayout— enum (paginated/scrollVertical/scrollHorizontal) used byPDFPreferences. Unifies iOS'sscroll+scrollAxisand Android'sscrollAxisinto a single cross-platform setting.PDFReadingProgression— enum (ltr/rtl) used byPDFPreferences.PDFFit— enum (auto/page/width) controlling how PDF pages are fitted in the viewport.setPDFPreferences(PDFPreferences)— new method on the platform interface andMethodChannelFlutterReadium; routes through the existingsetPreferencesmethod-channel call, dispatched by format on the native side.FlutterReadiumPlatform— abstract platform interface class that all platform implementations must extend.MethodChannelFlutterReadium— defaultMethodChannel/EventChannelimplementation of the platform interface, used by the native plugins.- Model classes (all JSON-serialisable via hand-written
toJson/fromJson):Publication— top-level publication container with metadata, reading order, resources, table of contents, and page list.Metadata— publication metadata including title, authors, language, subject, andnumberOfPages.Locator— position identifier within a resource, containinghref,type,title,text,locations(progression, position, CSS selector, fragments), andtimestamp.Link— hyperlink to a resource within or outside the publication.LocalizedString— internationalised string map keyed by BCP 47 language tags.EPUBPreferences— reader display preferences (font, scroll mode, CSS overrides).AudioPreferences— audio playback preferences (speed, pitch).TTSPreferences— TTS preferences (voice, speed, pitch, language).ReaderDecoration— decoration applied to a range within the visual reader.ReaderDecorationStyle— style (colour, opacity, border) for a decoration.ReaderTTSVoice— TTS voice descriptor with identifier, language, and quality metadata.ReadiumReaderStatus— enum of reader lifecycle states (idle, loading, ready, error).ReadiumTimebasedState— timebased navigator playback state including currentLocator,duration,currentTime,currentBuffered, and play/pause status.ReadiumError— structured error type propagated from native to Dart.TextSearchResult— single search hit containing the matchingLocatorand surrounding text.
- Reader enums:
DefaultSelectionAction— system-provided selection menu items (copy,share,lookup,translate,selectAll) that callers can allow or filter out viaReadiumReaderWidget.allowedDefaultActions.DecorationStyle— built-in decoration styles (highlight,underline) used when constructing aReaderDecorationStyle.LogLevel— log verbosity (none,error,warn,info,debug) passed tosetLogLevel.
- Page information —
Locations.page/Locations.totalPagesextension getters expose the current page and total page count parsed from locator fragments. ReadiumReaderWidgetInterface— abstract interface that platform-specific reader widget implementations extend; consumed byFlutterReadiumPlatform.currentReaderWidget.ReadiumException— Dart exception wrapping aReadiumError.ReaderTTSVoiceUtils— utility to load and query the bundled Readium voice-data JSON.