/[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

--- trunk/gr2lib/core/coretypes/implementation/Texture.cs	2010/07/20 08:11:51	149
+++ trunk/gr2lib/core/coretypes/implementation/Texture.cs	2010/07/23 21:08:46	183
@@ -9,6 +9,8 @@
 using gr2lib.core.ui.helpers;
 using System.ComponentModel;
 using gr2lib.core.typedefs;
+using gr2lib.core.ui.typeeditors;
+using System.Drawing.Design;
 
 namespace gr2lib.core.coretypes.implementation
 {
@@ -17,11 +19,11 @@
         private GrannyRigResource _rigResource;
 
         private FilePath _FromFileName;
-        private int _TextureType;
+        private NameValuePair<string, granny_texture_type> _TextureType;
         private int _Width;
         private int _Height;
-        private int _Encoding;
-        private int _SubFormat;
+        private NameValuePair<string, granny_texture_encoding> _Encoding;
+        private NameValuePair<string, granny_pixel_layout> _SubFormat;
         private Layout _Layout;
         private List<Image> _Images;
 
@@ -37,11 +39,11 @@
         public Texture()// : base("Textures")
         {
             this.FromFileName = "";
-            this.TextureType = 0;
+            this.TextureType = new NameValuePair<string, granny_texture_type>(coreapi.GetGrannyEnumTypeString<granny_texture_type>(granny_texture_type.GrannyColorMapTextureType), granny_texture_type.GrannyColorMapTextureType);
             this.Width = 0;
             this.Height = 0;
-            this.Encoding = 0;
-            this.SubFormat = 0;
+            this.Encoding = new NameValuePair<string, granny_texture_encoding>(coreapi.GetGrannyEnumTypeString<granny_texture_encoding>(granny_texture_encoding.GrannyBinkTextureEncoding), granny_texture_encoding.GrannyBinkTextureEncoding);
+            this.SubFormat = new NameValuePair<string, granny_pixel_layout>(coreapi.GetGrannyEnumTypeString<granny_pixel_layout>(granny_pixel_layout.GrannyBGRA8888PixelFormat), granny_pixel_layout.GrannyBGRA8888PixelFormat);
             this.Layout = new Layout();
             this.Images = new List<Image>();
             //this.ExtendedData = new IntPtr();
@@ -51,11 +53,11 @@
         public Texture(int index)
         {
             this.FromFileName = "";
-            this.TextureType = 0;
+            this.TextureType = new NameValuePair<string, granny_texture_type>(coreapi.GetGrannyEnumTypeString<granny_texture_type>(granny_texture_type.GrannyColorMapTextureType), granny_texture_type.GrannyColorMapTextureType);
             this.Width = 0;
             this.Height = 0;
-            this.Encoding = 0;
-            this.SubFormat = 0;
+            this.Encoding = new NameValuePair<string, granny_texture_encoding>(coreapi.GetGrannyEnumTypeString<granny_texture_encoding>(granny_texture_encoding.GrannyBinkTextureEncoding), granny_texture_encoding.GrannyBinkTextureEncoding);
+            this.SubFormat = new NameValuePair<string, granny_pixel_layout>(coreapi.GetGrannyEnumTypeString<granny_pixel_layout>(granny_pixel_layout.GrannyBGRA8888PixelFormat), granny_pixel_layout.GrannyBGRA8888PixelFormat);
             this.Layout = new Layout();
             this.Images = new List<Image>();
             //this.ExtendedData = new IntPtr();
@@ -107,11 +109,11 @@
             {
                 Texture managed = new Texture();
                 managed.FromFileName = native.FromFileName;
-                managed.TextureType = native.TextureType;
+                managed.TextureType = new NameValuePair<string, granny_texture_type>(coreapi.GetGrannyEnumTypeString<granny_texture_type>((granny_texture_type)native.TextureType), (granny_texture_type)native.TextureType);
                 managed.Width = native.Width;
                 managed.Height = native.Height;
-                managed.Encoding = native.Encoding;
-                managed.SubFormat = native.SubFormat;
+                managed.Encoding = new NameValuePair<string, granny_texture_encoding>(coreapi.GetGrannyEnumTypeString<granny_texture_encoding>((granny_texture_encoding)native.Encoding), (granny_texture_encoding)native.Encoding);
+                managed.SubFormat = new NameValuePair<string, granny_pixel_layout>(coreapi.GetGrannyEnumTypeString<granny_pixel_layout>((granny_pixel_layout)native.SubFormat), (granny_pixel_layout)native.SubFormat);
                 managed.Layout = Layout.ReadFromNative(native.Layout);
                 IntPtr[] images = Helpers.ReadPtrArrayFromMemory<native.Image>(native.Images);
                 int length = images.Length;
@@ -153,56 +155,21 @@
         }
 
         #region ITexture Members
-
-        [RefreshPropertiesAttribute(RefreshProperties.All)]
-        public string TextureTypeFormat 
-        { 
-            get
-            {
-                string texture_type = "Unknown Texture Type";
-
-                foreach (int val in Enum.GetValues(typeof(granny_texture_type)))
-                {
-                    if (val == this.TextureType)
-                    {
-                        texture_type = Enum.GetName(typeof(granny_texture_type),val);
-                        break;
-                    }
-                }
-                return texture_type;
-            } 
-        }
-        [RefreshPropertiesAttribute(RefreshProperties.All)]
-        public string EncodingFormat
-        {
-            get
-            {
-                string encodingformat = "Unknown Encoding Format";
-
-                foreach (int val in Enum.GetValues(typeof(granny_texture_encoding)))
-                {
-                    if (val == this.Encoding)
-                    {
-                        encodingformat = Enum.GetName(typeof(granny_texture_encoding), val);
-                        break;
-                    }
-                }
-                return encodingformat;
-            }
-        }
-
         [RefreshPropertiesAttribute(RefreshProperties.All)]
         public FilePath FromFileName { get { return _FromFileName; } set { _FromFileName = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
-        public int TextureType { get { return _TextureType; } set { _TextureType = value; } }
+        [Editor(typeof(UIComboValueSelector<granny_texture_type, int>), typeof(UITypeEditor))]
+        public NameValuePair<string, granny_texture_type> TextureType { get { return _TextureType; } set { _TextureType = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
         public int Width { get { return _Width; } set { _Width = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
         public int Height { get { return _Height; } set { _Height = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
-        public int Encoding { get { return _Encoding; } set { _Encoding = value; } }
+        [Editor(typeof(UIComboValueSelector<granny_texture_encoding, int>), typeof(UITypeEditor))]
+        public NameValuePair<string, granny_texture_encoding> Encoding { get { return _Encoding; } set { _Encoding = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
-        public int SubFormat { get { return _SubFormat; } set { _SubFormat = value; } }
+        [Editor(typeof(UIComboValueSelector<granny_pixel_layout, int>), typeof(UITypeEditor))]
+        public NameValuePair<string, granny_pixel_layout> SubFormat { get { return _SubFormat; } set { _SubFormat = value; } }
         [RefreshPropertiesAttribute(RefreshProperties.All)]
         [Browsable(true)]
         public Layout Layout { get { return _Layout; } set { _Layout = value; } }
@@ -212,11 +179,17 @@
 
         #region INativePointer Members
         private IntPtr _NativePointer;
+        /// <summary>
+        /// When used in a derived class, gets the native pointer for this instance
+        /// </summary>
         public IntPtr NativePointer { get { return _NativePointer; } set { _NativePointer = value; } }
         #endregion
 
         #region IExtendedData Members
         private IntPtr _ExtendedData;
+        /// <summary>
+        /// When used in a derived class, gets the ExtendedData pointer for this instance
+        /// </summary>
         public IntPtr ExtendedData { get { return _ExtendedData; } set { _ExtendedData = value; } }
         #endregion
 

 

  ViewVC Help
Powered by ViewVC 1.1.22