diff --git a/src/apps/haiku-depot/textview/ParagraphStyle.cpp b/src/apps/haiku-depot/textview/ParagraphStyle.cpp index 21a96a699e..2fd6b3e337 100644 --- a/src/apps/haiku-depot/textview/ParagraphStyle.cpp +++ b/src/apps/haiku-depot/textview/ParagraphStyle.cpp @@ -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(); +} + + diff --git a/src/apps/haiku-depot/textview/ParagraphStyle.h b/src/apps/haiku-depot/textview/ParagraphStyle.h index 8c9de53b84..ec525731d5 100644 --- a/src/apps/haiku-depot/textview/ParagraphStyle.h +++ b/src/apps/haiku-depot/textview/ParagraphStyle.h @@ -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; diff --git a/src/apps/haiku-depot/textview/ParagraphStyleData.cpp b/src/apps/haiku-depot/textview/ParagraphStyleData.cpp index d943c21195..d36a0acb5a 100644 --- a/src/apps/haiku-depot/textview/ParagraphStyleData.cpp +++ b/src/apps/haiku-depot/textview/ParagraphStyleData.cpp @@ -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) { diff --git a/src/apps/haiku-depot/textview/ParagraphStyleData.h b/src/apps/haiku-depot/textview/ParagraphStyleData.h index c209643705..cce60a11fd 100644 --- a/src/apps/haiku-depot/textview/ParagraphStyleData.h +++ b/src/apps/haiku-depot/textview/ParagraphStyleData.h @@ -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;