Use CFont class to define the font to use
This commit is contained in:
1 parent
7f60e6f321
commit
94be5ce97b
13 files changed
+242
-255
No files matched your search
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace VocaluxeLib
|
||||
{
|
||||
public interface IFontObserver
|
||||
{
|
||||
void FontChanged();
|
||||
}
|
||||
|
||||
public class CFont
|
||||
{
|
||||
private string _Name;
|
||||
private EStyle _Style;
|
||||
private float _Height;
|
||||
private readonly List<IFontObserver> _Observers = new List<IFontObserver>();
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return _Name; }
|
||||
set
|
||||
{
|
||||
if (_Name == value)
|
||||
return;
|
||||
_Name = value;
|
||||
foreach (IFontObserver observer in _Observers)
|
||||
observer.FontChanged();
|
||||
}
|
||||
}
|
||||
public EStyle Style
|
||||
{
|
||||
get { return _Style; }
|
||||
set
|
||||
{
|
||||
if (_Style == value)
|
||||
return;
|
||||
_Style = value;
|
||||
foreach (IFontObserver observer in _Observers)
|
||||
observer.FontChanged();
|
||||
}
|
||||
}
|
||||
public float Height
|
||||
{
|
||||
get { return _Height; }
|
||||
set
|
||||
{
|
||||
if (Math.Abs(_Height - value) < 0.001)
|
||||
return;
|
||||
_Height = value;
|
||||
foreach (IFontObserver observer in _Observers)
|
||||
observer.FontChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public CFont()
|
||||
{
|
||||
_Name = "Normal";
|
||||
_Style = EStyle.Normal;
|
||||
_Height = 25f;
|
||||
}
|
||||
|
||||
public CFont(CFont font)
|
||||
{
|
||||
_Name = font.Name;
|
||||
_Style = font.Style;
|
||||
_Height = font.Height;
|
||||
}
|
||||
|
||||
public CFont(string fontFamily, EStyle style, float h)
|
||||
{
|
||||
_Name = fontFamily;
|
||||
_Style = style;
|
||||
_Height = h;
|
||||
}
|
||||
|
||||
public void AddObserver(IFontObserver observer)
|
||||
{
|
||||
if (!_Observers.Contains(observer))
|
||||
_Observers.Add(observer);
|
||||
}
|
||||
|
||||
public void RemoveObserver(IFontObserver observer)
|
||||
{
|
||||
_Observers.Remove(observer);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user