1/* 2 * Copyright 2013, Stephan A��mus <superstippi@gmx.de>. 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5#ifndef PARAGRAPH_STYLE_DATA_H 6#define PARAGRAPH_STYLE_DATA_H 7 8#include "Bullet.h" 9 10 11enum Alignment { 12 ALIGN_LEFT = 0, 13 ALIGN_CENTER = 1, 14 ALIGN_RIGHT = 2, 15}; 16 17 18class ParagraphStyleData; 19typedef BReference<ParagraphStyleData> ParagraphStyleDataRef; 20 21 22// You cannot modify a ParagraphStyleData object once it has been 23// created. 24class ParagraphStyleData : public BReferenceable { 25public: 26 ParagraphStyleData(); 27 ParagraphStyleData( 28 const ParagraphStyleData& other); 29 30 bool operator==( 31 const ParagraphStyleData& other) const; 32 bool operator!=( 33 const ParagraphStyleData& other) const; 34 35 ParagraphStyleDataRef SetAlignment(::Alignment alignment); 36 inline ::Alignment Alignment() const 37 { return fAlignment; } 38 39 ParagraphStyleDataRef SetJustify(bool justify); 40 inline bool Justify() const 41 { return fJustify; } 42 43 ParagraphStyleDataRef SetFirstLineInset(float inset); 44 inline float FirstLineInset() const 45 { return fFirstLineInset; } 46 47 ParagraphStyleDataRef SetLineInset(float inset); 48 inline float LineInset() const 49 { return fLineInset; } 50 51 ParagraphStyleDataRef SetLineSpacing(float spacing); 52 inline float LineSpacing() const 53 { return fLineSpacing; } 54 55 ParagraphStyleDataRef SetSpacingTop(float spacing); 56 inline float SpacingTop() const 57 { return fSpacingTop; } 58 59 ParagraphStyleDataRef SetSpacingBottom(float spacing); 60 inline float SpacingBottom() const 61 { return fSpacingBottom; } 62 63 ParagraphStyleDataRef SetBullet(const ::Bullet& bullet); 64 inline const ::Bullet& Bullet() const 65 { return fBullet; } 66private: 67 ParagraphStyleData& operator=(const ParagraphStyleData& other); 68 69private: 70 ::Alignment fAlignment; 71 bool fJustify; 72 73 float fFirstLineInset; 74 float fLineInset; 75 float fLineSpacing; 76 77 float fSpacingTop; 78 float fSpacingBottom; 79 80 ::Bullet fBullet; 81}; 82 83 84#endif // PARAGRAPH_STYLE_DATA_H 85