protected override void ReadData(PsdReader reader, object userData)
 {
     version = reader.ReadInt32();
     hasCompatibilityImage = reader.ReadBoolean();
     writerName            = reader.ReadString();
     readerName            = reader.ReadString();
     fileVersion           = reader.ReadInt32();
 }
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties(5);

            props["Version"] = reader.ReadInt32();
            props["HasCompatibilityImage"] = reader.ReadBoolean();
            props["WriterName"] = reader.ReadString();
            props["ReaderName"] = reader.ReadString();
            props["FileVersion"] = reader.ReadInt32();

            value = props;
        }
Beispiel #3
0
        protected override void ReadValue(PsdReader reader, Object userData, out IProperties value)
        {
            Properties props = new Properties(5);

            props["Version"] = reader.ReadInt32();
            props["HasCompatibilityImage"] = reader.ReadBoolean();
            props["WriterName"]            = reader.ReadString();
            props["ReaderName"]            = reader.ReadString();
            props["FileVersion"]           = reader.ReadInt32();

            value = props;
        }
Beispiel #4
0
 public StructureEnumerateReference(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("TypeID", reader.ReadKey());
     this.Add("EnumID", reader.ReadKey());
 }
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            int version = reader.ReadInt32();
            if (version == 6)
            {
                var r1 = reader.ReadInt32();
                var r2 = reader.ReadInt32();
                var r3 = reader.ReadInt32();
                var r4 = reader.ReadInt32();
                string text = reader.ReadString();
                var count = reader.ReadInt32();

                List<IProperties> slices = new List<IProperties>(count);
                for (int i = 0; i < count; i++)
                {
                    slices.Add(ReadSliceInfo(reader));
                }
            }
            {
                var descriptor = new DescriptorStructure(reader) as IProperties;

                var items = descriptor["slices.Items[0]"] as object[];
                List<IProperties> slices = new List<IProperties>(items.Length);
                foreach (var item in items)
                {
                    slices.Add(ReadSliceInfo(item as IProperties));
                }
                props["Items"] = slices.ToArray();
            }

            value = props;
        }
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            int version = reader.ReadInt32();

            if (version == 6)
            {
                var    r1    = reader.ReadInt32();
                var    r2    = reader.ReadInt32();
                var    r3    = reader.ReadInt32();
                var    r4    = reader.ReadInt32();
                string text  = reader.ReadString();
                var    count = reader.ReadInt32();

                List <IProperties> slices = new List <IProperties>(count);
                for (int i = 0; i < count; i++)
                {
                    slices.Add(ReadSliceInfo(reader));
                }
            }
            {
                var descriptor = new DescriptorStructure(reader) as IProperties;

                var items = descriptor["slices.Items[0]"] as object[];
                List <IProperties> slices = new List <IProperties>(items.Length);
                foreach (var item in items)
                {
                    slices.Add(ReadSliceInfo(item as IProperties));
                }
                props["Items"] = slices.ToArray();
            }

            value = props;
        }
Beispiel #7
0
        protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
        {
            Properties props = new Properties();

            props["Name"] = reader.ReadString();
            value         = props;
        }
Beispiel #8
0
 public StructureEnumerateReference(PsdReader reader)
 {
     Name    = reader.ReadString();
     ClassId = reader.ReadKey();
     TypeId  = reader.ReadKey();
     EnumId  = reader.ReadKey();
 }
        public DescriptorStructure(PsdReader reader, bool hasVersion)
        {
            if (hasVersion == true)
            {
                this.version = reader.ReadInt32();
            }

            this.Add("Name", reader.ReadString());
            this.Add("ClassID", reader.ReadKey());

            int count = reader.ReadInt32();
            for (int i = 0; i < count; i++)
            {
                string key = reader.ReadKey();
                string osType = reader.ReadType();
                if (key == "EngineData")
                {
                    this.Add(key.Trim(), new StructureEngineData(reader));
                }
                else
                {
                    object value = StructureReader.Read(osType, reader);
                    this.Add(key.Trim(), value);
                }
            }
        }
 public StructureEnumerateReference(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("TypeID", reader.ReadKey());
     this.Add("EnumID", reader.ReadKey());
 }
