Blame src/lib/PMDTypes.h

rpm-build 324937
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
rpm-build 324937
/*
rpm-build 324937
 * This file is part of the libpagemaker project.
rpm-build 324937
 *
rpm-build 324937
 * This Source Code Form is subject to the terms of the Mozilla Public
rpm-build 324937
 * License, v. 2.0. If a copy of the MPL was not distributed with this
rpm-build 324937
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
rpm-build 324937
 */
rpm-build 324937
rpm-build 324937
#ifndef __PMDTYPES_H__
rpm-build 324937
#define __PMDTYPES_H__
rpm-build 324937
rpm-build 324937
#include <boost/optional.hpp>
rpm-build 324937
rpm-build 324937
#include "Units.h"
rpm-build 324937
rpm-build 324937
namespace libpagemaker
rpm-build 324937
{
rpm-build 324937
rpm-build 324937
struct PMDColor
rpm-build 324937
{
rpm-build 324937
  unsigned m_i;
rpm-build 324937
  uint16_t m_red;
rpm-build 324937
  uint16_t m_green;
rpm-build 324937
  uint16_t m_blue;
rpm-build 324937
rpm-build 324937
  PMDColor(const unsigned i,const uint16_t red,const uint16_t green,const uint16_t blue)
rpm-build 324937
    : m_i(i), m_red(red), m_green(green), m_blue(blue)
rpm-build 324937
  { }
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
struct PMDFont
rpm-build 324937
{
rpm-build 324937
public:
rpm-build 324937
  unsigned m_i;
rpm-build 324937
  std::string m_fontName;
rpm-build 324937
rpm-build 324937
  PMDFont(const unsigned i,const std::string &fontName)
rpm-build 324937
    : m_i(i), m_fontName(fontName)
rpm-build 324937
  { }
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
struct PMDFillProperties
rpm-build 324937
{
rpm-build 324937
  uint8_t m_fillType;
rpm-build 324937
  uint8_t m_fillColor;
rpm-build 324937
  uint8_t m_fillOverprint;
rpm-build 324937
  uint8_t m_fillTint;
rpm-build 324937
rpm-build 324937
  PMDFillProperties();
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
struct PMDStrokeProperties
rpm-build 324937
{
rpm-build 324937
  uint8_t m_strokeType;
rpm-build 324937
  uint16_t m_strokeWidth;
rpm-build 324937
  uint8_t m_strokeColor;
rpm-build 324937
  uint8_t m_strokeOverprint;
rpm-build 324937
  uint8_t m_strokeTint;
rpm-build 324937
rpm-build 324937
  PMDStrokeProperties();
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
struct PMDParaProperties
rpm-build 324937
{
rpm-build 324937
  uint16_t m_length;
rpm-build 324937
  uint8_t m_align;
rpm-build 324937
  uint16_t m_leftIndent;
rpm-build 324937
  uint16_t m_firstIndent;
rpm-build 324937
  uint16_t m_rightIndent;
rpm-build 324937
  uint16_t m_beforeIndent;
rpm-build 324937
  uint16_t m_afterIndent;
rpm-build 324937
  uint16_t m_orphans;
rpm-build 324937
  uint16_t m_widows;
rpm-build 324937
  uint16_t m_keepWithNext;
rpm-build 324937
  bool m_keepTogether;
rpm-build 324937
  bool m_hyphenate;
rpm-build 324937
  uint16_t m_hyphensCount;
rpm-build 324937
  boost::optional<PMDStrokeProperties> m_ruleAbove;
rpm-build 324937
  boost::optional<PMDStrokeProperties> m_ruleBelow;
rpm-build 324937
rpm-build 324937
  PMDParaProperties();
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
struct PMDCharProperties
rpm-build 324937
{
rpm-build 324937
  uint16_t m_length;
rpm-build 324937
  uint16_t m_fontFace;
rpm-build 324937
  uint16_t m_fontSize;
rpm-build 324937
  uint16_t m_fontColor;
rpm-build 324937
  bool m_bold;
rpm-build 324937
  bool m_italic;
rpm-build 324937
  bool m_underline;
rpm-build 324937
  bool m_outline;
rpm-build 324937
  bool m_shadow;
rpm-build 324937
  bool m_strike;
rpm-build 324937
  bool m_super;
rpm-build 324937
  bool m_sub;
rpm-build 324937
  bool m_smallCaps;
rpm-build 324937
  bool m_allCaps;
rpm-build 324937
  int16_t m_kerning;
rpm-build 324937
  uint16_t m_superSubSize;
rpm-build 324937
  uint16_t m_superPos;
rpm-build 324937
  uint16_t m_subPos;
rpm-build 324937
  uint16_t m_tint;
rpm-build 324937
rpm-build 324937
  PMDCharProperties();
rpm-build 324937
};
rpm-build 324937
rpm-build 324937
}
rpm-build 324937
rpm-build 324937
#endif // __PMDTYPES_H__
rpm-build 324937
rpm-build 324937
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */