--- /dev/null
+using System;\r
+using System.Net;\r
+using System.Windows;\r
+using System.Windows.Controls;\r
+using System.Windows.Documents;\r
+using System.Windows.Ink;\r
+using System.Windows.Input;\r
+using System.Windows.Media;\r
+using System.Windows.Media.Animation;\r
+using System.Windows.Shapes;\r
+\r
+namespace Psychlops\r
+{\r
+ public class Font\r
+ {\r
+ public static Font default_font;\r
+\r
+ public enum Style { normal, italic, oblique };\r
+ public enum Weight { normal=400, bold=700 };\r
+ public double size;\r
+ public int weight;\r
+ public Style style;\r
+ public string family;\r
+\r
+ static Font()\r
+ {\r
+ default_font = new Font();\r
+ }\r
+ public Font()\r
+ {\r
+ size = 18;\r
+ weight = (int)Weight.normal;\r
+ style = Style.normal;\r
+ //family = new string[1];\r
+ }\r
+ public Font(double size_, int weight_, Style style_, string family_)\r
+ {\r
+ size = size_;\r
+ weight = weight_;\r
+ style = style_;\r
+ //family = new string[1];\r
+ family = family_;\r
+ }\r
+ public Font(string family_, double size_, int weight_, Style style_)\r
+ {\r
+ size = size_;\r
+ weight = weight_;\r
+ style = style_;\r
+ //family = new string[1];\r
+ family = family_;\r
+ }\r
+ ~Font()\r
+ {\r
+ }\r
+ }\r
+\r
+ public partial class Letters : Shape\r
+ {\r
+ protected string str_;\r
+ protected Font font_;\r
+ protected double width_, height_;\r
+ public Point datum { get; set; }\r
+\r
+ public enum HorizontalAlign { not_specified=-1, left=0, center, right };\r
+ //public const HorizontalAlign NOT_SPECIFIED=HorizontalAlign.not_specified, TEXT_ALIGN_LEFT=HorizontalAlign.left, TEXT_ALIGN_CENTER = HorizontalAlign.center, TEXT_ALIGN_RIGHT=HorizontalAlign.right;\r
+ public HorizontalAlign align;\r
+\r
+ public Letters()\r
+ {\r
+ fill = Color.white;\r
+ stroke = Stroke.null_line;\r
+ str_ = "";\r
+ font = Font.default_font;\r
+ align = HorizontalAlign.left;\r
+ }\r
+ public Letters(String init_str)\r
+ {\r
+ fill = Color.white;\r
+ stroke = Stroke.null_line;\r
+ str_ = init_str;\r
+ font_ = Font.default_font;\r
+ align = HorizontalAlign.center;\r
+ }\r
+ public Letters(String init_str, Font init_font)\r
+ {\r
+ fill = Color.white;\r
+ stroke = Stroke.null_line;\r
+ str_ = init_str;\r
+ font_ = init_font;\r
+ align = HorizontalAlign.right;\r
+ }\r
+ ~Letters()\r
+ {\r
+ }\r
+ public Font font\r
+ {\r
+ get { return font_; }\r
+ set { font_ = value; }\r
+ }\r
+ public Font getFont() { return font; }\r
+ public string str\r
+ {\r
+ get { return str_; }\r
+ set { str_ = value; }\r
+ }\r
+ public String getString() { return str; }\r
+ public Figure centering(Point p)\r
+ {\r
+ datum = p;\r
+ align = HorizontalAlign.center;\r
+ return this;\r
+ }\r
+ public Figure shift(Point p)\r
+ {\r
+ datum = datum + p;\r
+ return this;\r
+ }\r
+ public Letters locate(Point p)\r
+ {\r
+ datum = p;\r
+ return this;\r
+ }\r
+ public Letters locate(double x, double y)\r
+ {\r
+ datum = new Point(x,y);\r
+ return this;\r
+ }\r
+\r
+ public void draw()\r
+ {\r
+ Main.drawable.letters(this);\r
+ }\r
+\r
+ public Color fill { get; set; }\r
+ public Stroke stroke { get; set; }\r
+\r
+ }\r
+\r
+}\r