/[gr2lib]/trunk/gr2lib/core/coretypes/implementation/Texture.cs
ViewVC logotype

Diff of /trunk/gr2lib/core/coretypes/implementation/Texture.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 83 by william, Fri Jul 16 21:26:08 2010 UTC revision 86 by william, Fri Jul 16 23:35:21 2010 UTC
# Line 37  namespace gr2lib.core.coretypes.implemen Line 37  namespace gr2lib.core.coretypes.implemen
37    
38          internal static Texture ReadFromMemory(IntPtr pointer)          internal static Texture ReadFromMemory(IntPtr pointer)
39          {          {
40                try
41                {
42              if (pointer == IntPtr.Zero) return null;              if (pointer == IntPtr.Zero) return null;
43              native.Texture native = Helpers.ReadFromMemory<native.Texture>(pointer);              native.Texture native = Helpers.ReadFromMemory<native.Texture>(pointer);
44              Texture managed = ReadFromNative(native);              Texture managed = ReadFromNative(native);
45              managed.NativePointer = pointer;              managed.NativePointer = pointer;
46              return managed;              return managed;
47                }
48                catch (Exception ex)
49                {
50                    Console.WriteLine(ex.ToString());
51                    return default(Texture);
52                }
53          }          }
54    
55          internal static Texture ReadFromNative(native.Texture native)          internal static Texture ReadFromNative(native.Texture native)
56          {          {
57              Texture managed = new Texture();              try
             managed.FromFileName = native.FromFileName;  
             managed.TextureType = native.TextureType;  
             managed.Width = native.Width;  
             managed.Height = native.Height;  
             managed.Encoding = native.Encoding;  
             managed.SubFormat = native.SubFormat;  
             managed.Layout = Layout.ReadFromNative(native.Layout);  
             IntPtr[] images = Helpers.ReadPtrArrayFromMemory<native.Image>(native.Images);  
             int length = images.Length;  
             managed.Images = new List<Image>(length);  
             foreach (IntPtr ptr in images)  
58              {              {
59                  managed.Images.Add(new Image());                  Texture managed = new Texture();
60                    managed.FromFileName = native.FromFileName;
61                    managed.TextureType = native.TextureType;
62                    managed.Width = native.Width;
63                    managed.Height = native.Height;
64                    managed.Encoding = native.Encoding;
65                    managed.SubFormat = native.SubFormat;
66                    managed.Layout = Layout.ReadFromNative(native.Layout);
67                    IntPtr[] images = Helpers.ReadPtrArrayFromMemory<native.Image>(native.Images);
68                    int length = images.Length;
69                    managed.Images = new List<Image>(length);
70                    foreach (IntPtr ptr in images)
71                    {
72                        Image _tmp = new Image();
73                        _tmp.NativePointer = ptr;
74                        managed.Images.Add(_tmp);
75                    }
76                    for (int i = 0; i < length; i++)
77                    {
78                        managed.Images[i] = Image.ReadFromMemory(images[i]);
79                    }
80                    managed.ExtendedData = native.ExtendedData;
81                    return managed;
82              }              }
83              for (int i = 0; i < length; i++)              catch (Exception ex)
84              {              {
85                  managed.Images[i] = Image.ReadFromMemory(images[i]);                  Console.WriteLine(ex.ToString());
86                    return default(Texture);
87              }              }
             managed.ExtendedData = native.ExtendedData;  
             return managed;  
88          }          }
89    
90          #region ITexture Members          #region ITexture Members

Legend:
Removed from v.83  
changed lines
  Added in v.86

  ViewVC Help
Powered by ViewVC 1.1.22