Changes for version 0.005 - 2020-10-17

  • Features
    • Basic support for speech synthesis (only on Linux for now).
      • See <https://github.com/project-renard/curie/pull/152>, <https://github.com/project-renard/curie/pull/226>, <https://github.com/project-renard/curie/pull/231>.
    • Scene graph / canvas implementation of PDF drawing and layout.
      • See <https://github.com/project-renard/curie/pull/237>, <https://github.com/project-renard/curie/pull/238>, <https://github.com/project-renard/curie/pull/239>.
      • Closes <https://github.com/project-renard/curie/issues/27>.
      • New features:
        • Draws only the pages in the viewport in a grid layout with margins.
        • Changes the mouse cursor to an I-beam pointer when over text region.
      • Preserves old features:
        • Continuous view
        • Zoom
        • № of columns
        • Sidebar - jump to page
        • Page number text field - go to page
        • Highlight TTS sentence
    • Copy selection into primary clipboard. See <https://github.com/project-renard/curie/pull/241>.
  • Refactoring
    • Refactor into roles:
      • View manager: <https://github.com/project-renard/curie/pull/227>,
      • Speech synthesis: <https://github.com/project-renard/curie/pull/228>.
  • Bug fixes
    • Enable scrolling using scroll wheel buttons for older mice (not kinectic scrolling that is often found on new touchpads — which was already supported). See <https://github.com/project-renard/curie/pull/230>.

Documentation

a document reader

Modules

A document reader written with GTK+.
A document viewing application
Set up the accelerator map (global keybindings)
Component that implements a dialog with document metadata
Component that implements a file chooser dialog
Component that collects log messages
Main window of the application
Component that provides a menu bar for the application
Component that provides a list of headings for navigating
Component that implements document page navigation
Drawing over the current sentence to highlight it
A role to setup the key bindings for a page drawing area
A role to setup the bindings for mouse wheel scrolling for a page drawing area
A role for the text entry box for the page number
A role for the number of pages label
Role that links a component to the parent main window
Component used to control speech synthesis
A Bread::Board container for the application
Exceptions for Curie
Log::Any adapter that directs messages to the log window component
A base class for a view
A view model for grid-based views
A jacquard actor for a document page
A subview for a grid-layout
Role for view model based on a document
Role for view models that are paged
Role for view models that are paged
A Jacquard Scene graph factory
A high-level set of options for generating a view
A set of options for grids
An abstract class for a set of options for zooming
A set of options for zooming by a fixed amount
Manages the currently open views