Browse Source

serialize kerning

dmuratshin 10 years ago
parent
commit
b9dcaccda1
2 changed files with 16 additions and 0 deletions
  1. 13 0
      oxygine/src/TextField.cpp
  2. 3 0
      oxygine/src/TextField.h

+ 13 - 0
oxygine/src/TextField.cpp

@@ -85,6 +85,12 @@ namespace oxygine
         needRebuild();
     }
 
+    void TextField::setKerning(int kerning)
+    {
+        _style.kerning = kerning;
+        needRebuild();
+    }
+
     void TextField::setFontSize2Scale(int scale2size)
     {
         _style.fontSize2Scale = scale2size;
@@ -195,6 +201,11 @@ namespace oxygine
         return _style.breakLongWords;
     }
 
+    int TextField::getKerning() const
+    {
+        return _style.kerning;
+    }
+
     text::Symbol* TextField::getSymbolAt(int pos) const
     {
         return const_cast<TextField*>(this)->getRootNode()->getSymbol(pos);
@@ -347,6 +358,7 @@ namespace oxygine
             node.append_attribute("text").set_value(_text.c_str());
         setAttr(node, "fontsize2scale", _style.fontSize2Scale, def.fontSize2Scale);
         setAttr(node, "linesOffset", _style.linesOffset, def.linesOffset);
+        setAttr(node, "kerning", _style.kerning, def.kerning);
         setAttr(node, "valign", _style.vAlign, def.vAlign);
         setAttr(node, "halign", _style.hAlign, def.hAlign);
         setAttr(node, "multiline", _style.multiline, def.multiline);
@@ -369,6 +381,7 @@ namespace oxygine
         _style.breakLongWords = node.attribute("breakLongWords").as_bool(def.breakLongWords);
         _style.fontSize2Scale = node.attribute("fontsize2scale").as_int(def.fontSize2Scale);
         _style.linesOffset = node.attribute("linesOffset").as_int(def.linesOffset);
+        _style.kerning = node.attribute("kerning").as_int(def.kerning);
         const char* fnt = node.attribute("font").as_string(0);
         if (fnt && *fnt)
         {

+ 3 - 0
oxygine/src/TextField.h

@@ -33,6 +33,7 @@ namespace oxygine
         const Font*                 getFont() const;
         int                         getFontSize2Scale() const;
         int                         getLinesOffset() const;
+        int                         getKerning() const;
         TextStyle::VerticalAlign    getVAlign() const;
         TextStyle::HorizontalAlign  getHAlign() const;
         bool                        getMultiline() const;
@@ -50,6 +51,8 @@ namespace oxygine
         void setBreakLongWords(bool val);
         /**Overwrites TextStyle linesOffset*/
         void setLinesOffset(int offset);
+        /**Overwrites TextStyle kerning*/
+        void setKerning(int kerning);
         /**Overwrites TextStyle scale2Size.*/
         void setFontSize2Scale(int scale2size);
         /**Overwrites TextStyle font.*/