Table of Contents

Namespace PaintDotNet.FileTypes

Classes

FileType

The base class for FileType plugins. To implement a FileType plugin, create a new class that derives from this class. Also make sure that in your assembly you have a class that implements IFileTypeFactory with a parameterless constructor.

FileTypeBitmapSinkExtensions
FileTypeDocumentFactory1Extensions
FileTypeExifMetadataTransactionExtensions
FileTypeInfoExtensions
FileTypeInfoOptionsCommon1Extensions
FileTypeLoader

The base class for IFileTypeLoaders. These are created by a PaintDotNet.FileTypes.FileTypeLoader.FileType that supports loading, and are returned from their OnCreateLoader() implementation.

FileTypeMetadataExtensions
FileTypeOptions

Contains options and configuration settings for a FileType implementation. Instances of this class are created by FileType plugins and passed to the base constructor. This information is then available through the Info property.

FileTypeOptions1

The base class for FileTypeOptions. This base class exists for versioning purposes and should generally not be used directly.

FileTypePropertyBagEnumExtensions
FileTypePropertyBagExtensions
FileTypeSaveOptions

The base class for IFileTypeSaveOptions implementations. These are created by FileTypes that support configurable saving, and are returned by their OnCreateDefaultSaveOptions() implementation.

FileTypeSaveOptionsControl

The base class for IFileTypeSaveOptionsControl implementations. These must be provided by FileTypes that support configurable saving. Most FileType plugins will be PropertyBasedFileTypes and will not need to implement this class.

FileTypeSaveOptionsControl<TSaveOptions>

This convenience class derives from FileTypeSaveOptionsControl and specializes the Options property to be of type TSaveOptions.

FileTypeSaver

The base class for IFileTypeSavers. These are created by a PaintDotNet.FileTypes.FileTypeSaver.FileType that supports saving, and are returned from their OnCreateSaver() implementation.

FileTypesObjectRefExtensions
FileTypesService1Extensions
PropertyBasedFileType

The base class for a FileType that makes use of IndirectUI.

PropertyBasedFileTypeLoader

The base class for a PropertyBasedFileType's loader.

PropertyBasedFileTypeSaver

The base class for a PropertyBasedFileType's saver.

ReadOnlyFileTypeDocumentExtensions
ReadOnlyFileTypeExifMetadataExtensions
ReadOnlyFileTypeIptcMetadataExtensions
ReadOnlyFileTypeMetadataExtensions
ReadOnlyFileTypePropertyBagEnumExtensions
ReadOnlyFileTypePropertyBagExtensions

Interfaces

ICreateSaveOptionsForDocumentContext

Provides the context for an OnCreateSaveOptionsForDocument(ICreateSaveOptionsForDocumentContext) operation.

ICreateSaveOptionsForDocumentContext1

The base interface for ICreateSaveOptionsForDocumentContext. This interface exists for versioning purposes and should generally not be referenced directly.

ICreateSavePropertiesForDocumentContext

Provides the context for a OnCreateSavePropertiesForDocument(ICreateSavePropertiesForDocumentContext) operation.

ICreateSavePropertiesForDocumentContext1

The base interface for ICreateSavePropertiesForDocumentContext. This interface exists for versioning purposes and should generally not be referenced directly.

IFileType

Represents a FileType that provides loading and saving capabilities for a specific image format.

IFileTypeBitmapLayer

Represents a mutable bitmap layer within an IFileTypeDocument.

IFileTypeBitmapLayer<TPixel>

Represents a mutable bitmap layer within an IFileTypeDocument.

IFileTypeBitmapLock

Provides direct access to the bitmap data for a IFileTypeBitmapSource or IFileTypeBitmapSink.

IFileTypeBitmapLock<TPixel>

Provides direct access to the bitmap data for a IFileTypeBitmapSource or IFileTypeBitmapSink.

IFileTypeBitmapSink

Provides the ability to write pixel data into a bitmap used within an IFileTypeDocument, such as for an IFileTypeBitmapLayer.

IFileTypeBitmapSink<TPixel>

Provides the ability to write pixel data into a bitmap used within an IFileTypeDocument, such as for an IFileTypeBitmapLayer.

IFileTypeBitmapSource

Represents a bitmap source provided by an object within an IFileTypeDocument.

IFileTypeBitmapSource<TPixel>

Represents a bitmap source provided by an object within an IFileTypeDocument.

IFileTypeCompositeBitmap

Provides a bitmap source that renders the flattened (composite) image of a document, including all visible layers with their relevant properties taken into account.

