Index: unk/AlphaForm.cs
===================================================================
--- /trunk/AlphaForm.cs	(revision 7)
+++ 	(revision )
@@ -1,495 +1,0 @@
-/*
- * AlphaForm.cs
- * $Id: AlphaForm.cs,v 1.3 2003/07/10 20:07:16 Mayuki Sawatari Exp $
- *
- * Copyright (c) 2003 Mayuki Sawatari, All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE MISUZILLA.ORG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-using System;
-using System.Timers;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Drawing.Drawing2D;
-using System.Windows.Forms;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-namespace Misuzilla.Windows.Forms
-{
-	/// <summary>sNZPÊAt@uhÌtH[</summary>
-	/// <remarks>
-	/// 	<para>
-	/// 		Windows2000/XPÌC[hEBhEðpµ
-	/// 		sNZPÊÅwãÌEBhEÆ¼§¾¬Å«étH[B
-	/// 	</para>
-	/// 	<para>
-	/// 		±ÌtH[ÍÊíÌtH[Æá¢<see cref="Update" />\bhÅ`æXVðw¦·éKvª èÜ·B
-	/// 		<see cref="System.Windows.Forms.Form.Paint" />CxgÈÇÄ`æÌCxgà­¶µÜ¹ñB
-	/// 	</para>
-	/// </remarks>
-	/// <seealso cref="System.Windows.Forms.Form" />
-	public class AlphaForm : System.Windows.Forms.Form
-	{
-		private Byte    m_opacity   = 255;
-		private SByte   m_fadeRatio = 25;
-		private Boolean m_movedrag  = false;
-		private Boolean m_transMouseMsg = false;
-
-		private System.Drawing.Bitmap   m_alphaMap = null;
-		private System.Drawing.Graphics m_graphics = null;
-
-		private IntPtr m_hDC    = IntPtr.Zero;
-		private IntPtr m_hMemDC = IntPtr.Zero;
-		
-		private Win32.Point m_pForm;
-		private Win32.Point m_pSurface;
-		private Win32.Size  m_sBitmap;
-
-#if FADE_USE_TIMER
-		private System.Timers.Timer m_fadeTimer = null;
-#endif
-
-		public
-		AlphaForm()
-		{
-			if (OSFeature.Feature.GetVersionPresent(OSFeature.LayeredWindows) == null)
-				throw new ApplicationException("Layered Windows is not supported");
-			
-			m_alphaMap = new Bitmap(100, 100);
-			m_graphics = Graphics.FromImage(m_alphaMap);
-			this.PrepareDC();
-		}
-
-		/// <summary>tH[ÉÖAt¯çê½<see cref="System.Drawing.Graphics"/>IuWFNgðæ¾µÜ·B</summary>
-		/// <remarks>
-		/// 	`æÉÍ±Ì<see cref="System.Drawing.Graphics"/>IuWFNgðp·éKvª èÜ·B
-		/// 	Ü½A`æµ½ã<see cref="Misuzilla.Windows.Forms.AlphaForm.Update"/>\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
-		/// </remarks>
-		/// <see cref="System.Drawing.Graphics"/>
-		public System.Drawing.Graphics
-		Graphics
-		{
-			get
-			{
-				return m_graphics;
-			}
-		}
-		
-		protected override void
-		Dispose(bool disposing)
-		{
-			this.CloseDC();
-			base.Dispose(disposing);
-		}
-
-		protected override CreateParams
-		CreateParams
-		{
-			get
-			{
-				CreateParams cp = base.CreateParams;
-				cp.ExStyle |= Win32.WS_EX_LAYERED; // WS_EX_LAYERED
-				return cp;
-			}
-		}
-		
-		protected override void
-		OnResize(EventArgs e)
-		{
-			base.OnResize(e);
-			if (m_graphics != null) m_graphics.Dispose();
-			if (m_alphaMap != null) m_alphaMap.Dispose();
-			m_alphaMap = new Bitmap(this.Width, this.Height);
-			m_graphics = Graphics.FromImage(m_alphaMap);
-			this.PrepareDC();
-			this.SetSize();
-			this.SetPosition();
-		}
-		protected override void
-		OnMove(EventArgs e)
-		{
-			base.OnMove(e);
-			this.SetPosition();
-		}
-		
-		
-		private void
-		SetSize()
-		{
-			lock (this) {
-				m_sBitmap.cx = m_alphaMap.Width;
-				m_sBitmap.cy = m_alphaMap.Height;
-			}
-		}
-		private void
-		SetPosition()
-		{
-			m_pForm.x = this.Left;
-			m_pForm.y = this.Top;
-			m_pSurface.x = 0;
-			m_pSurface.y = 0;
-		}
-		
-		private void
-		PrepareDC()
-		{
-			this.CloseDC();
-			m_hDC = Win32.GetDC(IntPtr.Zero);
-			m_hMemDC = Win32.CreateCompatibleDC(m_hDC);
-			if ((m_hDC == IntPtr.Zero) || (m_hMemDC == IntPtr.Zero)) {
-				this.CloseDC();
-				throw new ApplicationException("Couldn't allocate DeviceContext");
-			}
-		}
-		private void
-		CloseDC()
-		{
-			if (m_hMemDC != IntPtr.Zero) Win32.DeleteDC(m_hMemDC);
-			if (m_hDC != IntPtr.Zero) Win32.ReleaseDC(IntPtr.Zero, m_hDC);
-		}
-		
-		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
-		/// <remarks>
-		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
-		/// </remarks>
-		public override void
-		Refresh()
-		{
-			Update(m_opacity);
-		}
-		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
-		/// <remarks>
-		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
-		/// </remarks>
-		public new void
-		Update()
-		{
-			Update(m_opacity);
-		}
-		
-		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
-		/// <remarks>
-		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
-		/// </remarks>
-		/// <param name="bOpacity">XV·éÛÌtH[Ì§¾x</param>
-		[MethodImpl(MethodImplOptions.Synchronized)]
-		public void
-		Update(Byte bOpacity)
-		{
-			m_opacity = bOpacity;
-
-			if (m_alphaMap == null) return;
-			if (m_alphaMap.PixelFormat != PixelFormat.Format32bppArgb) return;
-
-			Win32.BlendFunction bf;
-			bf.BlendOp = 0; // AC_SRC_OVER
-			bf.BlendFlags = 0;
-			bf.AlphaFormat = 1; // AC_SRC_ALPHA
-			bf.SourceConstantAlpha = bOpacity;
-			
-			m_opacity = bOpacity;
-			
-			IntPtr hBitmapOld = IntPtr.Zero;
-			IntPtr hBitmap = IntPtr.Zero;
-			
-			//lock (this) {
-			//	lock (m_graphics) {
-					hBitmap = m_alphaMap.GetHbitmap(Color.FromArgb(0));
-					hBitmapOld = Win32.SelectObject(m_hMemDC, hBitmap);
-
-					if (Win32.UpdateLayeredWindow(
-							this.Handle, 
-							m_hDC, 
-							ref m_pForm, 
-							ref m_sBitmap,
-							m_hMemDC, 
-							ref m_pSurface, 
-							0, 
-							ref bf, 
-							0x2) == 0
-					){
-						//throw new ApplicationException("UpdateLayerdWindow was failed");
-					}
-					if (hBitmap != IntPtr.Zero) {
-						Win32.SelectObject(m_hMemDC, hBitmapOld);
-						Win32.DeleteObject(hBitmap);
-					}
-			//	}
-			//}
-		}
-		
-		public new Single
-		Opacity
-		{
-			get
-			{
-				return (m_opacity / 255.0F);
-			}
-			set
-			{
-				if (value > 1.0F)
-					value = 1.0F;
-				else if (value < 0.0F)
-					value = 0.0F;
-				m_opacity = (Byte)(value * 255.0F);
-				Update(m_opacity);
-			}
-		}
-
-		/// <summary>}EXhbOÉæÁÄtH[ÌÚ®ð·é©Ç¤©ðwèµÜ·B</summary>
-		/// <remarks>
-		/// 	±ÌvpeBªwè³êÄ¢éêtH[ãÅEhbOðs¤Æ
-		/// 	tH[ÌÚ®ªs¦Ü·B
-		/// </remarks>
-		public Boolean
-		MoveAtFormDrag
-		{
-			get
-			{
-				return m_movedrag;
-			}
-			set
-			{
-				m_movedrag = value;
-			}
-		}
-
-		/// <summary>}EXbZ[WªtH[ð§ß·é©Ç¤©ðwèµÜ·B</summary>
-		/// <remarks>
-		/// 	±ÌvpeBªwè³êÄ¢éê}EXbZ[WÍ
-		/// 	tH[ð§ßµAwãÌtH[É`íèÜ·B
-		/// </remarks>
-		public Boolean
-		TransparentMouseMessage
-		{
-			get
-			{
-				return m_transMouseMsg;
-			}
-			set
-			{
-				Int32 exStyle = Win32.GetWindowLong(this.Handle, Win32.GWL_EXSTYLE);
-
-				if (value)
-					exStyle |= Win32.WS_EX_TRANSPARENT;
-				else if ((exStyle & Win32.WS_EX_TRANSPARENT) == Win32.WS_EX_TRANSPARENT)
-					exStyle ^= Win32.WS_EX_TRANSPARENT;
-
-				Win32.SetWindowLong(this.Handle, Win32.GWL_EXSTYLE, exStyle);
-				m_transMouseMsg = value;
-			}
-		}
-		
-		protected override void
-		OnMouseDown(MouseEventArgs e)
-		{
-			base.OnMouseDown(e);
-			if (m_movedrag) {
-				if (e.Button == MouseButtons.Left) {
-					Win32.ReleaseCapture();
-					// Int32 WM_NCLBUTTONDOWN = 0xa1;
-					// Int32 HTCAPTION = 0x02;
-					Win32.SendMessage(this.Handle, 0xa1, 0x02, IntPtr.Zero);
-				}
-			}
-		}
-		
-		/// <summary>tH[ðtF[hCµÜ·B</summary>
-		/// <remarks>
-		/// 	tH[Ì§¾xðwè³ê½Ô²ÆÉã°Ä¢«\¦µÜ·B
-		/// </remarks>
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		public void
-		FadeinWindow(Double transMilliSec)
-		{
-			FadeWindow(transMilliSec, (SByte)(25), 255, 0);
-		}
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
-		public void
-		FadeinWindow(Double transMilliSec, Byte fadeRatio)
-		{
-			FadeWindow(transMilliSec, (SByte)(fadeRatio), 255, 0);
-		}
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
-		/// <param name="opacityMax">§¾xÌÅål</param>
-		public void
-		FadeinWindow(Double transMilliSec, Byte fadeRatio, Byte opacityMax)
-		{
-			FadeWindow(transMilliSec, (SByte)(fadeRatio), opacityMax, 0);
-		}
-		/// <summary>tH[ðtF[hAEgµÜ·B</summary>
-		/// <remarks>
-		/// 	tH[Ì§¾xðwè³ê½Ô²ÆÉº°Ä¢«®SÉ§¾ÉµÜ·B
-		/// </remarks>
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		public void
-		FadeoutWindow(Double transMilliSec)
-		{
-			FadeWindow(transMilliSec, (SByte)(-25), 255, 0);
-		}
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
-		public void
-		FadeoutWindow(Double transMilliSec, Byte fadeRatio)
-		{
-			FadeWindow(transMilliSec, (SByte)(-fadeRatio), 255, 0);
-		}
-		/// <param name="transMilliSec">§¾xÌXVÔu</param>
-		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
-		/// <param name="opacityMin">§¾xÌÅ¬l</param>
-		public void
-		FadeoutWindow(Double transMilliSec, Byte fadeRatio, Byte opacityMin)
-		{
-			FadeWindow(transMilliSec, (SByte)(-fadeRatio), 255, opacityMin);
-		}
-		
-		[MethodImpl(MethodImplOptions.Synchronized)]
-		private void
-		FadeWindow(Double transMilliSec, SByte fadeRatio, Byte opacityMaxLimit, Byte opacityMinLimit)
-		{
-			m_fadeRatio = fadeRatio;
-
-#if FADE_USE_TIMER
-			if (m_fadeTimer == null)
-				m_fadeTimer = new System.Timers.Timer(transMilliSec);
-			else
-				m_fadeTimer.Interval = transMilliSec;
-
-			m_fadeTimer.Elapsed += new ElapsedEventHandler(this.OnTimedEvent);
-			m_fadeTimer.Enabled = true;
-#else
-			Byte i = m_opacity;//((m_fadeRatio > 0) ? (Byte)0 : m_opacity);
-			while (m_fadeRatio + i < opacityMaxLimit && m_fadeRatio + i > opacityMinLimit) {
-				i = (Byte)(i + m_fadeRatio);
-				System.Threading.Thread.Sleep((Int32)transMilliSec);
-				this.Update(i);
-			}
-			
-			this.Update((Byte)((m_fadeRatio > 0) ? opacityMaxLimit : opacityMinLimit));
-#endif
-		}
-		
-#if FADE_USE_TIMER
-		private void
-		OnTimedEvent(Object sender, ElapsedEventArgs e)
-		{
-			if (m_fadeRatio + m_opacity < 255 && m_fadeRatio + m_opacity > 0) {
-				i = (Byte)(i + m_fadeRatio);
-				System.Threading.Thread.Sleep((Int32)transMilliSec);
-				this.Update(i);
-			} else {
-				m_fadeTimer.Enabled = false;
-				this.Update((Byte)((m_fadeRatio > 0) ? 255 : 0));
-			}
-		}
-#endif
-
-		private class Win32
-		{
-			public const Int32 GWL_EXSTYLE       = -20;
-			public const Int32 WS_EX_LAYERED     = 0x00080000;
-			public const Int32 WS_EX_TRANSPARENT = 0x00000020;
-			public const Int32 AC_SRC_OVER   = 0x00000001;
-			public const Int32 AC_SRC_ALPHA  = 0x00000001;
-			
-			[StructLayout(LayoutKind.Sequential)]
-			public struct
-			BlendFunction
-			{
-				public Byte BlendOp;
-				public Byte BlendFlags;
-				public Byte SourceConstantAlpha;
-				public Byte AlphaFormat;
-			}
-			[StructLayout(LayoutKind.Sequential)]
-			public struct
-			Point
-			{
-				public Int32 x;
-				public Int32 y;
-			}
-			[StructLayout(LayoutKind.Sequential)]
-			public struct
-			Size
-			{
-				public Int32 cx;
-				public Int32 cy;
-			}
-			
-			[DllImport("user32.dll")]
-			public static extern Int32
-			UpdateLayeredWindow(
-				IntPtr            hWnd,
-				IntPtr            hdcDst,
-				ref Point         pptDst,
-				ref Size          psize,
-				IntPtr            hdcSrc,
-				ref Point         pptSrc,
-				UInt32            crKey,
-				ref BlendFunction pblend,
-				UInt32            dwFlags);
-
-			[DllImport("user32.dll")]
-			public static extern Int32
-			GetWindowLong(IntPtr hWnd, Int32 nIndex);
-			[DllImport("user32.dll")]
-			public static extern Int32
-			SetWindowLong(IntPtr hWnd, Int32 nIndex, Int32 dwNewLong);
-
-			[DllImport("gdi32.dll")]
-			public static extern IntPtr
-			CreateCompatibleDC(IntPtr hDC);
-
-			[DllImport("user32.dll")]
-			public static extern IntPtr
-			GetDC(IntPtr hWnd);
-
-			[DllImport("user32.dll")]
-			public static extern IntPtr
-			ReleaseDC(IntPtr hWnd, IntPtr hDC);
-
-			[DllImport("gdi32.dll")]
-			public static extern Boolean
-			DeleteDC(IntPtr hdc);
-
-			[DllImport("gdi32.dll")]
-			public static extern IntPtr
-			SelectObject(IntPtr hDC, IntPtr hObject);
-
-			[DllImport("gdi32.dll")]
-			public static extern Boolean
-			DeleteObject(IntPtr hObject);
-
-			[DllImport("user32.dll")]
-			public static extern Int32
-			ReleaseCapture();
-			
-			[DllImport("user32.dll")]
-			public static extern Int32
-			SendMessage(IntPtr hWnd, Int32 wMsg, Int32 wParam, IntPtr lParam);
-		} // Win32
-	} // AlphaForm
-} // Misuzilla.Windows.Forms
Index: unk/AssemblyInfo.cs
===================================================================
--- /trunk/AssemblyInfo.cs	(revision 7)
+++ 	(revision )
@@ -1,32 +1,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following
-// attributes.
-//
-// change them to the information which is associated with the assembly
-// you compile.
-
-[assembly: AssemblyTitle("MacFace for Windows ¨µÅ")]
-[assembly: AssemblyDescription("G[ViCPU[^MacFace")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Team MacFace")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("Team MacFace")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has following format :
-//
-// Major.Minor.Build.Revision
-//
-// You can specify all values by your own or you can build default build and revision
-// numbers with the '*' character (the default):
-
-[assembly: AssemblyVersion("1.0.*")]
-
-// The following attributes specify the key for the sign of your assembly. See the
-// .NET Framework documentation for more information about signing.
-// This is not required, if you don't want signing let these attributes like they're.
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
Index: unk/FaceDef.cs
===================================================================
--- /trunk/FaceDef.cs	(revision 7)
+++ 	(revision )
@@ -1,151 +1,0 @@
-using System;
-using System.Drawing;
-using System.Xml;
-using System.Collections;
-
-namespace MacFace
-{
-	/// <summary>
-	/// FaceDef ÌTvÌà¾Å·B
-	/// </summary>
-	public class FaceDef
-	{
-		public static const string FACEDEF_NAME = "faceDef.plist";
-		public static const int PATTERN_COLS = 11;
-		public static const int PATTERN_ROWS = 3;
-
-		protected string path;
-		protected string title;
-		protected string auther;
-		protected string version;
-		protected string webSite;
-
-		protected Part[] parts;
-		protected int[][,] patterns;
-		protected Part[] makers;
-
-		public FaceDef(string path)
-		{
-			this.path = path;
-		
-			//
-			string defFile = Path.Combine(path,FACEDEF_NAME);
-			XmlTextReader reader = new XmlTextReader(path);
-			reader.XmlResolver = null;
-			doc.Load(reader);
-
-			Hashtable def = ReadDictionary(doc.DocumentElement.FirstChild);
-
-			ArrayList partDefList = def["parts"];
-			parts = new Part[partDefList.Size];
-			for (int i = 0; i < partDefList.Size; i++)
-			{
-				Hashtable partDef = partDefList[i];
-				string filnemae = Path.Combine(path,partDef["filename"]);
-				int x = partDef["pos x"];
-				int y = partDef["pos y"];
-				parts[i] = new Part(filename,x,y);
-			}
-
-			ArrayList partDefList = def["pattern"];
-			parts = new Part[partDefList.Size];
-			for (int i = 0; i < partDefList.Size; i++)
-			{
-				Hashtable partDef = partDefList[i];
-				string filnemae = Path.Combine(path,partDef["filename"]);
-				int x = partDef["pos x"];
-				int y = partDef["pos y"];
-				parts[i] = new Part(filename,x,y);
-			}
-		}
-
-
-		protected static Part[] LoadPartList(string basePath,Hashtable def)
-		{
-			ArrayList partDefList = def["pattern"];
-			ArrayList list = new ArrayList();
-			foreach (Hashtable partDef in partDefList)
-			{
-				list.Add(new Part(partDef));
-			}
-
-			return list.ToArray();
-		}
-
-		protected static Hashtable LoadFaceDef(string path)
-		{
-			string defFile = Path.Combine(path,FACEDEF_NAME);
-		}
-	}
-
-	public class Pattern
-	{
-		Part[] parts;
-
-		public Pattern(Part[] parts)
-		{
-			this.parts = parts;
-		}
-
-		public Part this [int index]
-		{
-			get { return part[index]; }
-		}
-
-		public void Draw(Graphics g)
-		{
-			foreach (Part part in parts) 
-			{
-				part.Draw(g);
-			}
-		}
-	}
-
-	public class Part
-	{
-		protected string path;
-		protected int x;
-		protected int y;
-
-		public Part(string basePath,Hashtable partDef)
-		{
-			this.path = (string)Path.Combine(partDef["filename"]);
-			this.x = (int)partDef["pos x"];
-			this.y = (int)partDef["pos y"];
-		}
-		
-		public Part(String path,int x,int y)
-		{
-			this.path = path;
-			this.image = Image.FromFile(path);
-			this.x = x;
-			this.y = y;
-		}
-
-		public string Path 
-		{
-			get { return path; }
-		}
-
-		public Image Image 
-		{
-			get { return image; }
-		}
-
-		public int X
-		{
-			get { return x; }
-		}
-
-		public int Y
-		{
-			get { return y; }
-		}
-
-		public void Draw(Graphics g)
-		{
-			Image img = part.Image;
-			g.DrawImage(img, x, drawY, img.Size.Width, img.Size.Height);
-		}
-	}
-}
Index: unk/MacFace.cmbx
===================================================================
--- /trunk/MacFace.cmbx	(revision 7)
+++ 	(revision )
@@ -1,16 +1,0 @@
-<Combine fileversion="1.0" name="MacFace" description="">
-  <StartMode startupentry="MacFace" single="True">
-    <Execute entry="MacFace" type="None" />
-  </StartMode>
-  <Entries>
-    <Entry filename=".\MacFace.prjx" />
-  </Entries>
-  <Configurations active="Debug">
-    <Configuration name="Release">
-      <Entry name="MacFace" configurationname="Debug" build="False" />
-    </Configuration>
-    <Configuration name="Debug">
-      <Entry name="MacFace" configurationname="Debug" build="False" />
-    </Configuration>
-  </Configurations>
-</Combine>
Index: unk/MacFace.csproj
===================================================================
--- /trunk/MacFace.csproj	(revision 7)
+++ 	(revision )
@@ -1,296 +1,0 @@
-<VisualStudioProject>
-    <CSHARP
-        ProjectType = "Local"
-        ProductVersion = "7.10.3077"
-        SchemaVersion = "2.0"
-        ProjectGuid = "{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}"
-    >
-        <Build>
-            <Settings
-                ApplicationIcon = ""
-                AssemblyKeyContainerName = ""
-                AssemblyName = "MacFace"
-                AssemblyOriginatorKeyFile = ""
-                DefaultClientScript = "JScript"
-                DefaultHTMLPageLayout = "Grid"
-                DefaultTargetSchema = "IE50"
-                DelaySign = "false"
-                OutputType = "WinExe"
-                PreBuildEvent = ""
-                PostBuildEvent = "xcopy /Y $(SolutionDir)default.mcface\*.* $(TargetDir)default.mcface\"
-                RootNamespace = "MacFace"
-                RunPostBuildEvent = "OnBuildSuccess"
-                StartupObject = ""
-            >
-                <Config
-                    Name = "Debug"
-                    AllowUnsafeBlocks = "false"
-                    BaseAddress = "285212672"
-                    CheckForOverflowUnderflow = "false"
-                    ConfigurationOverrideFile = ""
-                    DefineConstants = "DEBUG;TRACE"
-                    DocumentationFile = ""
-                    DebugSymbols = "true"
-                    FileAlignment = "4096"
-                    IncrementalBuild = "false"
-                    NoStdLib = "false"
-                    NoWarn = ""
-                    Optimize = "false"
-                    OutputPath = "bin\Debug\"
-                    RegisterForComInterop = "false"
-                    RemoveIntegerChecks = "false"
-                    TreatWarningsAsErrors = "false"
-                    WarningLevel = "4"
-                />
-                <Config
-                    Name = "Release"
-                    AllowUnsafeBlocks = "false"
-                    BaseAddress = "285212672"
-                    CheckForOverflowUnderflow = "false"
-                    ConfigurationOverrideFile = ""
-                    DefineConstants = "TRACE"
-                    DocumentationFile = ""
-                    DebugSymbols = "false"
-                    FileAlignment = "4096"
-                    IncrementalBuild = "false"
-                    NoStdLib = "false"
-                    NoWarn = ""
-                    Optimize = "true"
-                    OutputPath = "bin\Release\"
-                    RegisterForComInterop = "false"
-                    RemoveIntegerChecks = "false"
-                    TreatWarningsAsErrors = "false"
-                    WarningLevel = "4"
-                />
-            </Settings>
-            <References>
-                <Reference
-                    Name = "System"
-                    AssemblyName = "System"
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
-                />
-                <Reference
-                    Name = "System.Data"
-                    AssemblyName = "System.Data"
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
-                />
-                <Reference
-                    Name = "System.Drawing"
-                    AssemblyName = "System.Drawing"
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
-                />
-                <Reference
-                    Name = "System.Windows.Forms"
-                    AssemblyName = "System.Windows.Forms"
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
-                />
-                <Reference
-                    Name = "System.XML"
-                    AssemblyName = "System.Xml"
-                    HintPath = "..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
-                />
-            </References>
-        </Build>
-        <Files>
-            <Include>
-                <File
-                    RelPath = "AlphaForm.cs"
-                    SubType = "Form"
-                    BuildAction = "Compile"
-                />
-                <File
-                    RelPath = "AssemblyInfo.cs"
-                    SubType = "Code"
-                    BuildAction = "Compile"
-                />
-                <File
-                    RelPath = "MainForm.cs"
-                    SubType = "Form"
-                    BuildAction = "Compile"
-                />
-                <File
-                    RelPath = "PropertyList.cs"
-                    SubType = "Code"
-                    BuildAction = "Compile"
-                />
-                <File
-                    RelPath = "default.mcface\brow-down.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\brow-normal.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\brow-up.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-arrow.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-circle.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-close.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-line.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-normal.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-smile.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\eye-spiral.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\face-base.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\faceDef.plist"
-                    BuildAction = "None"
-                />
-                <File
-                    RelPath = "default.mcface\mouth-circle.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\mouth-close.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\mouth-laugh.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\mouth-open.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\mouth-smile.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\note.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\shock.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "default.mcface\sweat.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\angery-mark.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\brow-hill.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\brow-normal.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\brow-up.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-angery.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-arrow.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-circle.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-close.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-close2.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-line.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-normal.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-smile.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-spiral.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-thin.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\eye-vbar.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\face-base.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\faceDef.plist"
-                    BuildAction = "None"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\mouth-circle.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\mouth-close.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\mouth-laugh.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\mouth-open.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\mouth-smile.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\note.tiff"
-                    BuildAction = "Content"
-                />
-                <File
-                    RelPath = "kikiki-rin.mcface\shock.tiff"
-                    BuildAction = "Content"
-                />
-            </Include>
-        </Files>
-    </CSHARP>
-</VisualStudioProject>
-
Index: unk/MacFace.prjx
===================================================================
--- /trunk/MacFace.prjx	(revision 7)
+++ 	(revision )
@@ -1,27 +1,0 @@
-<Project name="MacFace" standardNamespace="MacFace" description="" newfilesearch="None" enableviewstate="True" version="1.1" projecttype="C#">
-  <Contents>
-    <File name=".\AssemblyInfo.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\PropertyList.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\AlphaForm.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-    <File name=".\MainForm.cs" subtype="Code" buildaction="Compile" dependson="" data="" />
-  </Contents>
-  <References />
-  <DeploymentInformation target="" script="" strategy="File" />
-  <Configuration runwithwarnings="False" name="Debug">
-    <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Exe" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
-    <Execution commandlineparameters="" consolepause="False" />
-    <Output directory=".\bin\Debug" assembly="MacFace" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
-  </Configuration>
-  <Configurations active="Debug">
-    <Configuration runwithwarnings="False" name="Debug">
-      <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="" warninglevel="4" nowarn="" includedebuginformation="True" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="Exe" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
-      <Execution commandlineparameters="" consolepause="False" />
-      <Output directory=".\bin\Debug" assembly="MacFace" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
-    </Configuration>
-    <Configuration runwithwarnings="False" name="Release">
-      <CodeGeneration runtime="MsNet" compiler="Csc" compilerversion="Standard" warninglevel="4" nowarn="" includedebuginformation="False" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" mainclass="" target="WinExe" definesymbols="" generatexmldocumentation="False" win32Icon="" noconfig="False" nostdlib="False" />
-      <Execution commandlineparameters="" consolepause="False" />
-      <Output directory=".\bin\Release" assembly="MacFace" executeScript="" executeBeforeBuild="" executeAfterBuild="" executeBeforeBuildArguments="" executeAfterBuildArguments="" />
-    </Configuration>
-  </Configurations>
-</Project>
Index: unk/MacFace.sln
===================================================================
--- /trunk/MacFace.sln	(revision 7)
+++ 	(revision )
@@ -1,21 +1,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFace", "MacFace.csproj", "{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}"
-	ProjectSection(ProjectDependencies) = postProject
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfiguration) = preSolution
-		Debug = Debug
-		Release = Release
-	EndGlobalSection
-	GlobalSection(ProjectConfiguration) = postSolution
-		{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}.Debug.ActiveCfg = Debug|.NET
-		{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}.Debug.Build.0 = Debug|.NET
-		{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}.Release.ActiveCfg = Release|.NET
-		{677BDE70-6D11-45F8-8D41-BC1D6A4CF81F}.Release.Build.0 = Release|.NET
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-	EndGlobalSection
-	GlobalSection(ExtensibilityAddIns) = postSolution
-	EndGlobalSection
-EndGlobal
Index: /trunk/MacFaceFloat/AlphaForm.cs
===================================================================
--- /trunk/MacFaceFloat/AlphaForm.cs	(revision 8)
+++ /trunk/MacFaceFloat/AlphaForm.cs	(revision 8)
@@ -0,0 +1,495 @@
+/*
+ * AlphaForm.cs
+ * $CVSId: AlphaForm.cs,v 1.3 2003/07/10 20:07:16 Mayuki Sawatari Exp $
+ *
+ * Copyright (c) 2003 Mayuki Sawatari, All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE MISUZILLA.ORG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+using System;
+using System.Timers;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.Drawing.Drawing2D;
+using System.Windows.Forms;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Misuzilla.Windows.Forms
+{
+	/// <summary>sNZPÊAt@uhÌtH[</summary>
+	/// <remarks>
+	/// 	<para>
+	/// 		Windows2000/XPÌC[hEBhEðpµ
+	/// 		sNZPÊÅwãÌEBhEÆ¼§¾¬Å«étH[B
+	/// 	</para>
+	/// 	<para>
+	/// 		±ÌtH[ÍÊíÌtH[Æá¢<see cref="Update" />\bhÅ`æXVðw¦·éKvª èÜ·B
+	/// 		<see cref="System.Windows.Forms.Form.Paint" />CxgÈÇÄ`æÌCxgà­¶µÜ¹ñB
+	/// 	</para>
+	/// </remarks>
+	/// <seealso cref="System.Windows.Forms.Form" />
+	public class AlphaForm : System.Windows.Forms.Form
+	{
+		private Byte    m_opacity   = 255;
+		private SByte   m_fadeRatio = 25;
+		private Boolean m_movedrag  = false;
+		private Boolean m_transMouseMsg = false;
+
+		private System.Drawing.Bitmap   m_alphaMap = null;
+		private System.Drawing.Graphics m_graphics = null;
+
+		private IntPtr m_hDC    = IntPtr.Zero;
+		private IntPtr m_hMemDC = IntPtr.Zero;
+		
+		private Win32.Point m_pForm;
+		private Win32.Point m_pSurface;
+		private Win32.Size  m_sBitmap;
+
+#if FADE_USE_TIMER
+		private System.Timers.Timer m_fadeTimer = null;
+#endif
+
+		public
+		AlphaForm()
+		{
+			if (OSFeature.Feature.GetVersionPresent(OSFeature.LayeredWindows) == null)
+				throw new ApplicationException("Layered Windows is not supported");
+			
+			m_alphaMap = new Bitmap(100, 100);
+			m_graphics = Graphics.FromImage(m_alphaMap);
+			this.PrepareDC();
+		}
+
+		/// <summary>tH[ÉÖAt¯çê½<see cref="System.Drawing.Graphics"/>IuWFNgðæ¾µÜ·B</summary>
+		/// <remarks>
+		/// 	`æÉÍ±Ì<see cref="System.Drawing.Graphics"/>IuWFNgðp·éKvª èÜ·B
+		/// 	Ü½A`æµ½ã<see cref="Misuzilla.Windows.Forms.AlphaForm.Update"/>\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
+		/// </remarks>
+		/// <see cref="System.Drawing.Graphics"/>
+		public System.Drawing.Graphics
+		Graphics
+		{
+			get
+			{
+				return m_graphics;
+			}
+		}
+		
+		protected override void
+		Dispose(bool disposing)
+		{
+			this.CloseDC();
+			base.Dispose(disposing);
+		}
+
+		protected override CreateParams
+		CreateParams
+		{
+			get
+			{
+				CreateParams cp = base.CreateParams;
+				cp.ExStyle |= Win32.WS_EX_LAYERED; // WS_EX_LAYERED
+				return cp;
+			}
+		}
+		
+		protected override void
+		OnResize(EventArgs e)
+		{
+			base.OnResize(e);
+			if (m_graphics != null) m_graphics.Dispose();
+			if (m_alphaMap != null) m_alphaMap.Dispose();
+			m_alphaMap = new Bitmap(this.Width, this.Height);
+			m_graphics = Graphics.FromImage(m_alphaMap);
+			this.PrepareDC();
+			this.SetSize();
+			this.SetPosition();
+		}
+		protected override void
+		OnMove(EventArgs e)
+		{
+			base.OnMove(e);
+			this.SetPosition();
+		}
+		
+		
+		private void
+		SetSize()
+		{
+			lock (this) {
+				m_sBitmap.cx = m_alphaMap.Width;
+				m_sBitmap.cy = m_alphaMap.Height;
+			}
+		}
+		private void
+		SetPosition()
+		{
+			m_pForm.x = this.Left;
+			m_pForm.y = this.Top;
+			m_pSurface.x = 0;
+			m_pSurface.y = 0;
+		}
+		
+		private void
+		PrepareDC()
+		{
+			this.CloseDC();
+			m_hDC = Win32.GetDC(IntPtr.Zero);
+			m_hMemDC = Win32.CreateCompatibleDC(m_hDC);
+			if ((m_hDC == IntPtr.Zero) || (m_hMemDC == IntPtr.Zero)) {
+				this.CloseDC();
+				throw new ApplicationException("Couldn't allocate DeviceContext");
+			}
+		}
+		private void
+		CloseDC()
+		{
+			if (m_hMemDC != IntPtr.Zero) Win32.DeleteDC(m_hMemDC);
+			if (m_hDC != IntPtr.Zero) Win32.ReleaseDC(IntPtr.Zero, m_hDC);
+		}
+		
+		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
+		/// <remarks>
+		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
+		/// </remarks>
+		public override void
+		Refresh()
+		{
+			Update(m_opacity);
+		}
+		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
+		/// <remarks>
+		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
+		/// </remarks>
+		public new void
+		Update()
+		{
+			Update(m_opacity);
+		}
+		
+		/// <summary>tH[Ì\¦ðXVµÜ·B</summary>
+		/// <remarks>
+		/// 	±Ì\bhðÄÔ±ÆÅ\¦ªXV³êÜ·B
+		/// </remarks>
+		/// <param name="bOpacity">XV·éÛÌtH[Ì§¾x</param>
+		[MethodImpl(MethodImplOptions.Synchronized)]
+		public void
+		Update(Byte bOpacity)
+		{
+			m_opacity = bOpacity;
+
+			if (m_alphaMap == null) return;
+			if (m_alphaMap.PixelFormat != PixelFormat.Format32bppArgb) return;
+
+			Win32.BlendFunction bf;
+			bf.BlendOp = 0; // AC_SRC_OVER
+			bf.BlendFlags = 0;
+			bf.AlphaFormat = 1; // AC_SRC_ALPHA
+			bf.SourceConstantAlpha = bOpacity;
+			
+			m_opacity = bOpacity;
+			
+			IntPtr hBitmapOld = IntPtr.Zero;
+			IntPtr hBitmap = IntPtr.Zero;
+			
+			//lock (this) {
+			//	lock (m_graphics) {
+					hBitmap = m_alphaMap.GetHbitmap(Color.FromArgb(0));
+					hBitmapOld = Win32.SelectObject(m_hMemDC, hBitmap);
+
+					if (Win32.UpdateLayeredWindow(
+							this.Handle, 
+							m_hDC, 
+							ref m_pForm, 
+							ref m_sBitmap,
+							m_hMemDC, 
+							ref m_pSurface, 
+							0, 
+							ref bf, 
+							0x2) == 0
+					){
+						//throw new ApplicationException("UpdateLayerdWindow was failed");
+					}
+					if (hBitmap != IntPtr.Zero) {
+						Win32.SelectObject(m_hMemDC, hBitmapOld);
+						Win32.DeleteObject(hBitmap);
+					}
+			//	}
+			//}
+		}
+		
+		public new Single
+		Opacity
+		{
+			get
+			{
+				return (m_opacity / 255.0F);
+			}
+			set
+			{
+				if (value > 1.0F)
+					value = 1.0F;
+				else if (value < 0.0F)
+					value = 0.0F;
+				m_opacity = (Byte)(value * 255.0F);
+				Update(m_opacity);
+			}
+		}
+
+		/// <summary>}EXhbOÉæÁÄtH[ÌÚ®ð·é©Ç¤©ðwèµÜ·B</summary>
+		/// <remarks>
+		/// 	±ÌvpeBªwè³êÄ¢éêtH[ãÅEhbOðs¤Æ
+		/// 	tH[ÌÚ®ªs¦Ü·B
+		/// </remarks>
+		public Boolean
+		MoveAtFormDrag
+		{
+			get
+			{
+				return m_movedrag;
+			}
+			set
+			{
+				m_movedrag = value;
+			}
+		}
+
+		/// <summary>}EXbZ[WªtH[ð§ß·é©Ç¤©ðwèµÜ·B</summary>
+		/// <remarks>
+		/// 	±ÌvpeBªwè³êÄ¢éê}EXbZ[WÍ
+		/// 	tH[ð§ßµAwãÌtH[É`íèÜ·B
+		/// </remarks>
+		public Boolean
+		TransparentMouseMessage
+		{
+			get
+			{
+				return m_transMouseMsg;
+			}
+			set
+			{
+				Int32 exStyle = Win32.GetWindowLong(this.Handle, Win32.GWL_EXSTYLE);
+
+				if (value)
+					exStyle |= Win32.WS_EX_TRANSPARENT;
+				else if ((exStyle & Win32.WS_EX_TRANSPARENT) == Win32.WS_EX_TRANSPARENT)
+					exStyle ^= Win32.WS_EX_TRANSPARENT;
+
+				Win32.SetWindowLong(this.Handle, Win32.GWL_EXSTYLE, exStyle);
+				m_transMouseMsg = value;
+			}
+		}
+		
+		protected override void
+		OnMouseDown(MouseEventArgs e)
+		{
+			base.OnMouseDown(e);
+			if (m_movedrag) {
+				if (e.Button == MouseButtons.Left) {
+					Win32.ReleaseCapture();
+					// Int32 WM_NCLBUTTONDOWN = 0xa1;
+					// Int32 HTCAPTION = 0x02;
+					Win32.SendMessage(this.Handle, 0xa1, 0x02, IntPtr.Zero);
+				}
+			}
+		}
+		
+		/// <summary>tH[ðtF[hCµÜ·B</summary>
+		/// <remarks>
+		/// 	tH[Ì§¾xðwè³ê½Ô²ÆÉã°Ä¢«\¦µÜ·B
+		/// </remarks>
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		public void
+		FadeinWindow(Double transMilliSec)
+		{
+			FadeWindow(transMilliSec, (SByte)(25), 255, 0);
+		}
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
+		public void
+		FadeinWindow(Double transMilliSec, Byte fadeRatio)
+		{
+			FadeWindow(transMilliSec, (SByte)(fadeRatio), 255, 0);
+		}
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
+		/// <param name="opacityMax">§¾xÌÅål</param>
+		public void
+		FadeinWindow(Double transMilliSec, Byte fadeRatio, Byte opacityMax)
+		{
+			FadeWindow(transMilliSec, (SByte)(fadeRatio), opacityMax, 0);
+		}
+		/// <summary>tH[ðtF[hAEgµÜ·B</summary>
+		/// <remarks>
+		/// 	tH[Ì§¾xðwè³ê½Ô²ÆÉº°Ä¢«®SÉ§¾ÉµÜ·B
+		/// </remarks>
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		public void
+		FadeoutWindow(Double transMilliSec)
+		{
+			FadeWindow(transMilliSec, (SByte)(-25), 255, 0);
+		}
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
+		public void
+		FadeoutWindow(Double transMilliSec, Byte fadeRatio)
+		{
+			FadeWindow(transMilliSec, (SByte)(-fadeRatio), 255, 0);
+		}
+		/// <param name="transMilliSec">§¾xÌXVÔu</param>
+		/// <param name="fadeRatio">§¾xÌÏ»¦</param>
+		/// <param name="opacityMin">§¾xÌÅ¬l</param>
+		public void
+		FadeoutWindow(Double transMilliSec, Byte fadeRatio, Byte opacityMin)
+		{
+			FadeWindow(transMilliSec, (SByte)(-fadeRatio), 255, opacityMin);
+		}
+		
+		[MethodImpl(MethodImplOptions.Synchronized)]
+		private void
+		FadeWindow(Double transMilliSec, SByte fadeRatio, Byte opacityMaxLimit, Byte opacityMinLimit)
+		{
+			m_fadeRatio = fadeRatio;
+
+#if FADE_USE_TIMER
+			if (m_fadeTimer == null)
+				m_fadeTimer = new System.Timers.Timer(transMilliSec);
+			else
+				m_fadeTimer.Interval = transMilliSec;
+
+			m_fadeTimer.Elapsed += new ElapsedEventHandler(this.OnTimedEvent);
+			m_fadeTimer.Enabled = true;
+#else
+			Byte i = m_opacity;//((m_fadeRatio > 0) ? (Byte)0 : m_opacity);
+			while (m_fadeRatio + i < opacityMaxLimit && m_fadeRatio + i > opacityMinLimit) {
+				i = (Byte)(i + m_fadeRatio);
+				System.Threading.Thread.Sleep((Int32)transMilliSec);
+				this.Update(i);
+			}
+			
+			this.Update((Byte)((m_fadeRatio > 0) ? opacityMaxLimit : opacityMinLimit));
+#endif
+		}
+		
+#if FADE_USE_TIMER
+		private void
+		OnTimedEvent(Object sender, ElapsedEventArgs e)
+		{
+			if (m_fadeRatio + m_opacity < 255 && m_fadeRatio + m_opacity > 0) {
+				i = (Byte)(i + m_fadeRatio);
+				System.Threading.Thread.Sleep((Int32)transMilliSec);
+				this.Update(i);
+			} else {
+				m_fadeTimer.Enabled = false;
+				this.Update((Byte)((m_fadeRatio > 0) ? 255 : 0));
+			}
+		}
+#endif
+
+		private class Win32
+		{
+			public const Int32 GWL_EXSTYLE       = -20;
+			public const Int32 WS_EX_LAYERED     = 0x00080000;
+			public const Int32 WS_EX_TRANSPARENT = 0x00000020;
+			public const Int32 AC_SRC_OVER   = 0x00000001;
+			public const Int32 AC_SRC_ALPHA  = 0x00000001;
+			
+			[StructLayout(LayoutKind.Sequential)]
+			public struct
+			BlendFunction
+			{
+				public Byte BlendOp;
+				public Byte BlendFlags;
+				public Byte SourceConstantAlpha;
+				public Byte AlphaFormat;
+			}
+			[StructLayout(LayoutKind.Sequential)]
+			public struct
+			Point
+			{
+				public Int32 x;
+				public Int32 y;
+			}
+			[StructLayout(LayoutKind.Sequential)]
+			public struct
+			Size
+			{
+				public Int32 cx;
+				public Int32 cy;
+			}
+			
+			[DllImport("user32.dll")]
+			public static extern Int32
+			UpdateLayeredWindow(
+				IntPtr            hWnd,
+				IntPtr            hdcDst,
+				ref Point         pptDst,
+				ref Size          psize,
+				IntPtr            hdcSrc,
+				ref Point         pptSrc,
+				UInt32            crKey,
+				ref BlendFunction pblend,
+				UInt32            dwFlags);
+
+			[DllImport("user32.dll")]
+			public static extern Int32
+			GetWindowLong(IntPtr hWnd, Int32 nIndex);
+			[DllImport("user32.dll")]
+			public static extern Int32
+			SetWindowLong(IntPtr hWnd, Int32 nIndex, Int32 dwNewLong);
+
+			[DllImport("gdi32.dll")]
+			public static extern IntPtr
+			CreateCompatibleDC(IntPtr hDC);
+
+			[DllImport("user32.dll")]
+			public static extern IntPtr
+			GetDC(IntPtr hWnd);
+
+			[DllImport("user32.dll")]
+			public static extern IntPtr
+			ReleaseDC(IntPtr hWnd, IntPtr hDC);
+
+			[DllImport("gdi32.dll")]
+			public static extern Boolean
+			DeleteDC(IntPtr hdc);
+
+			[DllImport("gdi32.dll")]
+			public static extern IntPtr
+			SelectObject(IntPtr hDC, IntPtr hObject);
+
+			[DllImport("gdi32.dll")]
+			public static extern Boolean
+			DeleteObject(IntPtr hObject);
+
+			[DllImport("user32.dll")]
+			public static extern Int32
+			ReleaseCapture();
+			
+			[DllImport("user32.dll")]
+			public static extern Int32
+			SendMessage(IntPtr hWnd, Int32 wMsg, Int32 wParam, IntPtr lParam);
+		} // Win32
+	} // AlphaForm
+} // Misuzilla.Windows.Forms
Index: /trunk/MacFaceFloat/AlphaForm.resx
===================================================================
--- /trunk/MacFaceFloat/AlphaForm.resx	(revision 8)
+++ /trunk/MacFaceFloat/AlphaForm.resx	(revision 8)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<root>
+	<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+		<xsd:element name="root" msdata:IsDataSet="true">
+			<xsd:complexType>
+				<xsd:choice maxOccurs="unbounded">
+					<xsd:element name="data">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+								<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" />
+							<xsd:attribute name="type" type="xsd:string" />
+							<xsd:attribute name="mimetype" type="xsd:string" />
+						</xsd:complexType>
+					</xsd:element>
+					<xsd:element name="resheader">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" use="required" />
+						</xsd:complexType>
+					</xsd:element>
+				</xsd:choice>
+			</xsd:complexType>
+		</xsd:element>
+	</xsd:schema>
+	<resheader name="ResMimeType">
+		<value>text/microsoft-resx</value>
+	</resheader>
+	<resheader name="Version">
+		<value>1.0.0.0</value>
+	</resheader>
+	<resheader name="Reader">
+		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+	<resheader name="Writer">
+		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+</root>
Index: /trunk/MacFaceFloat/AssemblyInfo.cs
===================================================================
--- /trunk/MacFaceFloat/AssemblyInfo.cs	(revision 8)
+++ /trunk/MacFaceFloat/AssemblyInfo.cs	(revision 8)
@@ -0,0 +1,61 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// AZuÉÖ·éêÊîñÍÈºÌ 
+// ®«ZbgðÊµÄ§ä³êÜ·BAZuÉÖAt¯çêÄ¢é 
+// îñðÏX·éÉÍA±êçÌ®«lðÏXµÄ­¾³¢B
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]		
+
+//
+// AZuÌo[WîñÍAÈºÌ 4 ÂÌ®«Å\¬³êÜ· :
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// ºÉ éæ¤ÉA'*' ðgÁÄA·×ÄÌlðwè·é©A
+// rh¨æÑrWÔðùèlÉ·é±ÆªÅ«Ü·B
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// AZuÉ¼·éÉÍAgp·éL[ðwèµÈ¯êÎÈèÜ¹ñB 
+// AZu¼ÉÖ·éÚ×ÉÂ¢ÄÍAMicrosoft .NET Framework hL
+gðQÆµÄ­¾³¢B
+//
+// ºLÌ®«ðgÁÄA¼Ég¤L[ð§äµÜ·B 
+//
+//  : 
+//   (*) L[ªwè³êÈ¢ÆAAZuÍ¼³êÜ¹ñB
+//   (*) KeyName ÍARs
+[^ÉCXg[³êÄ¢é
+//        ÃT[rX voC_ (CSP) ÌL[ð\µÜ·BKeyFile ÍA
+//       L[ðÜÞt@CÅ·B
+//   (*) KeyFile ¨æÑ KeyName Ìlª¤Éwè³êÄ¢éêÍA 
+//       ÈºÌªsíêÜ· :
+//       (1) KeyName ª CSP É©Â©Á½êA»ÌL[ªgíêÜ·B
+//       (2) KeyName ª¶Ý¹¸AKeyFile ª¶Ý·éêA 
+//           KeyFile É éL[ª CSP ÉCXg[³êAgíêÜ·B
+//   (*) KeyFile ðì¬·éÉÍAsn.exe (µ§È¼O) [eBeBðgÁÄ­¾³¢B
+//       KeyFile ðwè·éÆ«AKeyFile ÌêÍA
+//       vWFNgoÍ fBNgÖÌÎpXÅÈ¯êÎÈèÜ¹ñB
+//       pXÍA%Project Directory%\obj\<configuration> Å·B½Æ¦ÎAKeyFile ªvWFNg fBNgÉ éêA
+//       AssemblyKeyFile ®«ð 
+//       [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] ÆµÄwèµÜ·B
+//   (*) x¼ÍxÈIvVÅ·B
+//       Ú×ÉÂ¢ÄÍ Microsoft .NET Framework hL
+gðQÆµÄ­¾³¢B
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Index: /trunk/MacFaceFloat/MacFaceFloat.csproj
===================================================================
--- /trunk/MacFaceFloat/MacFaceFloat.csproj	(revision 8)
+++ /trunk/MacFaceFloat/MacFaceFloat.csproj	(revision 8)
@@ -0,0 +1,128 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = "App.ico"
+                AssemblyKeyContainerName = ""
+                AssemblyName = "MacFace"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "WinExe"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "MacFace"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "bin\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "true"
+                    OutputPath = "bin\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References>
+                <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+                />
+                <Reference
+                    Name = "System.Data"
+                    AssemblyName = "System.Data"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+                />
+                <Reference
+                    Name = "System.Drawing"
+                    AssemblyName = "System.Drawing"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
+                />
+                <Reference
+                    Name = "System.Windows.Forms"
+                    AssemblyName = "System.Windows.Forms"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
+                />
+                <Reference
+                    Name = "System.XML"
+                    AssemblyName = "System.XML"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+                />
+                <Reference
+                    Name = "MacFaceLibrary"
+                    Project = "{23267F41-38FE-41F6-BF08-2D8940A1E024}"
+                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+                />
+            </References>
+        </Build>
+        <Files>
+            <Include>
+                <File
+                    RelPath = "AlphaForm.cs"
+                    SubType = "Form"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "AlphaForm.resx"
+                    DependentUpon = "AlphaForm.cs"
+                    BuildAction = "EmbeddedResource"
+                />
+                <File
+                    RelPath = "App.ico"
+                    BuildAction = "Content"
+                />
+                <File
+                    RelPath = "AssemblyInfo.cs"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "MainForm.cs"
+                    SubType = "Form"
+                    BuildAction = "Compile"
+                />
+            </Include>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+
Index: /trunk/MacFaceFloat/MacFaceFloat.csproj.user
===================================================================
--- /trunk/MacFaceFloat/MacFaceFloat.csproj.user	(revision 8)
+++ /trunk/MacFaceFloat/MacFaceFloat.csproj.user	(revision 8)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "false"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+
Index: /trunk/MacFaceFloat/MainForm.cs
===================================================================
--- /trunk/MacFaceFloat/MainForm.cs	(revision 8)
+++ /trunk/MacFaceFloat/MainForm.cs	(revision 8)
@@ -0,0 +1,260 @@
+/*
+ * MainForm.cs
+ * $Id$
+ * 
+ * project created on 2004/06/02 at 2:43
+ * 
+ */
+
+using System;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Data;
+using System.IO;
+using System.Diagnostics;
+using System.Threading;
+
+namespace MacFace
+{
+	public class MainForm : Misuzilla.Windows.Forms.AlphaForm
+	{
+		private System.Windows.Forms.ContextMenu contextMenu;
+		private System.Windows.Forms.MenuItem menuItemPatternSelect;
+		private System.Windows.Forms.MenuItem menuItemExit;
+		private Hashtable _property;
+		private ArrayList _parts;
+		private String _facePath;
+		private System.Windows.Forms.Timer _updateTimer;
+		
+		Int32 prevUsage;
+		PerformanceCounter cpuCount;
+//		PerformanceCounter pageoutCount;
+//		PerformanceCounter pageinCount;
+
+		// RXgN^
+		public MainForm()
+		{
+			InitializeComponent();
+			this.TransparentMouseMessage = false;
+			this.MoveAtFormDrag = true;
+
+			prevUsage = -10;
+
+			cpuCount = new PerformanceCounter();
+			cpuCount.CategoryName = "Processor";
+			cpuCount.CounterName  = "% Processor Time";
+			cpuCount.InstanceName = "_Total";
+
+//			pageoutCount = new PerformanceCounter();
+//			pageoutCount.CategoryName = "Memory";
+//			pageoutCount.CounterName  = "Pages Output/sec";
+//
+//			pageinCount = new PerformanceCounter();
+//			pageinCount.CategoryName = "Memory";
+//			pageinCount.CounterName  = "Pages Input/sec";
+
+			_updateTimer = new System.Windows.Forms.Timer();
+			_updateTimer.Enabled = false;
+			_updateTimer.Interval = 1000;
+			_updateTimer.Tick += new EventHandler(this.CountProcessorUsage);
+		}
+
+		// THIS METHOD IS MAINTAINED BY THE FORM DESIGNER
+		// DO NOT EDIT IT MANUALLY! YOUR CHANGES ARE LIKELY TO BE LOST
+		void InitializeComponent() {
+			this.menuItemPatternSelect = new System.Windows.Forms.MenuItem();
+			this.menuItemExit = new System.Windows.Forms.MenuItem();
+			this.contextMenu = new System.Windows.Forms.ContextMenu();
+			// 
+			// menuItemPatternSelect
+			// 
+			this.menuItemPatternSelect.Index = 0;
+			this.menuItemPatternSelect.Text = "çp^[ÌIð(&S)";
+			this.menuItemPatternSelect.Click += new System.EventHandler(this.PatternSelect_Click);
+
+			// 
+			// menuItemExit
+			// 
+			this.menuItemExit.Index = 0;
+			this.menuItemExit.Shortcut = System.Windows.Forms.Shortcut.CtrlQ;
+			this.menuItemExit.Text = "I¹(&X)";
+			this.menuItemExit.Click += new System.EventHandler(this.doQuit);
+			// 
+			// contextMenu
+			// 
+			this.contextMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+						this.menuItemPatternSelect, new MenuItem("-"), this.menuItemExit});
+			// 
+			// MainForm
+			// 
+			this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
+			this.ClientSize = new System.Drawing.Size(120, 101);
+			this.ContextMenu = this.contextMenu;
+			this.ControlBox = false;
+			this.MaximizeBox = false;
+			this.MinimizeBox = false;
+			this.Name = "MainForm";
+			this.Opacity = 0.75F;
+			this.ShowInTaskbar = false;
+			this.Text = "MacFace For Windows";
+			this.TopMost = true;
+			this.Load += new EventHandler(MainForm_Load);
+		}
+			
+
+		[STAThread]
+		public static void Main(string[] args)
+		{
+			Application.Run(new MainForm());
+		}
+		
+
+		/*
+		 * çp^[è`tH_IðB
+		 */
+		public bool SelectFaceDefine()
+		{
+			return SelectFaceDefine(Application.StartupPath);
+		}
+		public bool SelectFaceDefine(string defaultPath)
+		{
+			String facePath;
+			Hashtable property;
+
+			// XVð~ßéB
+			if (_updateTimer != null) 
+			{
+				_updateTimer.Stop();
+				Application.DoEvents();
+			}
+
+			// tH_IðB
+			while (true) 
+			{
+				FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
+				folderBrowser.SelectedPath = defaultPath;
+				folderBrowser.Description = "çp^[t@CÌ¶Ý·étH_ðIðµÄ­¾³¢B";
+				if (folderBrowser.ShowDialog() == DialogResult.OK) 
+				{
+					facePath = folderBrowser.SelectedPath;
+					if (File.Exists(Path.Combine(facePath, "faceDef.plist")))
+					{
+						break;
+					}
+					else
+					{
+						// t@CªÈ¢
+						if (MessageBox.Show(
+							String.Format("wè³ê½tH_Éçp^[è`XMLt@C \"faceDef.plist\" ª¶ÝµÜ¹ñB\n\ntH_:\n{0}", facePath),
+							"MacFace for Windows", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error)
+							== DialogResult.Cancel)
+						{
+							return false;
+						}
+					}
+				}
+				else 
+				{
+					return false;
+				}
+			}
+
+			// ÇÝÝ
+			try 
+			{
+				property = PropertyList.Load(Path.Combine(facePath, "faceDef.plist"));
+			} 
+			catch (System.IO.IOException ie) 
+			{
+				System.Windows.Forms.MessageBox.Show(
+					String.Format("çp^[è`XMLt@CðÇÝÞÛÉG[ª­¶µÜµ½B\n\n´ö:\n{0}",
+					ie.ToString()), "MacFace for Windows", MessageBoxButtons.OK, MessageBoxIcon.Error);
+				
+				return false;
+			}
+			catch (System.Xml.XmlException xe) 
+			{
+				System.Windows.Forms.MessageBox.Show(
+					String.Format("çp^[è`XMLt@CðÇÝÉG[ª­¶µÜµ½B\n\n´ö:\n{0}",
+					xe.ToString()), "MacFace for Windows", MessageBoxButtons.OK, MessageBoxIcon.Error);
+				
+				return false;
+			}
+
+			_property = property;
+			_facePath = facePath;
+			_parts = (ArrayList)_property["parts"];
+
+			// XVJn
+			if (_updateTimer != null) _updateTimer.Start();
+
+			return true;
+		}
+
+
+
+		public void CountProcessorUsage(object sender, EventArgs e)
+		{
+			Int32 usage = (Int32)cpuCount.NextValue();
+//			Int32 pagein = (Int32)pageinCount.NextValue();
+//			Int32 pageout = (Int32)pageoutCount.NextValue();
+
+//				Console.WriteLine("Processor: {0}% (pattern: {1}) {2} {3}", usage, usage/10, pagein, pageout);
+			if (usage >= 100) {
+				usage = 100;
+			} else if (usage < 0) {
+				usage = 0;
+			}
+				
+			if (prevUsage/10 != usage/10) {
+				ArrayList patterns = (ArrayList)_property["pattern"];
+				ArrayList patternCpu = (ArrayList)patterns[0];
+				ArrayList facePattern = (ArrayList)patternCpu[usage/10];
+				
+				this.Graphics.Clear(Color.FromArgb(0, 0, 0, 0));
+				foreach (Int32 i in facePattern) {
+					Hashtable part = _parts[i] as Hashtable;
+					string filename = (string)part["filename"];
+					string imgPath = Path.Combine(_facePath, filename);
+					using (Bitmap bitmap = new Bitmap(imgPath)) {
+						int x = (int)part["pos x"];
+						int y = 128 - (int)part["pos y"] - bitmap.Size.Height;
+						this.Graphics.DrawImage(bitmap,x,y,bitmap.Size.Width,bitmap.Size.Height);
+					}
+				}
+				this.Update();
+			}
+				
+			prevUsage = usage;			
+		}
+		
+
+		public void MainForm_Load(object sender, System.EventArgs e)
+		{
+			if (!SelectFaceDefine(Path.Combine(Application.StartupPath, "default.mcface")))
+			{
+				Application.Exit();
+				return;
+			}
+
+		}
+
+		/*
+		 * j
+[NbNCxg
+		 */
+		public void PatternSelect_Click(object sender, System.EventArgs e)
+		{
+			SelectFaceDefine(_facePath);	
+		}
+
+		public void doQuit(object sender, System.EventArgs e)
+		{
+			_updateTimer.Stop();
+			Application.Exit();
+		}
+		
+	}
+}
Index: /trunk/MacFaceFloat/default.mcface/faceDef.plist
===================================================================
--- /trunk/MacFaceFloat/default.mcface/faceDef.plist	(revision 8)
+++ /trunk/MacFaceFloat/default.mcface/faceDef.plist	(revision 8)
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+	<key>title</key>
+	<string>Default Face</string>
+	<key>author</key>
+	<string>りゅう</string>
+	<key>version</key>
+	<string>1.0</string>
+	<key>parts</key>
+	<array>
+		<dict>
+			<key>filename</key>
+			<string>face-base.tiff</string>
+			<key>pos x</key>
+			<integer>0</integer>
+			<key>pos y</key>
+			<integer>0</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>sweat.tiff</string>
+			<key>pos x</key>
+			<integer>95</integer>
+			<key>pos y</key>
+			<integer>3</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-normal.tiff</string>
+			<key>pos x</key>
+			<integer>26</integer>
+			<key>pos y</key>
+			<integer>56</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-up.tiff</string>
+			<key>pos x</key>
+			<integer>26</integer>
+			<key>pos y</key>
+			<integer>60</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-down.tiff</string>
+			<key>pos x</key>
+			<integer>26</integer>
+			<key>pos y</key>
+			<integer>51</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-spiral.tiff</string>
+			<key>pos x</key>
+			<integer>27</integer>
+			<key>pos y</key>
+			<integer>28</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-line.tiff</string>
+			<key>pos x</key>
+			<integer>22</integer>
+			<key>pos y</key>
+			<integer>37</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-close.tiff</string>
+			<key>pos x</key>
+			<integer>24</integer>
+			<key>pos y</key>
+			<integer>31</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-circle.tiff</string>
+			<key>pos x</key>
+			<integer>30</integer>
+			<key>pos y</key>
+			<integer>30</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-arrow.tiff</string>
+			<key>pos x</key>
+			<integer>26</integer>
+			<key>pos y</key>
+			<integer>27</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-smile.tiff</string>
+			<key>pos x</key>
+			<integer>23</integer>
+			<key>pos y</key>
+			<integer>33</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-normal.tiff</string>
+			<key>pos x</key>
+			<integer>28</integer>
+			<key>pos y</key>
+			<integer>29</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-smile.tiff</string>
+			<key>pos x</key>
+			<integer>54</integer>
+			<key>pos y</key>
+			<integer>10</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-close.tiff</string>
+			<key>pos x</key>
+			<integer>58</integer>
+			<key>pos y</key>
+			<integer>14</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-circle.tiff</string>
+			<key>pos x</key>
+			<integer>56</integer>
+			<key>pos y</key>
+			<integer>8</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-open.tiff</string>
+			<key>pos x</key>
+			<integer>49</integer>
+			<key>pos y</key>
+			<integer>6</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-laugh.tiff</string>
+			<key>pos x</key>
+			<integer>49</integer>
+			<key>pos y</key>
+			<integer>8</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>shock.tiff</string>
+			<key>pos x</key>
+			<integer>0</integer>
+			<key>pos y</key>
+			<integer>95</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>note.tiff</string>
+			<key>pos x</key>
+			<integer>99</integer>
+			<key>pos y</key>
+			<integer>99</integer>
+		</dict>
+	</array>
+	<key>pattern</key>
+	<array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>7</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>11</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>11</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>9</integer>
+				<integer>16</integer>
+			</array>
+		</array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>7</integer>
+				<integer>13</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>13</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>11</integer>
+				<integer>13</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>11</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>14</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>14</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>9</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+		</array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>7</integer>
+				<integer>15</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>6</integer>
+				<integer>15</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>6</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>6</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>8</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>8</integer>
+				<integer>14</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>8</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>5</integer>
+				<integer>12</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>5</integer>
+				<integer>14</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>5</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>9</integer>
+				<integer>16</integer>
+				<integer>1</integer>
+			</array>
+		</array>
+	</array>
+	<key>markers</key>
+	<array>
+		<integer>18</integer>
+		<integer>17</integer>
+	</array>
+	<key>title pattern</key>
+	<array>
+		<integer>0</integer>
+		<integer>3</integer>
+		<integer>9</integer>
+		<integer>16</integer>
+	</array>
+</dict>
+</plist>
Index: /trunk/MacFaceFloat/kikiki-rin.mcface/faceDef.plist
===================================================================
--- /trunk/MacFaceFloat/kikiki-rin.mcface/faceDef.plist	(revision 8)
+++ /trunk/MacFaceFloat/kikiki-rin.mcface/faceDef.plist	(revision 8)
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+	<key>title</key>
+	<string>ききき りん</string>
+	<key>author</key>
+	<string>りゅう</string>
+	<key>version</key>
+	<string>1.0</string>
+	<key>web site</key>
+	<string>http://white.sakura.ne.jp/~rryu/macosx/macface/</string>
+	<key>parts</key>
+	<array>
+		<dict>
+			<key>filename</key>
+			<string>face-base.tiff</string>
+			<key>pos x</key>
+			<integer>0</integer>
+			<key>pos y</key>
+			<integer>0</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-hill.tiff</string>
+			<key>pos x</key>
+			<integer>17</integer>
+			<key>pos y</key>
+			<integer>54</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-normal.tiff</string>
+			<key>pos x</key>
+			<integer>19</integer>
+			<key>pos y</key>
+			<integer>71</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>brow-up.tiff</string>
+			<key>pos x</key>
+			<integer>22</integer>
+			<key>pos y</key>
+			<integer>75</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-angery.tiff</string>
+			<key>pos x</key>
+			<integer>20</integer>
+			<key>pos y</key>
+			<integer>37</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-spiral.tiff</string>
+			<key>pos x</key>
+			<integer>21</integer>
+			<key>pos y</key>
+			<integer>36</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-line.tiff</string>
+			<key>pos x</key>
+			<integer>19</integer>
+			<key>pos y</key>
+			<integer>42</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-close.tiff</string>
+			<key>pos x</key>
+			<integer>22</integer>
+			<key>pos y</key>
+			<integer>40</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-circle.tiff</string>
+			<key>pos x</key>
+			<integer>31</integer>
+			<key>pos y</key>
+			<integer>40</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-arrow.tiff</string>
+			<key>pos x</key>
+			<integer>23</integer>
+			<key>pos y</key>
+			<integer>33</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-smile.tiff</string>
+			<key>pos x</key>
+			<integer>21</integer>
+			<key>pos y</key>
+			<integer>37</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-normal.tiff</string>
+			<key>pos x</key>
+			<integer>18</integer>
+			<key>pos y</key>
+			<integer>36</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-smile.tiff</string>
+			<key>pos x</key>
+			<integer>51</integer>
+			<key>pos y</key>
+			<integer>22</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-close.tiff</string>
+			<key>pos x</key>
+			<integer>55</integer>
+			<key>pos y</key>
+			<integer>23</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-circle.tiff</string>
+			<key>pos x</key>
+			<integer>53</integer>
+			<key>pos y</key>
+			<integer>17</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-open.tiff</string>
+			<key>pos x</key>
+			<integer>46</integer>
+			<key>pos y</key>
+			<integer>19</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>mouth-laugh.tiff</string>
+			<key>pos x</key>
+			<integer>54</integer>
+			<key>pos y</key>
+			<integer>20</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>shock.tiff</string>
+			<key>pos x</key>
+			<integer>0</integer>
+			<key>pos y</key>
+			<integer>95</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>note.tiff</string>
+			<key>pos x</key>
+			<integer>99</integer>
+			<key>pos y</key>
+			<integer>99</integer>
+		</dict>
+
+		<dict>
+			<key>filename</key>
+			<string>angery-mark.tiff</string>
+			<key>pos x</key>
+			<integer>80</integer>
+			<key>pos y</key>
+			<integer>71</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>angery-mark.tiff</string>
+			<key>pos x</key>
+			<integer>0</integer>
+			<key>pos y</key>
+			<integer>51</integer>
+		</dict>
+		<dict>
+			<key>filename</key>
+			<string>eye-thin.tiff</string>
+			<key>pos x</key>
+			<integer>18</integer>
+			<key>pos y</key>
+			<integer>39</integer>
+		</dict>
+
+		<dict>
+			<key>filename</key>
+			<string>eye-vbar.tiff</string>
+			<key>pos x</key>
+			<integer>36</integer>
+			<key>pos y</key>
+			<integer>38</integer>
+		</dict>
+
+		<dict>
+			<key>filename</key>
+			<string>eye-close2.tiff</string>
+			<key>pos x</key>
+			<integer>20</integer>
+			<key>pos y</key>
+			<integer>41</integer>
+		</dict>
+
+	</array>
+	<key>pattern</key>
+	<array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>7</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>11</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>10</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>9</integer>
+				<integer>16</integer>
+			</array>
+		</array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>7</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>23</integer>
+				<integer>13</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>23</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>23</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>22</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>22</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>22</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>8</integer>
+				<integer>12</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>8</integer>
+				<integer>14</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>8</integer>
+				<integer>16</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>3</integer>
+				<integer>5</integer>
+				<integer>16</integer>
+			</array>
+		</array>
+		<array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>7</integer>
+				<integer>13</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>13</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>6</integer>
+				<integer>14</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>1</integer>
+				<integer>6</integer>
+				<integer>16</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>2</integer>
+				<integer>21</integer>
+				<integer>13</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>1</integer>
+				<integer>21</integer>
+				<integer>14</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>1</integer>
+				<integer>21</integer>
+				<integer>12</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>1</integer>
+				<integer>21</integer>
+				<integer>16</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>12</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>14</integer>
+				<integer>19</integer>
+			</array>
+			<array>
+				<integer>0</integer>
+				<integer>4</integer>
+				<integer>15</integer>
+				<integer>19</integer>
+				<integer>20</integer>
+			</array>
+		</array>
+	</array>
+	<key>markers</key>
+	<array>
+		<integer>18</integer>
+		<integer>17</integer>
+	</array>
+	<key>title pattern</key>
+	<array>
+		<integer>0</integer>
+		<integer>3</integer>
+		<integer>11</integer>
+		<integer>16</integer>
+	</array>
+</dict>
+</plist>
Index: /trunk/MacFaceForWin.sln
===================================================================
--- /trunk/MacFaceForWin.sln	(revision 8)
+++ /trunk/MacFaceForWin.sln	(revision 8)
@@ -0,0 +1,38 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceLibrary", "MacFaceLibrary\MacFaceLibrary.csproj", "{23267F41-38FE-41F6-BF08-2D8940A1E024}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceFloat", "MacFaceFloat\MacFaceFloat.csproj", "{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}"
+	ProjectSection(ProjectDependencies) = postProject
+		{23267F41-38FE-41F6-BF08-2D8940A1E024} = {23267F41-38FE-41F6-BF08-2D8940A1E024}
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacFaceTest", "MacFaceTest\MacFaceTest.csproj", "{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfiguration) = preSolution
+		Debug = Debug
+		Release = Release
+	EndGlobalSection
+	GlobalSection(ProjectConfiguration) = postSolution
+		{23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug.ActiveCfg = Debug|.NET
+		{23267F41-38FE-41F6-BF08-2D8940A1E024}.Debug.Build.0 = Debug|.NET
+		{23267F41-38FE-41F6-BF08-2D8940A1E024}.Release.ActiveCfg = Release|.NET
+		{23267F41-38FE-41F6-BF08-2D8940A1E024}.Release.Build.0 = Release|.NET
+		{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug.ActiveCfg = Debug|.NET
+		{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Debug.Build.0 = Debug|.NET
+		{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release.ActiveCfg = Release|.NET
+		{60DE0E19-7B98-41E8-8001-A8C7A75AF08E}.Release.Build.0 = Release|.NET
+		{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug.ActiveCfg = Debug|.NET
+		{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Debug.Build.0 = Debug|.NET
+		{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release.ActiveCfg = Release|.NET
+		{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}.Release.Build.0 = Release|.NET
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+	EndGlobalSection
+	GlobalSection(ExtensibilityAddIns) = postSolution
+	EndGlobalSection
+EndGlobal
Index: /trunk/MacFaceLibrary/AssemblyInfo.cs
===================================================================
--- /trunk/MacFaceLibrary/AssemblyInfo.cs	(revision 8)
+++ /trunk/MacFaceLibrary/AssemblyInfo.cs	(revision 8)
@@ -0,0 +1,61 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// AZuÉÖ·éêÊîñÍÈºÌ 
+// ®«ZbgðÊµÄ§ä³êÜ·BAZuÉÖAt¯çêÄ¢é 
+// îñðÏX·éÉÍA±êçÌ®«lðÏXµÄ­¾³¢B
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]		
+
+//
+// AZuÌo[WîñÍAÈºÌ 4 ÂÌ®«Å\¬³êÜ· :
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// ºÉ éæ¤ÉA'*' ðgÁÄA·×ÄÌlðwè·é©A
+// rh¨æÑrWÔðùèlÉ·é±ÆªÅ«Ü·B
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// AZuÉ¼·éÉÍAgp·éL[ðwèµÈ¯êÎÈèÜ¹ñB 
+// AZu¼ÉÖ·éÚ×ÉÂ¢ÄÍAMicrosoft .NET Framework hL
+gðQÆµÄ­¾³¢B
+//
+// ºLÌ®«ðgÁÄA¼Ég¤L[ð§äµÜ·B 
+//
+//  : 
+//   (*) L[ªwè³êÈ¢ÆAAZuÍ¼³êÜ¹ñB
+//   (*) KeyName ÍARs
+[^ÉCXg[³êÄ¢é
+//        ÃT[rX voC_ (CSP) ÌL[ð\µÜ·BKeyFile ÍA
+//       L[ðÜÞt@CÅ·B
+//   (*) KeyFile ¨æÑ KeyName Ìlª¤Éwè³êÄ¢éêÍA 
+//       ÈºÌªsíêÜ· :
+//       (1) KeyName ª CSP É©Â©Á½êA»ÌL[ªgíêÜ·B
+//       (2) KeyName ª¶Ý¹¸AKeyFile ª¶Ý·éêA 
+//           KeyFile É éL[ª CSP ÉCXg[³êAgíêÜ·B
+//   (*) KeyFile ðì¬·éÉÍAsn.exe (µ§È¼O) [eBeBðgÁÄ­¾³¢B
+//       KeyFile ðwè·éÆ«AKeyFile ÌêÍA
+//       vWFNgoÍ fBNgÖÌÎpXÅÈ¯êÎÈèÜ¹ñB
+//       pXÍA%Project Directory%\obj\<configuration> Å·B½Æ¦ÎAKeyFile ªvWFNg fBNgÉ éêA
+//       AssemblyKeyFile ®«ð 
+//       [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] ÆµÄwèµÜ·B
+//   (*) x¼ÍxÈIvVÅ·B
+//       Ú×ÉÂ¢ÄÍ Microsoft .NET Framework hL
+gðQÆµÄ­¾³¢B
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Index: /trunk/MacFaceLibrary/FaceDef.cs
===================================================================
--- /trunk/MacFaceLibrary/FaceDef.cs	(revision 8)
+++ /trunk/MacFaceLibrary/FaceDef.cs	(revision 8)
@@ -0,0 +1,75 @@
+/*
+ * FaceDef.cs
+ * $Id$
+ * 
+ */
+
+using System;
+using System.IO;
+using System.Collections;
+
+namespace MacFace
+{
+	/// <summary>
+	/// FaceDef ÌTvÌà¾Å·B
+	/// </summary>
+	public class FaceDef
+	{
+		public const string FaceDefName = "faceDef.plist";
+		public const int PatternCols = 11;
+		public const int PatternRows = 3;
+
+		protected string path;
+		protected string title;
+		protected string auther;
+		protected string version;
+		protected string webSite;
+
+		protected PartList parts = new PartList();
+		//protected int[][,] patterns;
+		//protected PartList makers = new PartList();
+
+
+		// ctor
+		private FaceDef() {}
+
+
+		// properties
+		public PartList Parts
+		{
+			get { return parts; }
+		}
+
+
+		// methods
+		public static FaceDef CreateFaceDefFromFile(string path)
+		{
+			FaceDef faceDef = new FaceDef();
+
+			string defFile = Path.Combine(path, FaceDefName);
+			Hashtable def = PropertyList.Load(path);
+
+			// Part ðÇÝÞB
+			ArrayList partDefList = def["parts"] as ArrayList;
+			if (partDefList == null) 
+			{
+				// throw new IOException();
+				return null;
+			}
+
+			for (int i = 0; i < partDefList.Count; i++)
+			{
+				Hashtable partDef = partDefList[i] as Hashtable;
+				string filename = partDef["filename"] as String;
+				int x = (int)partDef["pos x"];
+				int y = (int)partDef["pos y"];
+				faceDef.Parts.Add(new Part(filename, x, y));
+			}
+
+			// TODO: pattern ðÇÝÞB
+
+			return faceDef;
+		}
+
+	}
+}
Index: /trunk/MacFaceLibrary/MacFaceLibrary.csproj
===================================================================
--- /trunk/MacFaceLibrary/MacFaceLibrary.csproj	(revision 8)
+++ /trunk/MacFaceLibrary/MacFaceLibrary.csproj	(revision 8)
@@ -0,0 +1,120 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{23267F41-38FE-41F6-BF08-2D8940A1E024}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "MacFaceLibrary"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Library"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "MacFace"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "bin\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "true"
+                    OutputPath = "bin\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References>
+                <Reference
+                    Name = "System"
+                    AssemblyName = "System"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+                />
+                <Reference
+                    Name = "System.Data"
+                    AssemblyName = "System.Data"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+                />
+                <Reference
+                    Name = "System.XML"
+                    AssemblyName = "System.XML"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+                />
+                <Reference
+                    Name = "System.Drawing"
+                    AssemblyName = "System.Drawing"
+                    HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
+                />
+            </References>
+        </Build>
+        <Files>
+            <Include>
+                <File
+                    RelPath = "AssemblyInfo.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "FaceDef.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "Part.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "PartList.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
+                    RelPath = "PropertyList.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+            </Include>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+
Index: /trunk/MacFaceLibrary/MacFaceLibrary.csproj.user
===================================================================
--- /trunk/MacFaceLibrary/MacFaceLibrary.csproj.user	(revision 8)
+++ /trunk/MacFaceLibrary/MacFaceLibrary.csproj.user	(revision 8)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "false"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+
Index: /trunk/MacFaceLibrary/Part.cs
===================================================================
--- /trunk/MacFaceLibrary/Part.cs	(revision 8)
+++ /trunk/MacFaceLibrary/Part.cs	(revision 8)
@@ -0,0 +1,70 @@
+/*
+ * Part.cs
+ * $Id$
+ * 
+ */
+using System;
+using System.Drawing;
+
+namespace MacFace
+{
+	/// <summary>
+	/// Part ÌTvÌà¾Å·B
+	/// </summary>
+	public class Part
+	{
+		protected Image image;
+		protected string filename;
+		protected int x;
+		protected int y;
+
+		/*public Part(string basePath, Hashtable partDef)
+		{
+			this.path = (string)Path.Combine(partDef["filename"]);
+			this.x = (int)partDef["pos x"];
+			this.y = (int)partDef["pos y"];
+		}*/
+		
+		public Part(String path, int x, int y)
+		{
+			this.filename = filename;
+			this.image = Image.FromFile(path);
+			this.x = x;
+			this.y = y;
+		}
+
+		public Part(String path, Image image, int x, int y)
+		{
+			this.filename = filename;
+			this.image = image;
+			this.x = x;
+			this.y = y;
+		}
+
+		public string FileName 
+		{
+			get { return filename; }
+		}
+
+		public Image Image 
+		{
+			get { return image; }
+		}
+
+		public int X
+		{
+			get { return x; }
+		}
+
+		public int Y
+		{
+			get { return y; }
+		}
+
+		/*public void Draw(Graphics g)
+		{
+			Image img = part.Image;
+			g.DrawImage(img, x, drawY, img.Size.Width, img.Size.Height);
+		}*/
+	}
+}
Index: /trunk/MacFaceLibrary/PartList.cs
===================================================================
--- /trunk/MacFaceLibrary/PartList.cs	(revision 8)
+++ /trunk/MacFaceLibrary/PartList.cs	(revision 8)
@@ -0,0 +1,67 @@
+/*
+ * PartList.cs
+ * $Id$
+ * 
+ */
+
+using System;
+using System.Collections;
+
+namespace MacFace
+{
+	/// <summary>
+	/// PartList ÌTvÌà¾Å·B
+	/// </summary>
+	public class PartList : ArrayList
+	{
+		public PartList()
+		{
+		}
+		public PartList(ArrayList parts)
+		{
+			base.AddRange(parts);
+		}
+		public PartList(Part[] parts)
+		{
+			this.AddRange(parts);
+		}
+
+		//
+		// overloads
+		//
+		public int Add(Part value)
+		{
+			return base.Add (value);
+		}
+
+		public void AddRange(Part[] c)
+		{
+			base.AddRange (c);
+		}
+
+		public void Remove(Part obj)
+		{
+			base.Remove (obj);
+		}
+
+		public bool Contains(Part item)
+		{
+			return base.Contains (item);
+		}
+
+		public int IndexOf(Part value)
+		{
+			return base.IndexOf (value);
+		}
+
+		public int IndexOf(Part value, int startIndex)
+		{
+			return base.IndexOf (value, startIndex);
+		}
+		
+		public void CopyTo(Part[] array)
+		{
+			base.CopyTo (array);
+		}
+	}
+}
Index: /trunk/MacFaceLibrary/PropertyList.cs
===================================================================
--- /trunk/MacFaceLibrary/PropertyList.cs	(revision 8)
+++ /trunk/MacFaceLibrary/PropertyList.cs	(revision 8)
@@ -0,0 +1,87 @@
+/*
+ * PropertyList.cs
+ * $Id$
+ * 
+ */
+
+using System;
+using System.Xml;
+using System.Collections;
+using System.Diagnostics;
+
+namespace MacFace
+{
+	/// <summary>
+	/// PropertyList ÌTvÌà¾Å·B
+	/// </summary>
+	public class PropertyList : Hashtable
+	{
+		private PropertyList() {}
+
+		public static Hashtable Load(string path)
+		{
+			XmlDocument doc = new XmlDocument();
+			XmlTextReader reader = new XmlTextReader(path);
+			reader.XmlResolver = null;
+			doc.Load(reader);
+
+			return ReadDictionary(doc.DocumentElement.FirstChild);
+		}
+
+		private static Hashtable ReadDictionary(XmlNode node)
+		{
+			XmlNodeList children = node.ChildNodes;
+			int count = children.Count;
+			Hashtable table = new Hashtable();
+
+//Trace.WriteLine("#DICT#");
+			for (int i = 0; i < count; i+=2) 
+			{
+				string key = children[i].InnerText;
+				object value = ReadValue(children[i+1]);
+
+				table.Add(key,value);
+			}
+//Trace.WriteLine("#/DICT#");
+			return table;
+		}
+
+		private static ArrayList ReadArray(XmlNode node)
+		{
+			ArrayList array = new ArrayList();
+//Trace.WriteLine("#ARRAY#");
+			foreach (XmlNode child in node.ChildNodes) 
+			{
+				array.Add(ReadValue(child));
+			}
+//Trace.WriteLine("#/ARRAY#");
+
+			return array;
+		}
+
+		private static object ReadValue(XmlNode node)
+		{
+			object value;
+			switch (node.Name)
+			{
+				case "dict":
+					value = ReadDictionary(node);
+					break;
+				case "array":
+					value = ReadArray(node);
+					break;
+				case "string":
+					value = node.InnerText;
+					break;
+				case "integer":
+					value = int.Parse(node.InnerText);
+					break;
+				default:
+					value = node;
+					break;
+			}
+//Trace.WriteLine(value);
+			return value;
+		}
+	}
+}
Index: /trunk/MacFaceTest/MacFaceTest.csproj
===================================================================
--- /trunk/MacFaceTest/MacFaceTest.csproj	(revision 8)
+++ /trunk/MacFaceTest/MacFaceTest.csproj	(revision 8)
@@ -0,0 +1,73 @@
+<VisualStudioProject>
+    <CSHARP
+        ProjectType = "Local"
+        ProductVersion = "7.10.3077"
+        SchemaVersion = "2.0"
+        ProjectGuid = "{40CD5CB5-835A-4DDD-928D-AEFE64EFAA8E}"
+    >
+        <Build>
+            <Settings
+                ApplicationIcon = ""
+                AssemblyKeyContainerName = ""
+                AssemblyName = "MacFaceTest"
+                AssemblyOriginatorKeyFile = ""
+                DefaultClientScript = "JScript"
+                DefaultHTMLPageLayout = "Grid"
+                DefaultTargetSchema = "IE50"
+                DelaySign = "false"
+                OutputType = "Library"
+                PreBuildEvent = ""
+                PostBuildEvent = ""
+                RootNamespace = "MacFaceTest"
+                RunPostBuildEvent = "OnBuildSuccess"
+                StartupObject = ""
+            >
+                <Config
+                    Name = "Debug"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "DEBUG;TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "true"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "false"
+                    OutputPath = "bin\Debug\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+                <Config
+                    Name = "Release"
+                    AllowUnsafeBlocks = "false"
+                    BaseAddress = "285212672"
+                    CheckForOverflowUnderflow = "false"
+                    ConfigurationOverrideFile = ""
+                    DefineConstants = "TRACE"
+                    DocumentationFile = ""
+                    DebugSymbols = "false"
+                    FileAlignment = "4096"
+                    IncrementalBuild = "false"
+                    NoStdLib = "false"
+                    NoWarn = ""
+                    Optimize = "true"
+                    OutputPath = "bin\Release\"
+                    RegisterForComInterop = "false"
+                    RemoveIntegerChecks = "false"
+                    TreatWarningsAsErrors = "false"
+                    WarningLevel = "4"
+                />
+            </Settings>
+            <References/>
+        </Build>
+        <Files>
+            <Include/>
+        </Files>
+    </CSHARP>
+</VisualStudioProject>
+
Index: /trunk/MacFaceTest/MacFaceTest.csproj.user
===================================================================
--- /trunk/MacFaceTest/MacFaceTest.csproj.user	(revision 8)
+++ /trunk/MacFaceTest/MacFaceTest.csproj.user	(revision 8)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+    <CSHARP LastOpenVersion = "7.10.3077" >
+        <Build>
+            <Settings ReferencePath = "" >
+                <Config
+                    Name = "Debug"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "true"
+                />
+                <Config
+                    Name = "Release"
+                    EnableASPDebugging = "false"
+                    EnableASPXDebugging = "false"
+                    EnableUnmanagedDebugging = "false"
+                    EnableSQLServerDebugging = "false"
+                    RemoteDebugEnabled = "false"
+                    RemoteDebugMachine = ""
+                    StartAction = "Project"
+                    StartArguments = ""
+                    StartPage = ""
+                    StartProgram = ""
+                    StartURL = ""
+                    StartWorkingDirectory = ""
+                    StartWithIE = "false"
+                />
+            </Settings>
+        </Build>
+        <OtherProjectSettings
+            CopyProjectDestinationFolder = ""
+            CopyProjectUncPath = ""
+            CopyProjectOption = "0"
+            ProjectView = "ProjectFiles"
+            ProjectTrust = "0"
+        />
+    </CSHARP>
+</VisualStudioProject>
+
Index: unk/MainForm.cs
===================================================================
--- /trunk/MainForm.cs	(revision 7)
+++ 	(revision )
@@ -1,137 +1,0 @@
-// project created on 2004/06/02 at 2:43
-using System;
-using System.Windows.Forms;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Data;
-using System.IO;
-using System.Diagnostics;
-using System.Threading;
-
-namespace MacFace
-{
-	class MainForm : Misuzilla.Windows.Forms.AlphaForm
-	{
-		private System.Windows.Forms.ContextMenu contextMenu1;
-		private System.Windows.Forms.MenuItem menuItem1;
-		private Hashtable _property;
-		private ArrayList _parts;
-		private String _facePath;
-		private System.Windows.Forms.Timer _updateTimer;
-		Int32 prevUsage;
-		PerformanceCounter cpuCount;
-//		PerformanceCounter pageoutCount;
-//		PerformanceCounter pageinCount;
-
-		public MainForm()
-		{
-			InitializeComponent();
-			this.TransparentMouseMessage = false;
-			this.MoveAtFormDrag = true;
-
-			_facePath = Path.Combine(Application.StartupPath,"default.mcface");
-			_property = PropertyList.load(Path.Combine(_facePath,"faceDef.plist"));
-			_parts = (ArrayList)_property["parts"];
-			prevUsage = -10;
-
-			cpuCount = new PerformanceCounter();
-			cpuCount.CategoryName = "Processor";
-			cpuCount.CounterName  = "% Processor Time";
-			cpuCount.InstanceName = "_Total";
-
-//			pageoutCount = new PerformanceCounter();
-//			pageoutCount.CategoryName = "Memory";
-//			pageoutCount.CounterName  = "Pages Output/sec";
-//
-//			pageinCount = new PerformanceCounter();
-//			pageinCount.CategoryName = "Memory";
-//			pageinCount.CounterName  = "Pages Input/sec";
-
-			_updateTimer = new System.Windows.Forms.Timer();
-			_updateTimer.Interval = 1000;
-			_updateTimer.Tick += new EventHandler(this.CountProcessorUsage);
-			_updateTimer.Start();
-		}
-
-		// THIS METHOD IS MAINTAINED BY THE FORM DESIGNER
-		// DO NOT EDIT IT MANUALLY! YOUR CHANGES ARE LIKELY TO BE LOST
-		void InitializeComponent() {
-			this.menuItem1 = new System.Windows.Forms.MenuItem();
-			this.contextMenu1 = new System.Windows.Forms.ContextMenu();
-			// 
-			// menuItem1
-			// 
-			this.menuItem1.Index = 0;
-			this.menuItem1.Shortcut = System.Windows.Forms.Shortcut.CtrlQ;
-			this.menuItem1.Text = "I¹";
-			this.menuItem1.Click += new System.EventHandler(this.doQuit);
-			// 
-			// contextMenu1
-			// 
-			this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
-						this.menuItem1});
-			// 
-			// MainForm
-			// 
-			this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
-			this.ClientSize = new System.Drawing.Size(120, 101);
-			this.ContextMenu = this.contextMenu1;
-			this.ControlBox = false;
-			this.MaximizeBox = false;
-			this.MinimizeBox = false;
-			this.Name = "MainForm";
-			this.Opacity = 0.75F;
-			this.ShowInTaskbar = false;
-			this.Text = "MacFace For Windows";
-			this.TopMost = true;
-		}
-			
-		[STAThread]
-		public static void Main(string[] args)
-		{
-			Application.Run(new MainForm());
-		}
-		
-		public void CountProcessorUsage(object sender, EventArgs e)
-		{
-			Int32 usage = (Int32)cpuCount.NextValue();
-//			Int32 pagein = (Int32)pageinCount.NextValue();
-//			Int32 pageout = (Int32)pageoutCount.NextValue();
-
-//				Console.WriteLine("Processor: {0}% (pattern: {1}) {2} {3}", usage, usage/10, pagein, pageout);
-			if (usage >= 100) {
-				usage = 100;
-			} else if (usage < 0) {
-				usage = 0;
-			}
-				
-			if (prevUsage/10 != usage/10) {
-				ArrayList patterns = (ArrayList)_property["pattern"];
-				ArrayList patternCpu = (ArrayList)patterns[0];
-				ArrayList facePattern = (ArrayList)patternCpu[usage/10];
-					
-				foreach (Int32 i in facePattern) {
-					Hashtable part = _parts[i] as Hashtable;
-					string filename = (string)part["filename"];
-					string imgPath = Path.Combine(_facePath, filename);
-					using (Bitmap bitmap = new Bitmap(imgPath)) {
-						int x = (int)part["pos x"];
-						int y = 128 - (int)part["pos y"] - bitmap.Size.Height;
-						this.Graphics.DrawImage(bitmap,x,y,bitmap.Size.Width,bitmap.Size.Height);
-					}
-				}
-				this.Update();
-			}
-				
-			prevUsage = usage;			
-		}
-
-		void doQuit(object sender, System.EventArgs e)
-		{
-			_updateTimer.Stop();
-			Application.Exit();
-		}
-		
-	}
-}
Index: unk/PropertyList.cs
===================================================================
--- /trunk/PropertyList.cs	(revision 7)
+++ 	(revision )
@@ -1,79 +1,0 @@
-using System;
-using System.Xml;
-using System.Collections;
-using System.Diagnostics;
-
-namespace MacFace
-{
-	/// <summary>
-	/// PropertyList ÌTvÌà¾Å·B
-	/// </summary>
-	public class PropertyList : Hashtable
-	{
-		public static Hashtable load(string path)
-		{
-			XmlDocument doc = new XmlDocument();
-			XmlTextReader reader = new XmlTextReader(path);
-			reader.XmlResolver = null;
-			doc.Load(reader);
-
-			return readDictionary(doc.DocumentElement.FirstChild);
-		}
-
-		static Hashtable readDictionary(XmlNode node)
-		{
-			XmlNodeList children = node.ChildNodes;
-			int count = children.Count;
-			Hashtable table = new Hashtable();
-
-//Trace.WriteLine("#DICT#");
-			for (int i = 0; i < count; i+=2) 
-			{
-				string key = children[i].InnerText;
-				object value = readValue(children[i+1]);
-
-				table.Add(key,value);
-			}
-//Trace.WriteLine("#/DICT#");
-			return table;
-		}
-
-		static ArrayList readArray(XmlNode node)
-		{
-			ArrayList array = new ArrayList();
-//Trace.WriteLine("#ARRAY#");
-			foreach (XmlNode child in node.ChildNodes) 
-			{
-				array.Add(readValue(child));
-			}
-//Trace.WriteLine("#/ARRAY#");
-
-			return array;
-		}
-
-		static object readValue(XmlNode node)
-		{
-			object value;
-			switch (node.Name)
-			{
-				case "dict":
-					value = readDictionary(node);
-					break;
-				case "array":
-					value = readArray(node);
-					break;
-				case "string":
-					value = node.InnerText;
-					break;
-				case "integer":
-					value = int.Parse(node.InnerText);
-					break;
-				default:
-					value = node;
-					break;
-			}
-//Trace.WriteLine(value);
-			return value;
-		}
-	}
-}
