| Commit | Line | Data |
|---|---|---|
| 32c903ac | 1 | /* $Id: out.h,v 1.6 2009/10/22 18:55:33 kristaps Exp $ */ |
| 589e7c1d SW |
2 | /* |
| 3 | * Copyright (c) 2009 Kristaps Dzonsons <kristaps@kth.se> | |
| 4 | * | |
| 5 | * Permission to use, copy, modify, and distribute this software for any | |
| 6 | * purpose with or without fee is hereby granted, provided that the above | |
| 7 | * copyright notice and this permission notice appear in all copies. | |
| 8 | * | |
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
| 10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
| 11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
| 12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
| 13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
| 14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
| 15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| 16 | */ | |
| 17 | #ifndef OUT_H | |
| 18 | #define OUT_H | |
| 19 | ||
| cbce6d97 SW |
20 | #define DATESIZ 24 |
| 21 | ||
| 589e7c1d SW |
22 | __BEGIN_DECLS |
| 23 | ||
| 24 | enum roffscale { | |
| 25 | SCALE_CM, | |
| 26 | SCALE_IN, | |
| 27 | SCALE_PC, | |
| 28 | SCALE_PT, | |
| 29 | SCALE_EM, | |
| 30 | SCALE_MM, | |
| 31 | SCALE_EN, | |
| 32 | SCALE_BU, | |
| 33 | SCALE_VS, | |
| 34 | SCALE_FS, | |
| 35 | SCALE_MAX | |
| 36 | }; | |
| 37 | ||
| 38 | struct roffsu { | |
| 39 | enum roffscale unit; | |
| 40 | double scale; | |
| 41 | int pt; | |
| 42 | }; | |
| 43 | ||
| 44 | #define SCALE_INVERT(p) \ | |
| 45 | do { (p)->scale = -(p)->scale; } while (/*CONSTCOND*/0) | |
| 46 | #define SCALE_VS_INIT(p, v) \ | |
| 47 | do { (p)->unit = SCALE_VS; \ | |
| 48 | (p)->scale = (v); \ | |
| 49 | (p)->pt = 0; } while (/*CONSTCOND*/0) | |
| 50 | #define SCALE_HS_INIT(p, v) \ | |
| 51 | do { (p)->unit = SCALE_BU; \ | |
| 52 | (p)->scale = (v); \ | |
| 53 | (p)->pt = 0; } while (/*CONSTCOND*/0) | |
| 54 | ||
| 55 | int a2roffsu(const char *, | |
| 56 | struct roffsu *, enum roffscale); | |
| cbce6d97 | 57 | void time2a(time_t, char *, size_t); |
| 589e7c1d SW |
58 | |
| 59 | __END_DECLS | |
| 60 | ||
| 61 | #endif /*!HTML_H*/ |