Skip to main content

Module cmc

Module cmc 

Source
Expand description

Comic / multi-page projects (.cmc): a plain SQLite file next to the pages.

Project holds the work settings (binding, default page size, …) and CanvasNode the page list (spec: docs/spec/07-cmc.md):

root node (Type 0): FirstChildIndex → first page, SelectedIndex → selected page
page node (Type 2): NextIndex → next page (0 ends the list),
                    LinkPath ".:pageNNNN.clip" (relative to the .cmc folder),
                    PageFlag 1 = two-page spread

The order of the pages is the order of the linked list, not of the file names: page files keep their name when pages are moved. New page files take Project.MaxCanvasFileIndex + 1.

Structs§

CanvasNode
One CanvasNode row.
CmcFile
An open .cmc. Changes stay in memory until CmcFile::save.
CmcProject
Work settings from Project (the common subset; the row has more).

Constants§

NODE_PAGE
CanvasNode.Type of a page.
NODE_ROOT
CanvasNode.Type values.