Changeset 19


Ignore:
Timestamp:
Nov 17, 2004, 9:49:10 PM (19 years ago)
Author:
altba\rryu
Message:

FaceDefクラスにマーカーとタイトルパターンの読み込み処理を追加した。

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MacFaceFloat/ConfigurationForm.cs

    r18 r19  
    386386                        {
    387387                                FaceDef faceDef = new FaceDef(path);
    388                                 Image image = faceDef.PatternImage(FaceDef.PatternSuite.Normal, 10);
    389                                 imageListFacePreviews.Images.Add(image);
     388                                imageListFacePreviews.Images.Add(faceDef.TitleImage());
    390389
    391390                                ListViewItem item = listViewFaces.Items.Add(faceDef.Title, imageListFacePreviews.Images.Count-1);
  • trunk/MacFaceFloat/MainForm.cs

    r18 r19  
    213213                                Graphics g = this.Graphics;
    214214                                g.Clear(Color.FromArgb(0, 0, 0, 0));
    215                                 _currentFaceDef.DrawPattern(g, FaceDef.PatternSuite.Normal, usage/10);
     215                                _currentFaceDef.DrawPatternImage(g, FaceDef.PatternSuite.Normal, usage/10, FaceDef.MarkerNone);
    216216                                this.Update();
    217217                        }
  • trunk/MacFaceLibrary/FaceDef.cs

    r18 r19  
    2525                }
    2626
    27                 public enum MarkerBitMask
    28                 {
    29                         None    = 0x00,
    30                         PageIn  = 0x01,
    31                         PageOut = 0x02
    32                 }
     27                public const int MarkerNone    = 0x00;
     28                public const int MarkerPageIn  = 0x01;
     29                public const int MarkerPageOut = 0x02;
    3330
    3431                private const string FaceDefName = "faceDef.plist";
    3532                private const int PatternCols = 11;
    3633                private const int PatternRows = 3;
     34                private const int ImageWidth = 128;
     35                private const int ImageHeight = 128;
    3736
    3837                private string _path;
     
    4443                private Part[] _parts;
    4544                private Part[][][] _patternSuites;
    46                 private Part[] _makers;
     45                private Part[] _markers;
     46                private Part[] _titlePattern;
    4747
    4848
     
    7272
    7373
    74                         // Part ‚ð“ǂݍž‚ށB
    75                         ArrayList partDefList = def["parts"] as ArrayList;
     74                        // ƒp[ƒc‚̓ǂݍž‚Ý
     75                        ArrayList partDefList = (ArrayList)def["parts"];
    7676                        if (partDefList == null)
    7777                        {
     
    8282                        for (int i = 0; i < partDefList.Count; i++)
    8383                        {
    84                                 Hashtable partDef = partDefList[i] as Hashtable;
    85                                 string filename = partDef["filename"] as String;
     84                                Hashtable partDef = (Hashtable)partDefList[i];
     85                                string filename = (String)partDef["filename"];
    8686                                int x = (int)partDef["pos x"];
    8787                                int y = (int)partDef["pos y"];
     
    8989                        }
    9090
     91                        // ƒpƒ^[ƒ“‚̓ǂݍž‚Ý
    9192                        ArrayList suiteDefList = (ArrayList)def["pattern"];
    9293                        _patternSuites = new Part[PatternRows][][];
     
    107108                                _patternSuites[i] = suite;
    108109                        }
     110
     111                        // ƒ}[ƒJ[‚̓ǂݍž‚Ý
     112                        ArrayList markerDefList = (ArrayList)def["markers"];
     113                        _markers = new Part[markerDefList.Count];
     114                        for (int i = 0; i < markerDefList.Count; i++)
     115                        {
     116                                _markers[i] = _parts[(int)markerDefList[i]];
     117                        }
     118
     119                        // ƒ^ƒCƒgƒ‹ƒpƒ^[ƒ“‚̓ǂݍž‚Ý
     120                        ArrayList titlePatternDef = (ArrayList)def["title pattern"];
     121                        _titlePattern = new Part[titlePatternDef.Count];
     122                        for (int i = 0; i < titlePatternDef.Count; i++)
     123                        {
     124                                _titlePattern[i] = _parts[(int)titlePatternDef[i]];
     125                        }
    109126                }
    110127
     
    134151                }
    135152
    136                 public void DrawPattern(Graphics g, PatternSuite suite, int no)
    137                 {
    138                         Part[] pattern = _patternSuites[(int)suite][no];
    139                         foreach (Part part in pattern)
     153                public Image TitleImage()
     154                {
     155                        Bitmap image = new Bitmap(ImageWidth, ImageHeight);
     156                        Graphics g = Graphics.FromImage(image);
     157
     158                        foreach (Part part in _titlePattern)
    140159                        {
    141160                                g.DrawImage(part.Image,
     
    143162                                        part.Image.Size.Width, part.Image.Size.Height);
    144163                        }
    145                 }
    146 
    147                 public Image PatternImage(PatternSuite suite, int no)
    148                 {
    149                         Bitmap image = new Bitmap(128, 128);
     164
     165                        g.Dispose();
     166                        return image;
     167                }
     168
     169                public void DrawPatternImage(Graphics g, PatternSuite suite, int no, int markers)
     170                {
     171                        Part[] pattern = _patternSuites[(int)suite][no];
     172                        foreach (Part part in pattern)
     173                        {
     174                                g.DrawImage(part.Image,
     175                                        part.Point.X, part.Point.Y,
     176                                        part.Image.Size.Width, part.Image.Size.Height);
     177                        }
     178
     179                        if (markers != 0) {
     180                                for (int i = 0; i < 8; i++)
     181                                {
     182                                        if ((markers & (1 << i)) != 0)
     183                                        {
     184                                                Part part = _markers[i];
     185                                                g.DrawImage(part.Image,
     186                                                        part.Point.X, part.Point.Y,
     187                                                        part.Image.Size.Width, part.Image.Size.Height);
     188                                        }
     189                                }
     190                        }
     191                }
     192
     193                public Image PatternImage(PatternSuite suite, int no, int markers)
     194                {
     195                        Bitmap image = new Bitmap(ImageWidth, ImageHeight);
    150196                        Graphics g = Graphics.FromImage(image);
    151                         DrawPattern(g, suite, no);
     197                        DrawPatternImage(g, suite, no, markers);
    152198                        g.Dispose();
    153199                        return image;
Note: See TracChangeset for help on using the changeset viewer.