/** * Line order on right-to-left pages (`VDTMirroredFlowFrame`). * * The measurer gives every line the order of its segments as they stand * on the sheet from left to right (`VDTLine.order`, absent when that is * the logical order). A right-to-left page lays its flow out mirrored and * renderers advance along the flow's x axis, which runs from the sheet's * right edge to its left: there the segments advance in the reverse of * their visual order. This pass turns the order of every line set in the * flow of a mirrored page once the pages exist, so the measurer stays * blind to the frame (its lines, cached and shared, are the same in any * frame). * * A line of Arabic words, whose visual order is the reverse of the * logical one, ends with no `order` at all; a line of Latin words on such * a page gets the reversed order, so its first word is painted at the * flow's left, the sheet's right… of the words that follow it on the * sheet, which reads "first second third" from left to right again. * * Measured lines are shared (the measurement cache, resource blocks laid * out once and placed on several passes), so the pass never changes a * line in place: it gives the block, resource block or table cell that * holds one a new line object and a new array, and remembers the lines it * made so that a block met twice is not turned back. */ import { type VDTDocument, type VDTPage } from '../vdt.js'; /** The flow order of a line of `n` segments on a mirrored page, given its * visual order (`undefined` = 0 … n − 1): its reverse, or `undefined` * when that is the logical order. */ export declare function mirroredLineOrder(order: readonly number[] | undefined, n: number): number[] | undefined; /** Turn the line order of everything set in the flow of `page` when its * flow is mirrored (columns, floats, margin notes); see the module * comment. Design slots are left alone, and so are the frames painted * unmirrored (#960). */ export declare function orientPageLinesToFrame(page: VDTPage): void; /** {@link orientPageLinesToFrame} on every page of `doc`. */ export declare function orientLinesToFrames(doc: VDTDocument): void; //# sourceMappingURL=mirrorFrame.d.ts.map