public void TestCompareCursor1() { // load from gutils Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase); string gutilsfilename = Path.Combine(Path.GetDirectoryName(HttpUtility.UrlDecode(uri.AbsolutePath)), "Binaries\\gutils.dll"); Assert.IsTrue(File.Exists(gutilsfilename)); CursorDirectoryResource cursorDirectoryResource = new CursorDirectoryResource(); cursorDirectoryResource.Name = new ResourceId("HORZLINE"); cursorDirectoryResource.Language = ResourceUtil.USENGLISHLANGID; cursorDirectoryResource.LoadFrom(gutilsfilename); // load from cursor1.cur string cursor1filename = Path.Combine(Path.GetDirectoryName( HttpUtility.UrlDecode(uri.AbsolutePath)), "Cursors\\Cursor1.cur"); Assert.IsTrue(File.Exists(cursor1filename)); IconFile cursorFile = new IconFile(cursor1filename); Assert.AreEqual(cursorDirectoryResource.Icons[0].Image.Data.Length, cursorFile.Icons[0].Image.Data.Length); Assert.AreEqual(32, cursorDirectoryResource.Icons[0].Image.Mask.Width); Assert.AreEqual(32, cursorDirectoryResource.Icons[0].Image.Mask.Height); Assert.AreEqual(32, cursorDirectoryResource.Icons[0].Image.Color.Width); Assert.AreEqual(32, cursorDirectoryResource.Icons[0].Image.Color.Height); }
public void TestLoadAndSaveCursorResource() { Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase); string filename = HttpUtility.UrlDecode(uri.AbsolutePath); Assert.IsTrue(File.Exists(filename)); string targetFilename = Path.Combine(Path.GetTempPath(), "testLoadAndSaveCursorResource.exe"); File.Copy(filename, targetFilename, true); Console.WriteLine(targetFilename); string gutilsfilename = Path.Combine(Path.GetDirectoryName(HttpUtility.UrlDecode(uri.AbsolutePath)), "Binaries\\gutils.dll"); Assert.IsTrue(File.Exists(gutilsfilename)); string[] cursorNames = { "HORZLINE", "VERTLINE" }; foreach (string cursorName in cursorNames) { CursorDirectoryResource cursorDirectoryResource = new CursorDirectoryResource(); cursorDirectoryResource.Name = new ResourceId(cursorName); cursorDirectoryResource.Language = ResourceUtil.USENGLISHLANGID; cursorDirectoryResource.LoadFrom(gutilsfilename); cursorDirectoryResource.SaveTo(targetFilename); } Console.WriteLine("Written CursorDirectoryResource:"); foreach (string cursorName in cursorNames) { CursorDirectoryResource newCursorDirectoryResource = new CursorDirectoryResource(); newCursorDirectoryResource.Name = new ResourceId(cursorName); newCursorDirectoryResource.Language = ResourceUtil.USENGLISHLANGID; newCursorDirectoryResource.LoadFrom(targetFilename); DumpResource.Dump(newCursorDirectoryResource); } }
public static void Dump(CursorDirectoryResource rc) { Console.WriteLine(" CursorDirectoryResource: {0}, {1}", rc.Name, rc.TypeName); foreach (CursorResource cursor in rc.Icons) { Dump(cursor); } }
public void TestAddCursorResource() { Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase); string cursor1filename = Path.Combine(Path.GetDirectoryName( HttpUtility.UrlDecode(uri.AbsolutePath)), "Cursors\\Cursor1.cur"); Assert.IsTrue(File.Exists(cursor1filename)); IconFile cursorFile = new IconFile(cursor1filename); Console.WriteLine("{0}: {1}", Path.GetFileName(cursor1filename), cursorFile.Type); foreach (IconFileIcon cursor in cursorFile.Icons) { Console.WriteLine(" {0}", cursor.ToString()); } Console.WriteLine("Converted CursorDirectoryResource:"); CursorDirectoryResource cursorDirectoryResource = new CursorDirectoryResource(cursorFile); Assert.AreEqual(16, cursorDirectoryResource.Icons[0].HotspotX); Assert.AreEqual(16, cursorDirectoryResource.Icons[0].HotspotY); cursorDirectoryResource.Name = new ResourceId("RESOURCELIB"); cursorDirectoryResource.Language = ResourceUtil.USENGLISHLANGID; cursorDirectoryResource.Icons[0].HotspotX = 12; cursorDirectoryResource.Icons[0].HotspotY = 12; cursorDirectoryResource.Icons[0].Id = 3; cursorDirectoryResource.Icons[0].Language = ResourceUtil.USENGLISHLANGID; DumpResource.Dump(cursorDirectoryResource); Assert.AreEqual(cursorFile.Icons.Count, cursorDirectoryResource.Icons.Count); string filename = Path.Combine(Path.GetDirectoryName(HttpUtility.UrlDecode(uri.AbsolutePath)), "Binaries\\gutils.dll"); Assert.IsTrue(File.Exists(filename)); string targetFilename = Path.Combine(Path.GetTempPath(), "testReplaceCursorResource.dll"); File.Copy(filename, targetFilename, true); Console.WriteLine(targetFilename); cursorDirectoryResource.SaveTo(targetFilename); Console.WriteLine("Written CursorDirectoryResource:"); CursorDirectoryResource newCursorDirectoryResource = new CursorDirectoryResource(); newCursorDirectoryResource.Name = new ResourceId("RESOURCELIB"); newCursorDirectoryResource.Language = ResourceUtil.USENGLISHLANGID; newCursorDirectoryResource.LoadFrom(targetFilename); Assert.AreEqual(1, newCursorDirectoryResource.Icons.Count); Assert.AreEqual(cursorFile.Icons[0].Image.Size, newCursorDirectoryResource.Icons[0].Image.Size); DumpResource.Dump(newCursorDirectoryResource); using (ResourceInfo ri = new ResourceInfo()) { ri.Load(targetFilename); DumpResource.Dump(ri); } }
public void TestLoadCursorResources() { // gutils.dll has two cursors Uri uri = new Uri(Assembly.GetExecutingAssembly().CodeBase); string filename = Path.Combine(Path.GetDirectoryName(HttpUtility.UrlDecode(uri.AbsolutePath)), "Binaries\\gutils.dll"); Assert.IsTrue(File.Exists(filename)); string[] cursorNames = { "HORZLINE", "VERTLINE" }; foreach (string cursorName in cursorNames) { CursorDirectoryResource cursorDirectoryResource = new CursorDirectoryResource(); cursorDirectoryResource.Name = new ResourceId(cursorName); cursorDirectoryResource.LoadFrom(filename); Assert.AreEqual(cursorDirectoryResource.Icons.Count, 1); Assert.AreEqual(16, cursorDirectoryResource.Icons[0].HotspotX); Assert.AreEqual(16, cursorDirectoryResource.Icons[0].HotspotY); DumpResource.Dump(cursorDirectoryResource); } }