Beispiel #11
0
        public StructureObjectArray(PsdReader reader)
        {
            int version = reader.ReadInt32();

            this.Add("Name", reader.ReadString());
            this.Add("ClassID", reader.ReadKey());

            int count = reader.ReadInt32();

            List <Properties> items = new List <Properties>();

            for (int i = 0; i < count; i++)
            {
                Properties props = new Properties();
                props.Add("Type1", reader.ReadKey());
                props.Add("EnumName", reader.ReadType());


                props.Add("Type2", PsdUtility.ToUnitType(reader.ReadType()));
                int d4 = reader.ReadInt32();
                props.Add("Values", reader.ReadDoubles(d4));

                items.Add(props);
            }
            this.Add("items", items.ToArray());
        }
Beispiel #12
0
        protected override void ReadValue(PsdReader reader, object userData, out LinkedLayer value)
        {
            reader.ValidateSignature("liFD");
            int version = reader.ReadInt32();

            Guid        id         = new Guid(reader.ReadPascalString(1));
            string      name       = reader.ReadString();
            string      type       = reader.ReadType();
            string      creator    = reader.ReadType();
            long        length     = reader.ReadInt64();
            IProperties properties = reader.ReadBoolean() == true ? new DescriptorStructure(reader) : null;

            bool isDocument = this.IsDocument(reader);
            LinkedDocumentReader           documentReader   = null;
            LinkedDocumnetFileHeaderReader fileHeaderReader = null;

            if (length > 0 && isDocument == true)
            {
                long position = reader.Position;
                documentReader   = new LinkedDocumentReader(reader, length);
                reader.Position  = position;
                fileHeaderReader = new LinkedDocumnetFileHeaderReader(reader, length);
            }

            value = new LinkedLayer(name, id, documentReader, fileHeaderReader);
        }
Beispiel #13
0
        public StructureDescriptor(PsdReader reader, bool hasVersion)
        {
            if (hasVersion == true)
            {
                this.version = reader.ReadInt32();
            }

            ClassName = reader.ReadString();
            ClassId   = reader.ReadKey();

            Items = new Properties();
            int count = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                string key    = reader.ReadKey();
                string osType = reader.ReadType();

                if (key == "EngineData")
                {
                    Items.Add(key.Trim(), new StructureEngineData(reader));
                }
                else
                {
                    StructureItem value = StructureReader.Read(osType, reader);
                    Items.Add(key.Trim(), value);
                }
            }
        }
        protected override void ReadValue(PsdReader reader, Object userData, out EmbeddedLayer value)
        {
            reader.ValidateSignature("liFE");

            Int32 version = reader.ReadInt32();

            Guid   id      = new Guid(reader.ReadPascalString(1));
            String name    = reader.ReadString();
            String type    = reader.ReadType();
            String creator = reader.ReadType();

            Int64       length      = reader.ReadInt64();
            IProperties properties  = reader.ReadBoolean() == true ? new DescriptorStructure(reader) : null;
            Uri         absoluteUri = this.ReadAboluteUri(reader);

            value = new EmbeddedLayer(id, reader.Resolver, absoluteUri);
        }
