OSDN Git Service

5
[psychlops/silverlight.git] / dev4 / psychlops / core / graphic / font.cs
diff --git a/dev4/psychlops/core/graphic/font.cs b/dev4/psychlops/core/graphic/font.cs
new file mode 100644 (file)
index 0000000..8ef3a14
--- /dev/null
@@ -0,0 +1,139 @@
+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