Changeset 18 for trunk/MacFaceLibrary/FaceDef.cs
- Timestamp:
- Nov 17, 2004, 2:32:21 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MacFaceLibrary/FaceDef.cs
r16 r18 8 8 using System.IO; 9 9 using System.Collections; 10 using System.Drawing; 10 11 11 12 namespace MacFace … … 35 36 private const int PatternRows = 3; 36 37 37 private string _path = ""; 38 private string _title = ""; 39 private string _author = ""; 40 private string _version = ""; /*Version*/ 41 private Uri _webSite = null; 42 43 internal PartList _parts = new PartList(); 44 internal PartList[][] _patternSuites; 45 internal PartList _makers = new PartList(); 46 47 48 // ctor 38 private string _path; 39 private string _title; 40 private string _author; 41 private string _version; 42 private Uri _webSite; 43 44 private Part[] _parts; 45 private Part[][][] _patternSuites; 46 private Part[] _makers; 47 48 49 /// <summary> 50 /// RXgN^B 51 /// </summary> 52 /// <param name="path">çp^[t@CÌpX</param> 49 53 public FaceDef(string path) 50 54 { … … 75 79 } 76 80 81 _parts = new Part[partDefList.Count]; 77 82 for (int i = 0; i < partDefList.Count; i++) 78 83 { … … 81 86 int x = (int)partDef["pos x"]; 82 87 int y = (int)partDef["pos y"]; 83 _parts .Add(new Part(System.IO.Path.Combine(path, filename), x, y));88 _parts[i] = new Part(System.IO.Path.Combine(path, filename), x, y); 84 89 } 85 90 86 _patternSuites = new PartList[PatternCols][];87 ArrayList patternDefSuites = def["pattern"] as ArrayList;91 ArrayList suiteDefList = (ArrayList)def["pattern"]; 92 _patternSuites = new Part[PatternRows][][]; 88 93 for (int i = 0; i < PatternRows; i++) 89 94 { 90 PartList[] suite = new PartList[PatternCols];91 ArrayList patternDefList = patternDefSuites[i] as ArrayList;95 ArrayList suiteDef = (ArrayList)suiteDefList[i]; 96 Part[][] suite = new Part[PatternCols][]; 92 97 for (int j = 0; j < PatternCols; j++) 93 98 { 94 PartList pattern = new PartList(); 95 foreach (int partNo in (ArrayList)patternDefList[j]) 99 ArrayList patternDef = (ArrayList)suiteDef[j]; 100 Part[] pattern = new Part[patternDef.Count]; 101 for (int k = 0; k < patternDef.Count; k++) 96 102 { 97 pattern .Add(_parts[partNo]);103 pattern[k] = _parts[(int)patternDef[k]]; 98 104 } 99 105 suite[j] = pattern; … … 103 109 } 104 110 105 public PartList Markers106 {107 get { return _makers; }108 }109 110 public PartList Parts111 {112 get { return _parts; }113 }114 115 111 public Uri WebSite 116 112 { … … 138 134 } 139 135 140 public PartList Pattern(PatternSuite suite, int no) 141 { 142 return _patternSuites[(int)suite][no]; 136 public void DrawPattern(Graphics g, PatternSuite suite, int no) 137 { 138 Part[] pattern = _patternSuites[(int)suite][no]; 139 foreach (Part part in pattern) 140 { 141 g.DrawImage(part.Image, 142 part.Point.X, part.Point.Y, 143 part.Image.Size.Width, part.Image.Size.Height); 144 } 145 } 146 147 public Image PatternImage(PatternSuite suite, int no) 148 { 149 Bitmap image = new Bitmap(128, 128); 150 Graphics g = Graphics.FromImage(image); 151 DrawPattern(g, suite, no); 152 g.Dispose(); 153 return image; 143 154 } 144 155 }
Note: See TracChangeset
for help on using the changeset viewer.