HaikuDepot: Text stuff: Added line spacing to ParagraphStyle

This commit is contained in:
Stephan Aßmus
2013-09-05 10:57:19 +02:00
parent 2b7ea89d14
commit a452d51705
4 changed files with 84 additions and 0 deletions
@@ -66,6 +66,13 @@ ParagraphStyle::SetAlignment(::Alignment alignment)
}
::Alignment
ParagraphStyle::Alignment() const
{
return fStyleData->Alignment();
}
bool
ParagraphStyle::SetJustify(bool justify)
{
@@ -78,6 +85,13 @@ ParagraphStyle::SetJustify(bool justify)
}
bool
ParagraphStyle::Justify() const
{
return fStyleData->Justify();
}
bool
ParagraphStyle::SetFirstLineInset(float inset)
{
@@ -90,6 +104,13 @@ ParagraphStyle::SetFirstLineInset(float inset)
}
float
ParagraphStyle::FirstLineInset() const
{
return fStyleData->FirstLineInset();
}
bool
ParagraphStyle::SetLineInset(float inset)
{
@@ -102,6 +123,32 @@ ParagraphStyle::SetLineInset(float inset)
}
float
ParagraphStyle::LineInset() const
{
return fStyleData->LineInset();
}
bool
ParagraphStyle::SetLineSpacing(float spacing)
{
ParagraphStyleDataRef data = fStyleData->SetLineSpacing(spacing);
if (data == fStyleData)
return data->LineSpacing() == spacing;
fStyleData = data;
return true;
}
float
ParagraphStyle::LineSpacing() const
{
return fStyleData->LineSpacing();
}
bool
ParagraphStyle::SetSpacingTop(float spacing)
{
@@ -114,6 +161,13 @@ ParagraphStyle::SetSpacingTop(float spacing)
}
float
ParagraphStyle::SpacingTop() const
{
return fStyleData->SpacingTop();
}
bool
ParagraphStyle::SetSpacingBottom(float spacing)
{
@@ -126,3 +180,10 @@ ParagraphStyle::SetSpacingBottom(float spacing)
}
float
ParagraphStyle::SpacingBottom() const
{
return fStyleData->SpacingBottom();
}
@@ -29,6 +29,9 @@ public:
bool SetLineInset(float inset);
float LineInset() const;
bool SetLineSpacing(float spacing);
float LineSpacing() const;
bool SetSpacingTop(float spacing);
float SpacingTop() const;
@@ -118,6 +118,21 @@ ParagraphStyleData::SetLineInset(float inset)
}
ParagraphStyleDataRef
ParagraphStyleData::SetLineSpacing(float spacing)
{
if (fLineSpacing == spacing)
return ParagraphStyleDataRef(this);
ParagraphStyleData* ret = new(std::nothrow) ParagraphStyleData(*this);
if (ret == NULL)
return ParagraphStyleDataRef(this);
ret->fLineSpacing = spacing;
return ParagraphStyleDataRef(ret, true);
}
ParagraphStyleDataRef
ParagraphStyleData::SetSpacingTop(float spacing)
{
@@ -48,6 +48,10 @@ public:
inline float LineInset() const
{ return fLineInset; }
ParagraphStyleDataRef SetLineSpacing(float spacing);
inline float LineSpacing() const
{ return fLineSpacing; }
ParagraphStyleDataRef SetSpacingTop(float spacing);
inline float SpacingTop() const
{ return fSpacingTop; }
@@ -65,6 +69,7 @@ private:
float fFirstLineInset;
float fLineInset;
float fLineSpacing;
float fSpacingTop;
float fSpacingBottom;