OSDN Git Service

e3a4b41ecc8103dbc24259d970eb0502f9d1666a
[psychlops/silverlight.git] / dev4 / psychlops / core / graphic / font.cs
1 using System;\r
2 using System.Net;\r
3 using System.Windows;\r
4 using System.Windows.Controls;\r
5 using System.Windows.Documents;\r
6 using System.Windows.Ink;\r
7 using System.Windows.Input;\r
8 using System.Windows.Media;\r
9 using System.Windows.Media.Animation;\r
10 using System.Windows.Shapes;\r
11 \r
12 namespace Psychlops\r
13 {\r
14         public class Font\r
15         {\r
16                 public static Font default_font;\r
17 \r
18                 public enum Style { normal, italic, oblique };\r
19                 public enum Weight { normal=400, bold=700 };\r
20                 public double size;\r
21                 public int weight;\r
22                 public Style style;\r
23                 public string family;\r
24 \r
25                 static Font()\r
26                 {\r
27                         default_font = new Font();\r
28                 }\r
29                 public Font()\r
30                 {\r
31                         size = 18;\r
32                         weight = (int)Weight.normal;\r
33                         style = Style.normal;\r
34                         //family = new string[1];\r
35                 }\r
36                 public Font(double size_, int weight_, Style style_, string family_)\r
37                 {\r
38                         size = size_;\r
39                         weight = weight_;\r
40                         style = style_;\r
41                         //family = new string[1];\r
42                         family = family_;\r
43                 }\r
44                 public Font(string family_, double size_, int weight_, Style style_)\r
45                 {\r
46                         size = size_;\r
47                         weight = weight_;\r
48                         style = style_;\r
49                         //family = new string[1];\r
50                         family = family_;\r
51                 }\r
52                 ~Font()\r
53                 {\r
54                 }\r
55         }\r
56 \r
57         public partial class Letters : Shape\r
58         {\r
59                 protected string str_;\r
60                 protected Font font_;\r
61                 protected double width_, height_;\r
62                 public Point datum { get; set; }\r
63 \r
64                 public enum HorizontalAlign { not_specified=-1, left=0, center, right };\r
65                 //public const HorizontalAlign NOT_SPECIFIED=HorizontalAlign.not_specified, TEXT_ALIGN_LEFT=HorizontalAlign.left, TEXT_ALIGN_CENTER = HorizontalAlign.center, TEXT_ALIGN_RIGHT=HorizontalAlign.right;\r
66                 public HorizontalAlign align;\r
67 \r
68                 public Letters()\r
69                 {\r
70                         str_ = "";\r
71                         font = Font.default_font;\r
72                         align = HorizontalAlign.left;\r
73                 }\r
74                 public Letters(String init_str)\r
75                 {\r
76                         str_ = init_str;\r
77                         font_ = Font.default_font;\r
78                         align = HorizontalAlign.center;\r
79                 }\r
80                 public Letters(String init_str, Font init_font)\r
81                 {\r
82                         str_ = init_str;\r
83                         font_ = init_font;\r
84                         align = HorizontalAlign.right;\r
85                 }\r
86                 ~Letters()\r
87                 {\r
88                 }\r
89                 public Font font\r
90                 {\r
91                         get { return font_; }\r
92                         set { font_ = value; }\r
93                 }\r
94                 public Font getFont() { return font; }\r
95                 public string str\r
96                 {\r
97                         get { return str_; }\r
98                         set { str_ = value; }\r
99                 }\r
100                 public String getString() { return str; }\r
101                 public Figure centering(Point p)\r
102                 {\r
103                         datum = p;\r
104                         align = HorizontalAlign.center;\r
105                         return this;\r
106                 }\r
107                 public Figure shift(Point p)\r
108                 {\r
109                         datum = datum + p;\r
110                         return this;\r
111                 }\r
112                 public Letters locate(Point p)\r
113                 {\r
114                         datum = p;\r
115                         return this;\r
116                 }\r
117                 public Letters locate(double x, double y)\r
118                 {\r
119                         datum = new Point(x,y);\r
120                         return this;\r
121                 }\r
122 \r
123                 public void draw()\r
124                 {\r
125                         Main.drawable.letters(this);\r
126                 }\r
127 \r
128                 public Color fill { get; set; }\r
129                 public Stroke stroke { get; set; }\r
130 \r
131         }\r
132 \r
133 }\r