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 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);
            }
        }
Example #4
0
 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);
     }
 }
        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);
            }
        }
 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 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);
            }
        }