Create a frame class to represent a virtual sheet of paper
Categories
(Core :: Printing: Output, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: dholbert, Assigned: dholbert)
References
Details
(Whiteboard: [print2020_v81])
Attachments
(2 files, 1 obsolete file)
As an incremental step towards "pages-per-sheet" (bug 1631452), we need a frame class to represent a printed/print-previewed sheet of paper. nsPageFrame is sort of that class right now, but it represents both the page and the sheet of paper, and we want to decouple those.
In this bug, I'll create that new class to represent a sheet of paper (tentatively called "nsSheetFrame", so that e.g. "9 pages-per-sheet" will literally be "9 nsPageFrame instances on a nsSheetFrame").
For now, nsSheetFrame will just be container for a single nsPageFrame and will coopt some of its existing responsibility (in particular: nsSheetFrame will be responsible for rendering each virtual sheet of paper in Print Preview, as well as managing offsets from the edge of a printed sheet of paper).
So: this bug here isn't intended to change behavior. A subsequent bug will enhance nsSheetFrame to hold more than one nsPageFrame, to actually get multiple pages per sheet.
Assignee | ||
Comment 1•4 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #0)
In this bug, I'll create that new class to represent a sheet of paper (tentatively called "nsSheetFrame"
Actually: I'm leaning towards naming it "nsPrintedSheetFrame", and use "printed sheet" for naming in general, to reduce ambiguity & potential confusion with "stylesheets" (which are a completely unrelated sort of "sheet").
Case in point: the styles for drawing the print-preview rendering for a piece of paper currently live in the :-moz-page
pseudoclass, and those will need to move to a pseudoclass for this new thing. And if we named the new pseudoclass :-moz-sheet
, I worry that that'd be too confusing/ambiguous of a name -- whereas -moz-printed-sheet
is a bit more specific & harder to misunderstand.
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
As of this patch, this frame class is compiled, but it doesn't do anything and
it's never instantiated. Subsequent patches in this series will change that.
(This patch is just to get the "new frame class" boilerplate out of the way.)
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D83456
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment hidden (obsolete) |
Comment hidden (obsolete) |
Assignee | ||
Comment 6•4 years ago
|
||
Sorry, disregard comment 4-5 -- I copypasted the wrong bug number into a commit message.
Updated•4 years ago
|
Comment 8•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/bcd829a3b3f9
https://hg.mozilla.org/mozilla-central/rev/026ae02537a3
Description
•