PMDTypes.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libpagemaker project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef __PMDTYPES_H__
00011 #define __PMDTYPES_H__
00012 
00013 #include "Units.h"
00014 namespace libpagemaker
00015 {
00016 
00017 struct PMDColor
00018 {
00019   unsigned m_i;
00020   uint16_t m_red;
00021   uint16_t m_green;
00022   uint16_t m_blue;
00023 
00024   PMDColor(const unsigned i,const uint16_t red,const uint16_t green,const uint16_t blue)
00025     : m_i(i), m_red(red), m_green(green), m_blue(blue)
00026   { }
00027 };
00028 
00029 struct PMDFont
00030 {
00031 public:
00032   unsigned m_i;
00033   std::string m_fontName;
00034 
00035   PMDFont(const unsigned i,const std::string &fontName)
00036     : m_i(i), m_fontName(fontName)
00037   { }
00038 };
00039 
00040 struct PMDFillProperties
00041 {
00042   uint8_t m_fillType;
00043   uint8_t m_fillColor;
00044   uint8_t m_fillOverprint;
00045   uint8_t m_fillTint;
00046 
00047   PMDFillProperties(const uint8_t fillType,const uint8_t fillColor,const uint8_t fillOverprint,const uint8_t fillTint)
00048     : m_fillType(fillType), m_fillColor(fillColor), m_fillOverprint(fillOverprint), m_fillTint(fillTint)
00049   { }
00050 };
00051 
00052 struct PMDStrokeProperties
00053 {
00054   uint8_t m_strokeType;
00055   uint16_t m_strokeWidth;
00056   uint8_t m_strokeColor;
00057   uint8_t m_strokeOverprint;
00058   uint8_t m_strokeTint;
00059 
00060   PMDStrokeProperties(const uint8_t strokeType,const uint16_t strokeWidth,const uint8_t strokeColor,const uint8_t strokeOverprint,const uint8_t strokeTint)
00061     : m_strokeType(strokeType), m_strokeWidth(strokeWidth), m_strokeColor(strokeColor), m_strokeOverprint(strokeOverprint), m_strokeTint(strokeTint)
00062   { }
00063 };
00064 
00065 struct PMDParaProperties
00066 {
00067   uint16_t m_length;
00068   uint8_t m_align;
00069   uint16_t m_leftIndent;
00070   uint16_t m_firstIndent;
00071   uint16_t m_rightIndent;
00072   uint16_t m_beforeIndent;
00073   uint16_t m_afterIndent;
00074 
00075   PMDParaProperties(const uint16_t length, const uint8_t align,const uint16_t leftIndent,const uint16_t firstIndent,const uint16_t rightIndent,const uint16_t beforeIndent,const uint16_t afterIndent)
00076     : m_length(length), m_align(align), m_leftIndent(leftIndent), m_firstIndent(firstIndent), m_rightIndent(rightIndent), m_beforeIndent(beforeIndent), m_afterIndent(afterIndent)
00077   { }
00078 };
00079 
00080 struct PMDCharProperties
00081 {
00082   uint16_t m_length;
00083   uint16_t m_fontFace;
00084   uint16_t m_fontSize;
00085   uint8_t m_fontColor;
00086   uint8_t m_boldItalicUnderline;
00087   uint8_t m_superSubscript;
00088   int16_t m_kerning;
00089   uint16_t m_superSubSize;
00090   uint16_t m_superPos;
00091   uint16_t m_subPos;
00092   uint8_t m_tint;
00093 
00094   PMDCharProperties(const uint16_t length, const uint16_t fontFace, const uint16_t fontSize, const uint8_t fontColor, const uint8_t boldItalicUnderline, const uint8_t superSubscript, const int16_t kerning, const uint16_t superSubSize, const uint16_t superPos, const uint16_t subPos, const uint16_t tint)
00095     : m_length(length), m_fontFace(fontFace), m_fontSize(fontSize), m_fontColor(fontColor), m_boldItalicUnderline(boldItalicUnderline), m_superSubscript(superSubscript), m_kerning(kerning), m_superSubSize(superSubSize), m_superPos(superPos), m_subPos(subPos), m_tint(tint)
00096   { }
00097 };
00098 
00099 }
00100 
00101 #endif // __PMDTYPES_H__
00102 
00103 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */