Load GIF images using the Skippy library, instead of the external
[closure-html.git] / src / renderer / r-struct.lisp
blobcc61bc78cf9a76e5b61acaa9622a01bb57f126a0
1 ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: RENDERER; -*-
2 ;;; ---------------------------------------------------------------------------
3 ;;; Title: The Renderer's Data Structures
4 ;;; Created: 1999-01-08
5 ;;; Author: Gilbert Baumann <gilbert@base-engineering.com>
6 ;;; License: MIT style (see below)
7 ;;; ---------------------------------------------------------------------------
8 ;;; (c) copyright 1999 by Gilbert Baumann
10 ;;; Permission is hereby granted, free of charge, to any person obtaining
11 ;;; a copy of this software and associated documentation files (the
12 ;;; "Software"), to deal in the Software without restriction, including
13 ;;; without limitation the rights to use, copy, modify, merge, publish,
14 ;;; distribute, sublicense, and/or sell copies of the Software, and to
15 ;;; permit persons to whom the Software is furnished to do so, subject to
16 ;;; the following conditions:
17 ;;;
18 ;;; The above copyright notice and this permission notice shall be
19 ;;; included in all copies or substantial portions of the Software.
20 ;;;
21 ;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 ;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 ;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 ;;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
25 ;;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
26 ;;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27 ;;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 ;; When Who What
30 ;; ----------------------------------------------------------------------------
31 ;; 1999-08-17 GB - Added sane accessors
32 ;; {inner,outer}-{left,right}-edge
33 ;; {inner,outer}-{width,height}
34 ;; for BBOXen
37 (in-package :RENDERER)
39 ;;; ---- Data Structures ----------------------------------------------------------------------
41 (defstruct (text-style
42 (:constructor make-text-style-prim
43 (font font-family font-weight font-size
44 font-style font-variant
45 letter-spacing word-spacing)))
46 font
47 font-family
48 font-weight
49 font-size
50 font-style
51 font-variant
52 letter-spacing
53 word-spacing)
55 ;; Note: This rcontext has to leave -- it is currently used by the CSS
56 ;; module to get to the device.
58 (defvar *rcontext*)
60 (defstruct rc
61 device
62 y ;current y coordinate
63 x0 ;x-coordinate of current left margin
64 x1 ;x-coordinate of current right margin
65 vertical-margins
66 vertical-margin-callbacks
67 first-line-tasks
68 left-floating-boxen ;all left floating boxen [list of FBOX-DESC]
69 right-floating-boxen ;all right floating boxen
70 document
71 anchors
72 container ;Die momentane container-box
73 abspos ;Liste aller absolut positionionieren Boxen
74 ;; caches for min/max width
75 (min-width-cache (make-hash-table :test #'eq))
76 (max-width-cache (make-hash-table :test #'eq))
79 (declaim (type rc *rcontext*))