Changeset 18


Ignore:
Timestamp:
Nov 17, 2004, 2:32:21 PM (19 years ago)
Author:
altba\rryu
Message:

PartListクラスは配列との差が無いので廃止した。

Location:
trunk
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MacFaceFloat/ConfigurationForm.cs

    r17 r18  
    383383                private void AddPreviewListItem(string path)
    384384                {
    385                         using (Bitmap tmpImage = new Bitmap(128, 128))
    386                         {
    387                                 try
    388                                 {
    389                                         FaceDef faceDef = new FaceDef(path);
    390                                         PartList partList = faceDef.Pattern(FaceDef.PatternSuite.Normal, 10);
    391                                        
    392                                         using (Graphics g = Graphics.FromImage(tmpImage))
    393                                         {
    394                                                 g.Clear(Color.White);
    395                                                 g.DrawRectangle(new Pen(Color.LightGray), 0, 0, 127, 127);
    396                                                 foreach (Part part in partList)
    397                                                 {
    398                                                         g.DrawImage(part.Image,
    399                                                                 part.Point.X, part.Point.Y,
    400                                                                 part.Image.Size.Width, part.Image.Size.Height);
    401                                                 }
    402                                         }
    403                                         imageListFacePreviews.Images.Add(tmpImage);
    404 
    405                                         ListViewItem item = listViewFaces.Items.Add(faceDef.Title, imageListFacePreviews.Images.Count-1);
    406                                         item.SubItems.Add(path);    // 0: ƒpƒX
    407                                         item.SubItems.Add(faceDef.Author);  // 1: »ìŽÒ
    408                                         item.SubItems.Add(faceDef.Version); // 2: ƒo[ƒWƒ‡ƒ“
    409                                         item.SubItems.Add(
    410                                                 (faceDef.WebSite != null ?
    411                                                 faceDef.WebSite.ToString() : "")); // 3: ƒEƒFƒuƒTƒCƒg
    412                                 }
    413                                 catch (Exception ex)
    414                                 {
    415                                         // TODO: Exception ‚©‚ç‚à‚Á‚Æ‹·‚ß‚éB
    416                                         MessageBox.Show(ex.ToString(), "MacFace for Windows", MessageBoxButtons.OK, MessageBoxIcon.Error);
    417                                 }
     385                        try
     386                        {
     387                                FaceDef faceDef = new FaceDef(path);
     388                                Image image = faceDef.PatternImage(FaceDef.PatternSuite.Normal, 10);
     389                                imageListFacePreviews.Images.Add(image);
     390
     391                                ListViewItem item = listViewFaces.Items.Add(faceDef.Title, imageListFacePreviews.Images.Count-1);
     392                                item.SubItems.Add(path);    // 0: ƒpƒX
     393                                item.SubItems.Add(faceDef.Author);  // 1: »ìŽÒ
     394                                item.SubItems.Add(faceDef.Version); // 2: ƒo[ƒWƒ‡ƒ“
     395                                item.SubItems.Add(
     396                                        (faceDef.WebSite != null ?
     397                                        faceDef.WebSite.ToString() : "")); // 3: ƒEƒFƒuƒTƒCƒg
     398                        }
     399                        catch (Exception ex)
     400                        {
     401                                // TODO: Exception ‚©‚ç‚à‚Á‚Æ‹·‚ß‚éB
     402                                MessageBox.Show(ex.ToString(), "MacFace for Windows", MessageBoxButtons.OK, MessageBoxIcon.Error);
    418403                        }
    419404                }
  • trunk/MacFaceFloat/MainForm.cs

    r17 r18  
    211211                               
    212212                        if (prevUsage/10 != usage/10) {
    213                                 this.Graphics.Clear(Color.FromArgb(0, 0, 0, 0));
    214                                 foreach (Part part in _currentFaceDef.Pattern(FaceDef.PatternSuite.Normal, usage/10))
    215                                 {
    216                                         this.Graphics.DrawImage(part.Image,
    217                                                 part.Point.X, part.Point.Y,
    218                                                 part.Image.Size.Width, part.Image.Size.Height);
    219                                 }
     213                                Graphics g = this.Graphics;
     214                                g.Clear(Color.FromArgb(0, 0, 0, 0));
     215                                _currentFaceDef.DrawPattern(g, FaceDef.PatternSuite.Normal, usage/10);
    220216                                this.Update();
    221217                        }
  • trunk/MacFaceLibrary/FaceDef.cs

    r16 r18  
    88using System.IO;
    99using System.Collections;
     10using System.Drawing;
    1011
    1112namespace MacFace
     
    3536                private const int PatternRows = 3;
    3637
    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                /// ƒRƒ“ƒXƒgƒ‰ƒNƒ^B
     51                /// </summary>
     52                /// <param name="path">Šçƒpƒ^[ƒ“ƒtƒ@ƒCƒ‹‚̃pƒX</param>
    4953                public FaceDef(string path)
    5054                {
     
    7579                        }
    7680
     81                        _parts = new Part[partDefList.Count];
    7782                        for (int i = 0; i < partDefList.Count; i++)
    7883                        {
     
    8186                                int x = (int)partDef["pos x"];
    8287                                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);
    8489                        }
    8590
    86                         _patternSuites = new PartList[PatternCols][];
    87                         ArrayList patternDefSuites = def["pattern"] as ArrayList;
     91                        ArrayList suiteDefList = (ArrayList)def["pattern"];
     92                        _patternSuites = new Part[PatternRows][][];
    8893                        for (int i = 0; i < PatternRows; i++)
    8994                        {
    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][];
    9297                                for (int j = 0; j < PatternCols; j++)
    9398                                {
    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++)
    96102                                        {
    97                                                 pattern.Add(_parts[partNo]);
     103                                                pattern[k] = _parts[(int)patternDef[k]];
    98104                                        }
    99105                                        suite[j] = pattern;
     
    103109                }
    104110
    105                 public PartList Markers
    106                 {
    107                         get { return _makers; }
    108                 }
    109 
    110                 public PartList Parts
    111                 {
    112                         get { return _parts; }
    113                 }
    114 
    115111                public Uri WebSite
    116112                {
     
    138134                }
    139135
    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;
    143154                }
    144155        }
  • trunk/MacFaceLibrary/MacFaceLibrary.csproj

    r16 r18  
    115115                />
    116116                <File
    117                     RelPath = "PartList.cs"
    118                     SubType = "Code"
    119                     BuildAction = "Compile"
    120                 />
    121                 <File
    122117                    RelPath = "PropertyList.cs"
    123118                    SubType = "Code"
Note: See TracChangeset for help on using the changeset viewer.