internal void Write(EndianBinaryWriter writer)
        {
            TransferMode.Write(writer);

            if (writer.AddressSpace == AddressSpace.Int64)
            {
                writer.WriteNulls(4);
            }

            AnchorX.Write(writer);
            AnchorY.Write(writer);
            PositionX.Write(writer);
            PositionY.Write(writer);
            Rotation.Write(writer);
            ScaleX.Write(writer);
            ScaleY.Write(writer);
            Opacity.Write(writer);

            writer.ScheduleWriteOffsetIf(Video3D != null, 8, AlignmentMode.Left, () =>
            {
                Video3D.Write(writer);
            });
        }
        internal void Read(EndianBinaryReader reader)
        {
            TransferMode.Read(reader);

            if (reader.AddressSpace == AddressSpace.Int64)
            {
                reader.SeekCurrent(4);
            }

            AnchorX.Read(reader);
            AnchorY.Read(reader);
            PositionX.Read(reader);
            PositionY.Read(reader);
            Rotation.Read(reader);
            ScaleX.Read(reader);
            ScaleY.Read(reader);
            Opacity.Read(reader);

            reader.ReadOffset(() =>
            {
                Video3D = new LayerVideo3D();
                Video3D.Read(reader);
            });
        }