Beispiel #15
0
        protected override void ReadData(PsdReader reader, object userData)
        {
            reader.ValidateSignature("liFE");

            int version = reader.ReadInt32();

            Guid   id      = new Guid(reader.ReadPascalString(1));
            string name    = reader.ReadString();
            string type    = reader.ReadType();
            string creator = reader.ReadType();

            long        length      = reader.ReadInt64();
            IProperties properties  = reader.ReadBoolean() == true ? new StructureDescriptor(reader).Items : null;
            Uri         absoluteUri = this.ReadAboluteUri(reader);

            EmbeddedLayer = new EmbeddedLayer(id, reader.Resolver, absoluteUri);
        }
        protected override void ReadData(PsdReader reader, object userData)
        {
            int version = reader.ReadInt32();

            if (version == 6)
            {
                var    r1    = reader.ReadInt32();
                var    r2    = reader.ReadInt32();
                var    r3    = reader.ReadInt32();
                var    r4    = reader.ReadInt32();
                string text  = reader.ReadString();
                var    count = reader.ReadInt32();

                List <IProperties> slices = new List <IProperties>(count);

                for (int i = 0; i < count; i++)
                {
                    slices.Add(ReadSliceInfo(reader));
                }

                this.slices = slices.ToArray();
            }

            {
                var descriptor = new StructureDescriptor(reader) as IProperties;

                var items = descriptor["slices.Items[0]"] as object[];
                List <IProperties> slices = new List <IProperties>(items.Length);

                foreach (var item in items)
                {
                    slices.Add(ReadSliceInfo(item as IProperties));
                }

                this.slices = slices.ToArray();
            }
        }
        public StructureObjectArray(PsdReader reader)
        {
            int version = reader.ReadInt32();
            this.Add("Name", reader.ReadString());
            this.Add("ClassID", reader.ReadKey());

            int count = reader.ReadInt32();

            List<Properties> items = new List<Properties>();

            for (int i = 0; i < count; i++)
            {
                Properties props = new Properties();
                props.Add("Type1", reader.ReadKey());
                props.Add("EnumName", reader.ReadType());

                props.Add("Type2", PsdUtility.ToUnitType(reader.ReadType()));
                int d4 = reader.ReadInt32();
                props.Add("Values", reader.ReadDoubles(d4));

                items.Add(props);
            }
            this.Add("items", items.ToArray());
        }
        public StructureObjectArray(PsdReader reader)
        {
            int version = reader.ReadInt32();

            Name    = reader.ReadString();
            ClassId = reader.ReadKey();

            int count = reader.ReadInt32();

            Items = new List <ArrayResourceItem>();

            for (int i = 0; i < count; i++)
            {
                ArrayResourceItem props = new ArrayResourceItem();
                props.Type1    = reader.ReadKey();
                props.EnumName = reader.ReadType();

                props.Unit = PsdUtility.ToUnitType(reader.ReadType());
                int d4 = reader.ReadInt32();
                props.Values = reader.ReadDoubles(d4);

                Items.Add(props);
            }
        }
        private static Properties ReadSliceInfo(PsdReader reader)
        {
            Properties props = new Properties();

            props["ID"]      = reader.ReadInt32();
            props["GroupID"] = reader.ReadInt32();
            int origin = reader.ReadInt32();

            if (origin == 1)
            {
                int asso = reader.ReadInt32();
            }
            props["Name"] = reader.ReadString();
            int type = reader.ReadInt32();

            props["Left"]   = reader.ReadInt32();
            props["Top"]    = reader.ReadInt32();
            props["Right"]  = reader.ReadInt32();
            props["Bottom"] = reader.ReadInt32();

            props["Url"]     = reader.ReadString();
            props["Target"]  = reader.ReadString();
            props["Message"] = reader.ReadString();
            props["AltTag"]  = reader.ReadString();

            bool b = reader.ReadBoolean();

            string cellText = reader.ReadString();

            props["HorzAlign"] = reader.ReadInt32();
            props["VertAlign"] = reader.ReadInt32();

            props["Alpha"] = reader.ReadByte();
            props["Red"]   = reader.ReadByte();
            props["Green"] = reader.ReadByte();
            props["Blue"]  = reader.ReadByte();

            return(props);
        }
 public StructureOffset(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("Offset", reader.ReadInt32());
 }
 public StructureString(PsdReader reader)
 {
     Value = reader.ReadString();
 }
 public StructureProperty(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("KeyID", reader.ReadKey());
 }
        public static object Read(string ostype, PsdReader reader)
        {
            switch (ostype)
            {
                case "obj ":
                    return new StructureReference(reader);

                case "Objc":
                    return new DescriptorStructure(reader, false);

                case "VlLs":
                    return new StructureList(reader);

                case "doub":
                    return reader.ReadDouble();

                case "UntF":
                    return new StructureUnitFloat(reader);

                case "TEXT":
                    return reader.ReadString();

                case "enum":
                    return new StructureEnumerate(reader);

                case "long":
                    return reader.ReadInt32();

                case "bool":
                    return reader.ReadBoolean();

                case "GlbO":
                    return new DescriptorStructure(reader, false);

                case "type":
                    return new StructureClass(reader);

                case "GlbC":
                    return new StructureClass(reader);

                case "alis":
                    return new StructureAlias(reader);

                case "tdta":
                    return new StructureUnknownOSType("Cannot read RawData");

                case "prop":
                    return new StructureProperty(reader);

                case "Clss":
                    return new StructureClass(reader);

                case "Enmr":
                    return new StructureEnumerate(reader);

                case "rele":
                    return new StructureOffset(reader);

                case "Idnt":
                    return new StructureUnknownOSType("Cannot read Identifier");

                case "indx":
                    return new StructureUnknownOSType("Cannot read Index");

                case "name":
                    return new StructureUnknownOSType("Cannot read Name");

                case "ObAr":
                    return new StructureObjectArray(reader);

            }
            throw new NotSupportedException(ostype);
        }