IFileTypeCompositeBitmap<TPixel>

Provides a bitmap source that renders the flattened (composite) image of a document, including all visible layers with their relevant properties taken into account.

IFileTypeCustomMetadata

Provides read/write access to custom metadata.

IFileTypeCustomMetadataTransaction

Represents a transaction for making atomic changes to the metadata stored within an IFileTypeCustomMetadata.

IFileTypeDocument

Represents a mutable document (image) that consists of metadata and layers.

IFileTypeDocumentFactory

Provides methods and properties used for creating IFileTypeDocument instances and other related objects.

IFileTypeDocumentFactory1

The base interface for IFileTypeDocumentFactory. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeDocumentMetadata

Provides mutable access to metadata for a IFileTypeDocument.

IFileTypeDocument<TPixel>

Represents a mutable document (image) that consists of metadata and layers.

IFileTypeExifMetadata

Provides read/write access to EXIF metadata.

IFileTypeExifMetadataTransaction

Represents a transaction for making atomic changes to the EXIF metadata stored within an IFileTypeExifMetadata.

IFileTypeFactory

Implemented by a plugin containing FileType plugins. The assembly (DLL) must have a class that implements this interface in order to provide FileTypes to the plugin system. The class must have a public parameterless constructor.

IFileTypeHdrMetadata

Provides read/write access to HDR metadata.

IFileTypeHdrMetadataTransaction

Represents a transaction for making atomic changes to HDR metadata within an IFileTypeDocument.

IFileTypeHost

An interface that is passed to the CreateFileTypes(IFileTypeHost) method which provides context and services from the host.

IFileTypeHost1

The base interface for IFileTypeHost. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeInfo

Provides information and metadata about an IFileType, including its capabilities and file extensions, and the ability to create instances of it.

IFileTypeInfo1

The base interface for IFileTypeInfo. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeInfoOptionsCommon

Defines common members shared between IFileTypeInfo and IFileTypeOptions. Properties that are set on a FileTypeOptions during a FileType's constructor will be available via its Info property and via the IFileTypesService.

IFileTypeInfoOptionsCommon1

The base interface for IFileTypeInfoOptionsCommon. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeIptcMetadata

Provides read/write access to IPTC metadata.

IFileTypeIptcMetadataTransaction

Represents a transaction for making atomic changes to the IPTC metadata stored within an IFileTypeIptcMetadata.

IFileTypeLayer

Represents a mutable layer within a file type document.

IFileTypeLayerList

Represents a mutable list of layers within an IFileTypeDocument.

IFileTypeLayerList<TPixel>

Represents a mutable list of layers within an IFileTypeDocument.

IFileTypeLayerMetadata

Provides mutable access to metadata for a IFileTypeLayer.

IFileTypeLayer<TPixel>

Represents a mutable layer within a file type document.

IFileTypeLoadContext

Provides the context for a load operation performed by an IFileTypeLoader.

IFileTypeLoadContext1

The base interface for IFileTypeLoadContext. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeLoader

Represents an object that can load an image from a Stream into an IFileTypeDocument.

IFileTypeMetadata

Provides mutable access to metadata.

IFileTypeMetadataSection

Represents a mutable section of metadata within an IFileTypeMetadata.

IFileTypeMetadataSectionTransaction

Represents a transaction for making atomic changes to an IFileTypeMetadataSection. This is the base interface for the section-specific transaction interfaces, e.g. IFileTypeExifMetadataTransaction.

IFileTypeOptions

Represents options and configuration settings for a FileType implementation. For more information, see FileTypeOptions.

IFileTypeOptions1

The base interface for IFileTypeOptions. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypePropertyBag

A mutable key/value property bag, used by IFileTypeSaveOptions and IFileTypeCustomMetadata.

IFileTypeSaveContext

Provides the context for a save operation performed by an IFileTypeSaver.

IFileTypeSaveContext1

The base interface for IFileTypeSaveContext. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeSaveOptions

Represents the options used when saving with a FileTypeSaver. This interface is implemented by creating a class that derives from FileTypeSaveOptions, which is then returned by OnCreateDefaultSaveOptions(). The FileType must have also provided a FileTypeOptions to its base constructor with IsSavingConfigurable set to true.

IFileTypeSaveOptionsControl

This interface is implemented by FileTypeSaveOptionsControl, which is used to implement a custom Save Options UI for a FileType. The control is then returned by OnCreateSaveOptionsControl(). The FileType must have also provided a FileTypeOptions to its base constructor with IsSavingConfigurable set to true.

