C# Класс TagLib.IFD.IFDRenderer

This class contains all the IFD rendering code.
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
IFDRenderer ( bool is_bigendian, IFDStructure structure, uint ifd_offset ) : System

Constructor. Will render the given IFD structure.

Render ( ) : ByteVector

Renders the current instance to a ByteVector.

Защищенные методы

Метод Описание
CreateSubRenderer ( bool is_bigendian, IFDStructure structure, uint ifd_offset ) : IFDRenderer

Constructs a new IFD Renderer used to render a SubIFDEntry.

RenderEntry ( ByteVector entry_data, ushort tag, ushort type, uint count, uint offset ) : void

Adds the data of a single entry to entry_data.

RenderEntryData ( IFDEntry entry, ByteVector entry_data, ByteVector offset_data, uint data_offset ) : void

Renders a complete entry together with the data. The entry itself is stored in entry_data and the data of the entry is stored in offset_data if it cannot be stored in the offset. This method is called for every of this IFD and can be overwritten in subclasses to provide special behavior.

Приватные методы

Метод Описание
RenderIFD ( IFDDirectory directory, uint ifd_offset, bool last ) : ByteVector

Renders the IFD to an ByteVector where the offset of the IFD itself is ifd_offset and all offsets contained in the IFD are adjusted accroding it.

Описание методов

CreateSubRenderer() защищенный Метод

Constructs a new IFD Renderer used to render a SubIFDEntry.
protected CreateSubRenderer ( bool is_bigendian, IFDStructure structure, uint ifd_offset ) : IFDRenderer
is_bigendian bool /// If IFD should be encoded in BigEndian or not. ///
structure IFDStructure /// The IFD structure that will be rendered. ///
ifd_offset uint /// A value with the offset of the /// current IFD. All offsets inside the IFD must be adjusted /// according to this given offset. ///
Результат IFDRenderer

IFDRenderer() публичный Метод

Constructor. Will render the given IFD structure.
public IFDRenderer ( bool is_bigendian, IFDStructure structure, uint ifd_offset ) : System
is_bigendian bool /// If IFD should be encoded in BigEndian or not. ///
structure IFDStructure /// The IFD structure that will be rendered. ///
ifd_offset uint /// A value with the offset of the /// current IFD. All offsets inside the IFD must be adjusted /// according to this given offset. ///
Результат System

Render() публичный Метод

Renders the current instance to a ByteVector.
public Render ( ) : ByteVector
Результат ByteVector

RenderEntry() защищенный Метод

Adds the data of a single entry to entry_data.
protected RenderEntry ( ByteVector entry_data, ushort tag, ushort type, uint count, uint offset ) : void
entry_data ByteVector /// A to add the entry to. ///
tag ushort /// A with the tag of the entry. ///
type ushort /// A with the type of the entry. ///
count uint /// A with the data count of the entry, ///
offset uint /// A with the offset field of the entry. ///
Результат void

RenderEntryData() защищенный Метод

Renders a complete entry together with the data. The entry itself is stored in entry_data and the data of the entry is stored in offset_data if it cannot be stored in the offset. This method is called for every of this IFD and can be overwritten in subclasses to provide special behavior.
protected RenderEntryData ( IFDEntry entry, ByteVector entry_data, ByteVector offset_data, uint data_offset ) : void
entry IFDEntry /// A with the entry to render. ///
entry_data ByteVector /// A to add the entry to. ///
offset_data ByteVector /// A to add the entry data to if it cannot be /// stored in the offset field. ///
data_offset uint /// A with the offset, were the data of the /// entries starts. It is needed to adjust the offsets of the entries /// itself. ///
Результат void