Beispiel #1
0
        public static void Write(this CacheWriter f, ImageFile e)
        {
            UxlImageFileFlags flags = 0;

            if (e.Condition != null)
            {
                flags |= UxlImageFileFlags.HasCondition;
            }
            if (e.TargetName != null)
            {
                flags |= UxlImageFileFlags.HasTargetName;
            }
            if (e.TargetWidth != null)
            {
                flags |= UxlImageFileFlags.HasTargetWidth;
            }
            if (e.TargetHeight != null)
            {
                flags |= UxlImageFileFlags.HasTargetHeight;
            }

            f.Write((byte)flags);
            f.WriteGlobal(e.SourceName);

            if (flags.HasFlag(UxlImageFileFlags.HasCondition))
            {
                f.WriteGlobal(e.Condition.Value);
            }
            if (flags.HasFlag(UxlImageFileFlags.HasTargetName))
            {
                f.WriteGlobal(e.TargetName.Value);
            }
            if (flags.HasFlag(UxlImageFileFlags.HasTargetWidth))
            {
                f.WriteCompressed(e.TargetWidth.Value);
            }
            if (flags.HasFlag(UxlImageFileFlags.HasTargetHeight))
            {
                f.WriteCompressed(e.TargetHeight.Value);
            }
        }