IFileTypeSaver

Represents an object that can save an IReadOnlyFileTypeDocument to a Stream.

IFileTypeServiceProvider

Provides access to services for FileType plugins. These services include IImagingFactory, IDirect2DFactory, IDirectWriteFactory, IClipboardService, and IShellService, among others.

IFileTypeServiceProvider1

The base interface for IFileTypeServiceProvider. This interface exists for versioning purposes and should generally not be referenced directly.

IFileTypeTransaction

Represents a transaction for making atomic changes.

IFileTypeXmpMetadata

Provides read/write access to XMP metadata.

IFileTypeXmpMetadataTransaction

Represents a transaction for making atomic changes to the XMP metadata stored within an IFileTypeXmpMetadata..

IFileTypesService

Provides a list of all available IFileTypes, along with their metadata and methods for creating instances of them.

IFileTypesService1

The base interface for IFileTypesService. This interface exists for versioning purposes and should generally not be referenced directly.

IJpegFileType

Provides access to the built-in JPEG file type.

IJpegFileTypeLoader

Provides the ability to load JPEG images using the built-in JPEG file type.

IJpegFileTypeSaveOptions

Defines the options available when saving a JPEG file with IJpegFileType.

IJpegFileTypeSaver

Provides the ability to save JPEG images using the built-in JPEG file type.

IPngFileType

Provides access to the built-in PNG file type.

IPngFileTypeLoader

Provides the ability to load PNG images using the built-in PNG file type.

IPngFileTypeSaveOptions

Defines the options available when saving a PNG file with IPngFileType.

IPngFileTypeSaver

Provides the ability to save PNG images using the built-in PNG file type.

IPropertyBasedFileTypeLoadContext

Provides the context for a load operation performed by a PropertyBasedFileTypeLoader.

IPropertyBasedFileTypeLoadContext1

The base interface for IPropertyBasedFileTypeLoadContext. This interface exists for versioning purposes and should generally not be referenced directly.

IPropertyBasedFileTypeSaveContext

Provides the context for a save operation performed by a PropertyBasedFileTypeSaver.

IPropertyBasedFileTypeSaveContext1

The base interface for IPropertyBasedFileTypeSaveContext. This interface exists for versioning purposes and should generally not be referenced directly.

IPropertyBasedFileTypeSaveOptions

Represents the options used when saving with a PropertyBasedFileTypeSaver.

IReadOnlyFileTypeBitmapLayer

Represents a read-only bitmap layer within a file type document.

IReadOnlyFileTypeBitmapLayer<TPixel>

Represents a read-only bitmap layer within a file type document.

IReadOnlyFileTypeCustomMetadata

Provides read-only access to custom metadata.

IReadOnlyFileTypeDocument

Represents a read-only document (image) that consists of metadata and layers.

IReadOnlyFileTypeDocumentMetadata

Provides read-only access to metadata for a IFileTypeDocument.

IReadOnlyFileTypeDocument<TPixel>

Represents a read-only document (image) that consists of metadata and layers.

IReadOnlyFileTypeExifMetadata

Provides read-only access to EXIF metadata.

IReadOnlyFileTypeHdrMetadata

Provides read-only access to HDR metadata.

IReadOnlyFileTypeIptcMetadata

Provides read-only access to IPTC metadata.

IReadOnlyFileTypeLayer

Represents a read-only layer within a file type document.

IReadOnlyFileTypeLayerList

Represents a read-only list of layers within a IFileTypeDocument.

IReadOnlyFileTypeLayerList<TPixel>

Represents a read-only list of layers within a IFileTypeDocument.

IReadOnlyFileTypeLayerMetadata

Provides read-only access to metadata for a IFileTypeLayer.

IReadOnlyFileTypeLayer<TPixel>

Represents a read-only layer within a file type document.

IReadOnlyFileTypeMetadata

Provides read-only access to metadata for a IFileTypeDocument or IFileTypeLayer.

IReadOnlyFileTypeMetadataSection

Represents a read-only section of metadata within an IReadOnlyFileTypeMetadata.

IReadOnlyFileTypePropertyBag

A read-only key/value property bag, used by IFileTypeSaveOptions and IFileTypeCustomMetadata.

IReadOnlyFileTypeXmpMetadata

Provides read-only access to XMP metadata.

Enums

FileTypeMetadataSectionKind

Identifies which kind of metadata an IReadOnlyFileTypeMetadataSection holds.

PngPixelFormat