using System.Collections.Generic;
using FairyGUI.Utils;
namespace FairyGUI
{
///
/// Gear is a connection between object and controller.
///
public class GearFontSize : GearBase
{
Dictionary _storage;
int _default;
public GearFontSize(GObject owner)
: base(owner)
{
}
protected override void Init()
{
_default = ((GTextField)_owner).textFormat.size;
_storage = new Dictionary();
}
override protected void AddStatus(string pageId, ByteBuffer buffer)
{
if (pageId == null)
_default = buffer.ReadInt();
else
_storage[pageId] = buffer.ReadInt();
}
override public void Apply()
{
_owner._gearLocked = true;
int cv;
if (!_storage.TryGetValue(_controller.selectedPageId, out cv))
cv = _default;
TextFormat tf = ((GTextField)_owner).textFormat;
tf.size = cv;
((GTextField)_owner).textFormat = tf;
_owner._gearLocked = false;
}
override public void UpdateState()
{
_storage[_controller.selectedPageId] = ((GTextField)_owner).textFormat.size;
}
}
}