]> granicus.if.org Git - imagemagick/commitdiff
Added textDirection and textGravity to Magick++.
authordirk <dirk@git.imagemagick.org>
Sun, 26 Jan 2014 21:27:10 +0000 (21:27 +0000)
committerdirk <dirk@git.imagemagick.org>
Sun, 26 Jan 2014 21:27:10 +0000 (21:27 +0000)
Magick++/lib/Image.cpp
Magick++/lib/Magick++/Image.h
Magick++/lib/Magick++/Include.h
Magick++/lib/Magick++/Options.h
Magick++/lib/Options.cpp

index cc0d526a7a985e02ed5a1be9d49e16cb7ccc9551..f9a3d7ba9543a332ae1ef242ffff660403ce5969 100644 (file)
@@ -1457,6 +1457,17 @@ size_t Magick::Image::subRange(void) const
   return(constOptions()->subRange());
 }
 
+void Magick::Image::textDirection(DirectionType direction_)
+{
+  modifyImage();
+  options()->textDirection(direction_);
+}
+
+Magick::DirectionType Magick::Image::textDirection(void) const
+{
+  return(constOptions()->textDirection());
+}
+
 void Magick::Image::textEncoding(const std::string &encoding_)
 {
   modifyImage();
@@ -1468,6 +1479,17 @@ std::string Magick::Image::textEncoding(void) const
   return(constOptions()->textEncoding());
 }
 
+void Magick::Image::textGravity(GravityType gravity_)
+{
+  modifyImage();
+  options()->textGravity(gravity_);
+}
+
+Magick::GravityType Magick::Image::textGravity(void) const
+{
+  return(constOptions()->textGravity());
+}
+
 void Magick::Image::textInterlineSpacing(double spacing_)
 {
   modifyImage();
index e3166a974f23ab09097c9455dafbea2099a4ea36..8f93f7d397c412eb01b45b516d359b9050842e97 100644 (file)
@@ -461,10 +461,18 @@ namespace Magick
     void subRange(const size_t subRange_);
     size_t subRange(void) const;
 
+    // Render text right-to-left or left-to-right.
+    void textDirection(DirectionType direction_);
+    DirectionType textDirection() const;
+
     // Annotation text encoding (e.g. "UTF-16")
     void textEncoding(const std::string &encoding_);
     std::string textEncoding(void) const;
 
+    // Text gravity.
+    void textGravity(GravityType gravity_);
+    GravityType textGravity() const;
+
     // Text inter-line spacing
     void textInterlineSpacing(double spacing_);
     double textInterlineSpacing(void) const;
index 35ece4edb92b4d7a1378b54bfb37ba38f1187605..888cdd6eadbd51d4a18ca4e2837b78cce2194ff5 100644 (file)
@@ -459,6 +459,12 @@ namespace Magick
   using MagickCore::OverlineDecoration;
   using MagickCore::LineThroughDecoration;
 
+  // Direction types
+  using MagickCore::DirectionType;
+  using MagickCore::UndefinedDirection;
+  using MagickCore::RightToLeftDirection;
+  using MagickCore::LeftToRightDirection;
+
   // Dispose methods
   using MagickCore::DisposeType;
   using MagickCore::UndefinedDispose;
index 43690ecbea08a8611060b20aa3c05d8181367e35..4af26bb06c41b4f12dc877b094de7cc3bf38a1e8 100644 (file)
@@ -231,10 +231,18 @@ namespace Magick
     void subRange(size_t subRange_);
     size_t subRange(void) const;
 
+    // Render text right-to-left or left-to-right.
+    void textDirection(DirectionType direction_);
+    DirectionType textDirection() const;
+
     // Annotation text encoding (e.g. "UTF-16")
     void textEncoding(const std::string &encoding_);
     std::string textEncoding(void) const;
 
+    // Text gravity.
+    void textGravity(GravityType gravity_);
+    GravityType textGravity() const;
+
     // Text inter-line spacing
     void textInterlineSpacing(double spacing_);
     double textInterlineSpacing(void) const;
index 84ebe79b423608943988d983ae125b8e4e631ce1..8475c9231d68691a284b33a4267786e925d62f71 100644 (file)
@@ -625,19 +625,39 @@ size_t Magick::Options::subRange(void) const
   return(_imageInfo->number_scenes);
 }
 
+void Magick::Options::textDirection(DirectionType direction_)
+{
+  _drawInfo->direction=direction_;
+}
+
+Magick::DirectionType Magick::Options::textDirection() const
+{
+  return(_drawInfo->direction);
+}
+
 void Magick::Options::textEncoding(const std::string &encoding_)
 {
-  CloneString(&_drawInfo->encoding, encoding_.c_str());
+  CloneString(&_drawInfo->encoding,encoding_.c_str());
 }
 
 std::string Magick::Options::textEncoding(void) const
 {
   if (_drawInfo->encoding && *_drawInfo->encoding)
     return(std::string(_drawInfo->encoding));
-
+  
   return(std::string());
 }
 
+void Magick::Options::textGravity(GravityType gravity_)
+{
+  _drawInfo->gravity=gravity_;
+}
+
+Magick::GravityType Magick::Options::textGravity() const
+{
+  return(_drawInfo->gravity);
+}
+
 void Magick::Options::textInterlineSpacing(double spacing_)
 {
   _drawInfo->interline_spacing=spacing_;