Beispiel #24
0
 public StructureProperty(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("KeyID", reader.ReadKey());
 }
 public StructureProperty(PsdReader reader)
 {
     Name    = reader.ReadString();
     ClassId = reader.ReadKey();
     KeyId   = reader.ReadKey();
 }
Beispiel #26
0
 public StructureOffset(PsdReader reader)
 {
     this.Add("Name", reader.ReadString());
     this.Add("ClassID", reader.ReadKey());
     this.Add("Offset", reader.ReadInt32());
 }
        private static Properties ReadSliceInfo(PsdReader reader)
        {
            Properties props = new Properties();
            props["ID"] = reader.ReadInt32();
            props["GroupID"] = reader.ReadInt32();
            int origin = reader.ReadInt32();
            if (origin == 1)
            {
                int asso = reader.ReadInt32();
            }
            props["Name"] = reader.ReadString();
            int type = reader.ReadInt32();

            props["Left"] = reader.ReadInt32();
            props["Top"] = reader.ReadInt32();
            props["Right"] = reader.ReadInt32();
            props["Bottom"] = reader.ReadInt32();

            props["Url"] = reader.ReadString();
            props["Target"] = reader.ReadString();
            props["Message"] = reader.ReadString();
            props["AltTag"] = reader.ReadString();

            bool b = reader.ReadBoolean();

            string cellText = reader.ReadString();

            props["HorzAlign"] = reader.ReadInt32();
            props["VertAlign"] = reader.ReadInt32();

            props["Alpha"] = reader.ReadByte();
            props["Red"] = reader.ReadByte();
            props["Green"] = reader.ReadByte();
            props["Blue"] = reader.ReadByte();

            return props;
        }
Beispiel #28
0
 protected override void ReadValue(PsdReader reader, object userData, out IProperties value)
 {
     Properties props = new Properties();
     props["Name"] = reader.ReadString();
     value = props;
 }
Beispiel #29
0
 protected override void ReadData(PsdReader reader, object userData)
 {
     Name = reader.ReadString();
 }
Beispiel #30
0
 public StructureClass(PsdReader reader)
 {
     Name    = reader.ReadString();
     ClassId = reader.ReadKey();
 }
Beispiel #31
0
        public static object Read(string ostype, PsdReader reader)
        {
            switch (ostype)
            {
            case "obj ":
                return(new StructureReference(reader));

            case "Objc":
                return(new DescriptorStructure(reader, false));

            case "VlLs":
                return(new StructureList(reader));

            case "doub":
                return(reader.ReadDouble());

            case "UntF":
                return(new StructureUnitFloat(reader));

            case "TEXT":
                return(reader.ReadString());

            case "enum":
                return(new StructureEnumerate(reader));

            case "long":
                return(reader.ReadInt32());

            case "bool":
                return(reader.ReadBoolean());

            case "GlbO":
                return(new DescriptorStructure(reader, false));

            case "type":
                return(new StructureClass(reader));

            case "GlbC":
                return(new StructureClass(reader));

            case "alis":
                return(new StructureAlias(reader));

            case "tdta":
                return(new StructureUnknownOSType("Cannot read RawData"));

            case "prop":
                return(new StructureProperty(reader));

            case "Clss":
                return(new StructureClass(reader));

            case "Enmr":
                return(new StructureEnumerate(reader));

            case "rele":
                return(new StructureOffset(reader));

            case "Idnt":
                return(new StructureUnknownOSType("Cannot read Identifier"));

            case "indx":
                return(new StructureUnknownOSType("Cannot read Index"));

            case "name":
                return(new StructureUnknownOSType("Cannot read Name"));

            case "ObAr":
                return(new StructureObjectArray(reader));
            }
            throw new NotSupportedException(ostype);
        }
Beispiel #32
0
 public StructureOffset(PsdReader reader)
 {
     Name    = reader.ReadString();
     ClassId = reader.ReadKey();
     Offset  = reader.ReadInt32();
 }