11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
22<html lang="en">
3- <!-- $Id: conform.src,v 1.13 1997-09-23 14:10:07 ian Exp $ -->
3+ <!-- $Id: conform.src,v 1.14 1997-10-01 22:16:51 ian Exp $ -->
44<HEAD>
55<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
66<TITLE>Definitions and document conventions</TITLE>
@@ -216,23 +216,31 @@ href="cascade.html">cascade</a>.
216216<P>User agents that don't actually use style sheets to specify default
217217rules must behave as if they did.
218218
219+ <H3><<span class="index-def" title="flow model">flow model</span></H3>
220+ The <a href="./flowobj.html">visual flow model</a> describes how user
221+ agents should format a stream of elements.
219222
220223<H3><span class="index-def" title="canvas">Canvas</span></H3>
221- <!-- Hakon: introduce notion of "viewport"? -->
222- <P> The canvas is the part of a visual user agent's drawing surface onto which
223- documents are rendered. No structural element of a document
224- corresponds to the canvas.
225-
226- <P>The dimensions of the canvas (which affect <a
227- href="./flowobj.html">visual formatting</a>) are set by the user
228- agent. The user agent may change the dimensions of the canvas when the
229- viewing area is resized.
230-
231- <P>When a document doesn't cover the entire canvas, user agents should
232- display the background according to the following algorithm (which
233- derives from HTML precedent): if the <span
234- class="propinst-background">'background'</span> value of the HTML
235- element is different from 'transparent' then use it, else use the
224+
225+ <P> The canvas is the part of a visual user agent's drawing surface
226+ onto which documents are rendered. Users see the canvas through a user
227+ agent's <span class="index-def"
228+ title="viewport"><em>viewport</em></span>, a window or other viewing
229+ area on the screen. The canvas may be larger or smaller than the
230+ viewport. Typically, when the canvas is larger than the viewport, the
231+ user agent will offer the user a scrolling mechanism to bring hidden
232+ parts into view.
233+
234+ <P>The canvas is generally as long as the document flowed onto it, but
235+ has a fixed width, set by the user agent. The width affects formatting
236+ according to the <a href="./flowobj.html#visual-flow">visual flow
237+ model</a> The user agent may change the dimensions of the canvas when
238+ the viewport is resized.
239+
240+ <P>When an HTML document doesn't cover the entire canvas, user agents
241+ should display the background according to the following algorithm: if
242+ the <span class="propinst-background">'background'</span> value of the
243+ HTML element is different from 'transparent' then use it, else use the
236244<span class="propinst-background">'background'</span> value of the
237245BODY element. If the resulting value is 'transparent', the rendering
238246is undefined.
@@ -250,10 +258,50 @@ is undefined.
250258fully cover the canvas) will be red.
251259</div>
252260
253- <P>In HTML, until other means of addressing the canvas become
254- available, we recommend that canvas properties be set on the BODY
261+ <P>Note that no structural element of a document corresponds to the
262+ canvas. In HTML, until other means of addressing the canvas become
263+ available, we recommend that authors set canvas properties on the BODY
255264element.
256265
266+ <H3><a name="page">The page</a></H3>
267+
268+ <P>In order to handle paged media (printing, slides, etc.) correctly,
269+ we introduce the notion of the <span class="index-def"
270+ title="page"><em>page</em></span>, which is like a canvas except that
271+ both its width and height are finite. In the section on <a
272+ href="./print.html#page-breaks">page breaks</a>, we discuss how user
273+ agents must adapt the <a href="flowobj.html#flow-model">visual flow
274+ model</a> to the case of paged media.
275+
276+ <P>That a "page" is an abstract rectangle that may or may not
277+ correspond to the size of a physical "sheet" of paper, transparency,
278+ etc. Once a page has been formatted, it is the user agent's
279+ responsibility to transfer pages to paper. The transfer may vary in
280+ complexity. Some transfer possibilities include:
281+
282+ <ul>
283+ <li>One page to one sheet of paper.
284+ <li>Two pages to one sheet of paper (double-sided printing).
285+ <li>N (small) pages to one sheet of paper (called <span
286+ class="index-def" title="n-up"><em>n-up</em></span>
287+ printing).
288+ <li>One (large) page to N x M sheets of paper (called "tiling").
289+ <li>Signatures (a group of pages
290+ printed on a sheet, which, when folded and trimmed like a book, appear in their
291+ proper sequence).
292+ <li>Printing to alternate paper trays.
293+ <li>Printing to a file.
294+ </ul>
295+
296+ <P>The transfer mechanism from page to sheet lies beyond the scope of
297+ this specification. However, the user agent does need to target
298+ a certain size and orientation when printing, and this is known as the
299+ <span class="index-def" title="print target"><EM>print
300+ target</EM></span>. The user will typically set set the target size
301+ and orientation in the <EM>Print</EM> dialogue box of the UA. There
302+ will often, but not always, be a correlation between the target size
303+ and the sheet size.
304+
257305<H2>Conventions</H2>
258306<H3><a name="property-defs">CSS property definitions</a></H3>
259307<P>Each CSS property definition begins with a summary of key
0 commit comments