1
/* $Id: plstrm.h,v 1.32 2004/06/14 21:51:57 rlaboiss Exp $
1
/* $Id: plstrm.h,v 1.43 2006/04/25 15:35:05 andrewross Exp $
3
3
* Contains declarations for PLStream and PLDev structs.
4
4
* Also prototypes for stream & device utility functions.
6
6
Copyright (C) 2004 Andrew Ross
7
Copyright (C) 2004 Andrew Roach
8
9
This file is part of PLplot.
20
21
You should have received a copy of the GNU Library General Public License
21
22
along with PLplot; if not, write to the Free Software
22
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
152
153
* plbuf_write PLINT Set if driver needs to use the plot buffer
153
154
* dev_fill0 PLINT Set if driver can do solid area fills
154
155
* dev_text PLINT Set if driver want to do it's only text drawing
156
* dev_unicode PLINT Set if driver wants unicode
157
* dev_hrshsym PLINT Set for Hershey symbols to be used
155
158
* dev_fill1 PLINT Set if driver can do pattern area fills
156
159
* dev_dash PLINT Set if driver can do dashed lines
157
160
* dev_di PLINT Set if driver wants to handle DI commands
441
444
* cfont Current font number, replaces global 'font' in plsym.c
442
445
* This can be latter extended for font shape, series, family and size
446
* fci FCI (font characterization integer)
447
* An FCI is sometimes inserted in the middle of a stream of
448
* unicode glyph indices. Thus to distinguish it from those, the FCI is marked
449
* by 0x8 in the most significant 4 bits. The remaining 7 hex digits
450
* stored in the 32-bit integer characterize 7 different font attributes.
451
* The font attributes are interpreted as follows:
452
* hexdigit => 0 1 2 3 4 5
453
* hexpower Font attribute Possible attribute values
454
* 0 font-family sans-serif serif monospace script symbol |fantasy
455
* 1 font-style upright italic oblique |
456
* 2 font-weight medium bold | bolder light lighter
457
* 3 font-variant normal | small caps
459
* Everything to the right of the vertical bars is not implemented and is
460
* subject to change. The four font attributes (font-family, font-style,
461
* font-weight, and font-variant are stored in the FCI in the order of
462
* hexpower, the left shift that is applied to the hex digit to place the
463
* hexdigit in the FCI. The hexpower = 3 position is essentially undefined
464
* since there is currently only one hexdigit (0) defined, and similarly
465
* for hexpower = 4-6 so there is room for expansion of this scheme into more
466
* font attributes if required. (hexpower = 7 is reserved for the 0x8 marker
444
468
\*--------------------------------------------------------------------------*/
446
470
#define PL_MAX_CMAP1CP 256
640
664
PLINT dev_compression;
645
669
/* Stuff used by the Tkwin driver for Plframe */
646
670
struct PlPlotter *plPlotterPtr;
673
/* Unicode section */
681
/* Used to keep a hold of a temporary copy of the original character height
682
* which I overload as a quick hack to fix up a bug in freetype an plsym()
685
PLFLT original_chrdef,original_chrht;
688
* Pointer to postscript document class used by psttf
650
695
/*--------------------------------------------------------------------------*\
696
741
plRotPhy(PLINT orient, PLINT xmin, PLINT ymin, PLINT xmax, PLINT ymax,
742
PLINT *px, PLINT *py);
699
744
/* Allocates a standard PLDev structure for device-specific data */