<?xml version="1.0"?>
<doc>
    <assembly>
        <name>PaintDotNet.Data</name>
    </assembly>
    <members>
        <member name="M:PaintDotNet.BitmapLayer.#ctor(PaintDotNet.Surface)">
            <summary>
            Creates a new BitmapLayer of the same size as the given Surface, and copies the 
            pixels from the given Surface.
            </summary>
            <param name="surface">The Surface to copy pixels from.</param>
        </member>
        <member name="M:PaintDotNet.BitmapLayer.#ctor(PaintDotNet.Surface,System.Boolean)">
            <summary>
            Creates a new BitmapLayer of the same size as the given Surface, and either
            copies the pixels of the given Surface or takes ownership of it.
            </summary>
            <param name="surface">The Surface.</param>
            <param name="takeOwnership">
            true to take ownership of the surface (make sure NOT to Dispose() it yourself), or
            false to copy its pixels
            </param>
        </member>
        <member name="P:PaintDotNet.Document.DpuUnit">
            <summary>
            Gets or sets the units that are used for measuring the document's physical (printed) size.
            </summary>
            <remarks>
            If this property is set to MeasurementUnit.Pixel, then Dpu will be reset to 1. 
            If this property has not been set in the image's metadata, its default value 
            will be MeasurementUnit.Inch.
            If the EXIF data for the image is invalid (such as "ResolutionUnit = 0" or something),
            then the default DpuUnit will be returned.
            </remarks>
        </member>
        <member name="M:PaintDotNet.Document.InitializeDpu">
            <summary>
            Ensures that the document's DpuX, DpuY, and DpuUnits properties are set.
            If they are not already set, they are initialized to their default values (96, 96 , inches).
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.DpuX">
            <summary>
            Gets or sets the Document's dots-per-unit scale in the X direction.
            </summary>
            <remarks>
            If DpuUnit is equal to MeasurementUnit.Pixel, then this property may not be set
            to any value other than 1.0. Setting DpuUnit to MeasurementUnit.Pixel will reset
            this property to 1.0. This property may only be set to a value greater than 0.
            One dot is always equal to one pixel. This property will not return a value less
            than MinimumDpu, nor a value larger than MaximumDpu.
            </remarks>
        </member>
        <member name="P:PaintDotNet.Document.DpuY">
            <summary>
            Gets or sets the Document's dots-per-unit scale in the Y direction.
            </summary>
            <remarks>
            If DpuUnit is equal to MeasurementUnit.Pixel, then this property may not be set
            to any value other than 1.0. Setting DpuUnit to MeasurementUnit.Pixel will reset
            this property to 1.0. This property may only be set to a value greater than 0.
            One dot is always equal to one pixel. This property will not return a value less
            than MinimumDpu, nor a value larger than MaximumDpu.
            </remarks>
        </member>
        <member name="P:PaintDotNet.Document.PhysicalWidth">
            <summary>
            Gets the Document's measured physical width based on the DpuUnit and DpuX properties.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.PhysicalHeight">
            <summary>
            Gets the Document's measured physical height based on the DpuUnit and DpuY properties.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.SavedWithVersion">
            <summary>
            Reports the version of paint.net that this file was saved with.
            This is reset when SaveToStream is used. This can be used to
            determine file format compatibility if necessary.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.Dirty">
            <summary>
            Keeps track of whether the document has changed at all since it was last opened
            or saved. This is something that is not reset to true by any method in the Document
            class, but is set to false anytime anything is changed.
            This way we can prompt the user to save a changed document when they go to quit.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.Layers">
            <summary>
            Exposes a collection for access to the layers, and for manipulation of
            the way the document contains the layers (add/remove/move).
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.Width">
            <summary>
            Width of the document, in pixels. All contained layers must be this wide as well.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.Height">
            <summary>
            Height of the document, in pixels. All contained layers must be this tall as well.
            </summary>
        </member>
        <member name="P:PaintDotNet.Document.Size">
            <summary>
            The size of the document, in pixels. This is a convenience property that wraps up
            the Width and Height properties in one Size structure.
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructs a blank document (zero layers) of the given width and height.
            </summary>
            <param name="width"></param>
            <param name="height"></param>
        </member>
        <member name="M:PaintDotNet.Document.SetupEvents">
            <summary>
            Sets up event handling for contained objects.
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.System#Runtime#Serialization#IDeserializationCallback#OnDeserialization(System.Object)">
            <summary>
            Called after deserialization occurs so that certain things that are non-serializable
            can be set up.
            </summary>
            <param name="sender"></param>
        </member>
        <member name="E:PaintDotNet.Document.RendererInvalidated">
            <summary>
            This is raised when any active renderer is no longer valid, due to structural or other changes
            within the document or layers.
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.OnInvalidated(PaintDotNet.Rendering.RectInt32)">
            <summary>
            Raises the Invalidated event.
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.LayerListChangingHandler(System.Object,System.EventArgs)">
            <summary>
            Handles the Changing event that is raised from the contained LayerList.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:PaintDotNet.Document.LayerListChangedHandler(System.Object,System.EventArgs)">
            <summary>
            Handles the Changed event that is raised from the contained LayerList.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:PaintDotNet.Document.Invalidate">
            <summary>
            Causes the whole document to be invalidated, forcing a full rerender on
            the next call to Update.
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.Invalidate(System.Drawing.Rectangle)">
            <summary>
            Invalidates a portion of the document. The given region is then tagged
            for rerendering during the next call to Update.
            </summary>
            <param name="roi">The region of interest to be invalidated.</param>
        </member>
        <member name="M:PaintDotNet.Document.FromImage(System.Drawing.Image)">
            <summary>
            Calls FromGdipImage(image, false).
            </summary>
        </member>
        <member name="M:PaintDotNet.Document.FromGdipImage(System.Drawing.Image,System.Boolean)">
            <summary>
            Creates a document that consists of one BitmapLayer.
            </summary>
            <param name="detectDishonestAlpha">
            See the documentation for the same paramter to Surface.CopyFromBitmap().
            </param>
            <param name="image">The Image to make a copy of that will be the first layer ("Background") in the document.</param>
        </member>
        <member name="M:PaintDotNet.Document.FromStream(System.IO.Stream)">
            <summary>
            Deserializes a Document from a stream.
            </summary>
            <param name="stream">The stream to deserialize from. This stream must be seekable.</param>
            <returns>The Document that was stored in stream.</returns>
            <remarks>
            This is the only supported way to deserialize a Document instance from disk.
            </remarks>
        </member>
        <member name="M:PaintDotNet.Document.SaveToStream(System.IO.Stream)">
            <summary>
            Saves the Document to the given Stream with only the default headers and no
            IO completion callback.
            </summary>
            <param name="stream">The Stream to serialize the Document to.</param>
        </member>
        <member name="M:PaintDotNet.Document.SaveToStream(System.IO.Stream,PaintDotNet.IO.IOEventHandler)">
            <summary>
            Saves the Document to the given Stream with the default and given headers, and
            using the given IO completion callback.
            </summary>
            <param name="output">The Stream to serialize the Document to.</param>
            <param name="callback">
            This can be used to keep track of the number of uncompressed bytes that are written. The 
            values reported through the IOEventArgs.Count+Offset will vary from 1 to approximately 
            Layers.Count*Width*Height*sizeof(ColorBgra). The final number will actually be higher 
            because of hierarchical overhead, so make sure to cap any progress reports to 100%. This
            callback will be wired to the IOFinished event of a SiphonStream. Events may be raised
            from any thread. May be null.
            </param>
        </member>
        <member name="M:PaintDotNet.Document.Flatten">
            <summary>
            Returns a new Document that is a flattened version of this one
            "Flattened" means it is one layer that is simply a bitmap of
            the compositied image.
            </summary>
            <returns></returns>
        </member>
        <member name="P:PaintDotNet.DocumentRendererInvalidatedEventArgs.InvalidatedLayer">
            <summary>
            If Reason is LayerRendererInvalidated, this will be the Layer whose renderer was invalidated.
            </summary>
        </member>
        <member name="T:PaintDotNet.FileType">
            <summary>
            Represents one type of file that PaintDotNet can load or save.
            </summary>
        </member>
        <member name="P:PaintDotNet.FileType.Name">
            <summary>
            Returns the friendly name of the file type, such as "Bitmap" or "JPEG".
            </summary>
        </member>
        <member name="M:PaintDotNet.FileType.Quantize(PaintDotNet.Surface,System.Int32,System.Int32,System.Boolean,PaintDotNet.ProgressEventHandler)">
            <summary>
            Takes a Surface and quantizes it down to an 8-bit bitmap.
            </summary>
            <param name="quantizeMe">The Surface to quantize.</param>
            <param name="ditherLevel">How strong should dithering be applied. 0 for no dithering, 8 for full dithering. 7 is generally a good default to use, because 8 is a lot slower and can look bad in some scenarios (but sometimes a lot better).</param>
            <param name="maxColors">The maximum number of colors to use. This may range from 2 to 256.</param>
            <param name="enableTransparency">If true, then one color slot will be reserved for transparency. Any color with an alpha value less than 255 will be transparent in the output.</param>
            <param name="progressCallback">The progress callback delegate.</param>
            <returns>An 8-bit Bitmap that is the same size as quantizeMe.</returns>
        </member>
        <member name="M:PaintDotNet.FileType.OldOnSaveTrampoline(PaintDotNet.Document,System.IO.Stream,PaintDotNet.SaveConfigToken,PaintDotNet.ProgressEventHandler)">
            <summary>
            Because the old OnSave() method is obsolete, we must use reflection to call it.
            This is important for legacy FileType plugins. It allows us to ensure that no
            new plugins can be compiled using the old OnSave() overload.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileType.IsReflexiveInternal(PaintDotNet.SaveConfigToken)">
            <summary>
            Determines if saving with a given SaveConfigToken would alter the image
            in any way. Put another way, if the document is saved with these settings
            and then immediately loaded, would it have exactly the same pixel values?
            Any lossy codec should return 'false'.
            This value is used to optimizing preview rendering memory usage, and as such
            flattening should not be taken in to consideration. For example, the codec
            for PNG returns true, even though it flattens the image.
            </summary>
            <param name="token">The SaveConfigToken to determine reflexiveness for.</param>
            <returns>true if the save would be reflexive, false if not</returns>
            <remarks>If the SaveConfigToken is for another FileType, the result is undefined.</remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SupportsConfiguration">
            <summary>
            Gets a flag indicating whether or not the file type supports configuration
            via a SaveConfigToken and SaveConfigWidget.
            </summary>
            <remarks>
            Implementers of FileType derived classes don't need to do anything special
            for this property to be accurate. If your FileType implements
            CreateDefaultSaveConfigToken, this will correctly return true.
            </remarks>
        </member>
        <member name="M:PaintDotNet.FileType.OnCreateDefaultSaveConfigToken">
            <summary>
            Creates a SaveConfigToken for this FileType with the default values.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileType.GetOpenDialogFilterText">
            <summary>
            Returns a string that can be used for populating an OpenFileDialog's Filter property.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileType.GetSaveDialogFilterText">
            <summary>
            Returns a string that can be used for populating a SaveFileDialog's Filter property.
            </summary>
        </member>
        <member name="P:PaintDotNet.FileType.DefaultExtension">
            <summary>
            Gets the default extension for the FileType.
            </summary>
            <remarks>
            This is always the first extension that is supported
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SupportsLayers">
            <summary>
            Gets a flag indicating whether this FileType supports layers.
            </summary>
            <remarks>
            If a FileType is asked to save a Document that has more than one layer,
            it will flatten it before it saves it.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SupportsCustomHeaders">
            <summary>
            Gets a flag indicating whether this FileType supports custom headers.
            </summary>
            <remarks>
            If this returns false, then the Document's CustomHeaders will be discarded
            on saving.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SupportsSaving">
            <summary>
            Gets a flag indicating whether this FileType supports the Save() method.
            </summary>
            <remarks>
            If this property returns false, calling Save() will throw a NotSupportedException.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SupportsLoading">
            <summary>
            Gets a flag indicating whether this FileType supports the Load() method.
            </summary>
            <remarks>
            If this property returns false, calling Load() will throw a NotSupportedException.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileType.SavesWithProgress">
            <summary>
            Gets a flag indicating whether this FileType reports progress while saving.
            </summary>
            <remarks>
            If false, then the callback delegate passed to Save() will be ignored.
            </remarks>
        </member>
        <member name="M:PaintDotNet.FileTypeExtensions.LoadAsSurface(PaintDotNet.FileType,System.IO.Stream)">
            <summary>
            Loads a <see cref="T:PaintDotNet.Document"/> using the given <see cref="T:PaintDotNet.FileType"/> and returns a <see cref="T:PaintDotNet.Surface"/>
            with its flattened content.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypeExtensions.LoadAsBitmapBgra32(PaintDotNet.FileType,System.IO.Stream)">
            <summary>
            Loads a <see cref="T:PaintDotNet.Document"/> using the given <see cref="T:PaintDotNet.FileType"/> and returns an <see cref="T:PaintDotNet.Imaging.IBitmap"/>
            with its flattened content.
            </summary>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.SupportsLayers">
            <summary>
            Indicates whether the FileType supports layers. This affects whether the image is flattened before being sent
            to the FileType's Save() method.
            </summary>
            <remarks>
            The default value for this property is false.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.SupportsCancellation">
            <summary>
            If true, then the Stream and/or ProgressEventHandler may throw an OperationCanceledException so as to cancel
            the save/load operation. This is usually encountered when the user is changing options in the Save Configuration
            dialog.
            </summary>
            <remarks>
            The default value for this property is true.
            </remarks>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.LoadExtensions">
            <summary>
            Gets or sets the list of file extensions that the FileType can save.
            These should be prefixed with a dot, e.g. { ".xyz", ".ywx", ".wyx" }
            </summary>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.SupportsLoading">
            <summary>
            Gets a flag indicating whether the FileType can load files. This will be true
            if the LoadExtensions property is non-empty.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypeOptions.CanLoadExtension(System.String)">
            <summary>
            Gets a flag indicating whether the FileType can load a file with the given file extension.
            </summary>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.SaveExtensions">
            <summary>
            Gets or sets the list of file extensions that the FileType can save.
            These should be prefixed with a dot, e.g. { ".xyz", ".ywx", ".wyx" }
            </summary>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.SupportsSaving">
            <summary>
            Gets a flag indicating whether the FileType can save files. This will be true
            if the SaveExtensions property is non-empty.
            </summary>
        </member>
        <member name="P:PaintDotNet.FileTypeOptions.DefaultSaveExtension">
            <summary>
            Gets the default extension for saving files, which is the first extension in the
            SaveExtensions list, or null if the FileType does not support saving (the
            SupportsSaving property will be true).
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypeOptions.CanSaveExtension(System.String)">
            <summary>
            Gets a flag indicating whether the FileType can save a file with the given file extension.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypesServiceExtensions.LoadFileAsSurface(PaintDotNet.IFileTypesService,System.String)">
            <summary>
            Loads a <see cref="T:PaintDotNet.Document"/> and returns a <see cref="T:PaintDotNet.Surface"/> with its flattened content.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypesServiceExtensions.TryLoadFileAsSurface(PaintDotNet.IFileTypesService,System.String)">
            <summary>
            A wrapper around <see cref="M:PaintDotNet.FileTypesServiceExtensions.LoadFileAsSurface(PaintDotNet.IFileTypesService,System.String)"/> that returns null if an exception is thrown.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypesServiceExtensions.LoadFileAsBitmapBgra32(PaintDotNet.IFileTypesService,System.String)">
            <summary>
            Loads a <see cref="T:PaintDotNet.Document"/> and returns an <see cref="T:PaintDotNet.Imaging.IBitmap"/> with its flattened content.
            </summary>
        </member>
        <member name="M:PaintDotNet.FileTypesServiceExtensions.TryLoadFileAsBitmapBgra32(PaintDotNet.IFileTypesService,System.String)">
            <summary>
            A wrapper around <see cref="M:PaintDotNet.FileTypesServiceExtensions.LoadFileAsBitmapBgra32(PaintDotNet.IFileTypesService,System.String)"/> that returns null if an exception is thrown.
            </summary>
        </member>
        <member name="T:PaintDotNet.FileType`2">
            <summary>
            A strongly typed version of FileType.
            </summary>
        </member>
        <member name="P:PaintDotNet.IFileTypeInfo.AssemblyLocation">
            <summary>
            The path to the assembly that contains the plugin. Type.Assembly.Location should not be used,
            as it may be different or blank due to shimming.
            </summary>
        </member>
        <member name="F:PaintDotNet.Layer.suppressPropertyChanges">
            <summary>
            If this value is non-0, then the PropertyChanged event will be
            suppressed. This is in place so that the Layer Properties dialog
            can tweak the properties without them filling up the undo stack.
            </summary>
        </member>
        <member name="P:PaintDotNet.Layer.IsBackground">
            <summary>
            The background layer is generally opaque although it doesn't *have* to be. For
            example, the Canvas Size action distinguishes between background and non-background
            layers such that it fills the background layer with opaque and the non-background
            layers with transparency.
            The value of this property should not be used to disallow the user from performing
            an action.
            </summary>
        </member>
        <member name="T:PaintDotNet.Layer.LayerProperties">
            <summary>
            Encapsulates the mutable properties of the Layer class.
            </summary>
        </member>
        <member name="M:PaintDotNet.Layer.SaveProperties">
             <summary>
             Allows you to save the mutable properties of the layer so you can restore them later
             (esp. important for undo!). Mutable properties include the layer's name, whether it's
             visible, and the metadata. This list might expand later.
             </summary>
             <returns>
             An object that can be used later in a call to LoadProperties.
             </returns>
             <remarks>
             It is important that derived classes call this in the correct fashion so as to 'chain'
             the properties list together. The following is the correct pattern:
            
                 public override object SaveProperties()
                 {
                     object baseProperties = base.SaveProperties();
                     return new List(properties.Clone(), new List(baseProperties, null));
                 }
             </remarks>
        </member>
        <member name="E:PaintDotNet.Layer.PropertyChanging">
            <summary>
            This event is raised before a property is changed. The name given is the name
            of the property, and not text that should be shown in the UI. (In previous
            versions of paint.net, it was the display name.)
            However, this event should not be used for data binding, and only for
            communicating to the user what has happened. When this event is raised you
            should not actually make any assumptions about which property was changed.
            </summary>
        </member>
        <member name="E:PaintDotNet.Layer.PropertyChanged">
            <summary>
            This event is raised after a property is changed. The name given is the name
            of the property, and not text that should be shown in the UI. (In previous
            versions of paint.net, it was the display name.)
            However, this event should not be used for data binding, and only for
            communicating to the user what has happened. When this event is raised you
            should not actually make any assumptions about which property was changed.
            </summary>
        </member>
        <member name="E:PaintDotNet.Layer.RendererInvalidated">
            <summary>
            This is raised when any active renderer is no longer valid, due to changes to properties, e.g. BlendMode, Opacity, Visible.
            </summary>
            <remarks>
            The PropertyChanging/PropertyChanged events can be suppressed, which is important for eliding history items when using
            things like the Layer Properties dialog. However, this event cannot be suppressed.
            </remarks>
        </member>
        <member name="M:PaintDotNet.Layer.PerformPropertyChanged">
            <summary>
            You can call this to raise the PropertyChanged event. Note that is will
            raise the event with an empty string for the property name description.
            Thus it is useful only for syncing up UI elements that require notification
            of events but that otherwise don't really track it.
            </summary>
        </member>
        <member name="P:PaintDotNet.Layer.Name">
            <summary>
            A user-definable name.
            </summary>
        </member>
        <member name="P:PaintDotNet.Layer.Visible">
            <summary>
            Determines whether the layer is part of a document's composition. If this
            property is false, the composition engine will ignore this layer.
            </summary>
        </member>
        <member name="M:PaintDotNet.Layer.IsInBounds(System.Drawing.Rectangle)">
            <summary>
            Determines whether a rectangle is fully in bounds or not. This is determined by checking
            to make sure the left, top, right, and bottom edges are within bounds.
            </summary>
            <param name="roi"></param>
            <returns></returns>
        </member>
        <member name="M:PaintDotNet.Layer.Invalidate">
            <summary>
            Causes the entire layer surface to be invalidated.
            </summary>
        </member>
        <member name="M:PaintDotNet.Layer.Invalidate(System.Drawing.Rectangle)">
            <summary>
            Causes a portion of the layer surface to be invalidated.
            </summary>
            <param name="roi">The rectangle of interest to be invalidated.</param>
        </member>
        <member name="M:PaintDotNet.Layer.Invalidate(PaintDotNet.PdnRegion)">
            <summary>
            Causes a portion of the layer surface to be invalidated.
            </summary>
            <param name="roi">The region of interest to be invalidated.</param>
        </member>
        <member name="M:PaintDotNet.Layer.Render(PaintDotNet.RenderArgs,System.Drawing.Rectangle)">
            <summary>
            Causes the layer to render a given rectangle of interest (roi) to the given destination surface.
            </summary>
            <param name="args">Contains information about which objects to use for rendering</param>
            <param name="roi">The rectangular region to be rendered.</param>
        </member>
        <member name="T:PaintDotNet.LayerList">
            <summary>
            Basically an ArrayList, but lets the containing Document instance be
            notified when the list is modified so it can know that it needs to
            re-render itself.<br/>
            This implementation also enforces that any contained layer must be
            of the same dimensions as the document it is contained within.
            If you try to add a layer that is the wrong size, an exception will
            be thrown.
            </summary>
        </member>
        <member name="E:PaintDotNet.LayerListBase.Changing">
            <summary>
            Defines a generic "the collection is changing" event
            This is always followed with a more specific event (RemovedAt, for instance).
            </summary>
        </member>
        <member name="E:PaintDotNet.LayerListBase.Changed">
            <summary>
            Defines a generic "the collection's contents have changed" event
            This is always preceded by a more specific event.
            </summary>
        </member>
        <member name="F:PaintDotNet.LayerListBase.Cleared">
            <summary>
            This event is raised after the collection has been cleared out;
            thus, when you handle this event the collection is empty.
            </summary>
        </member>
        <member name="E:PaintDotNet.LayerListBase.Inserted">
            <summary>
            This event is raised when a new element is inserted into the collection.
            The new element is at the array index specified by the Index property
            of the IndexEventArgs.
            </summary>
        </member>
        <member name="E:PaintDotNet.LayerListBase.RemovingAt">
            <summary>
            This event is raised before an element is removed from the collection.
            The index specified by the Index property of the IndexEventArgs is where
            the element currently is.
            </summary>
        </member>
        <member name="E:PaintDotNet.LayerListBase.RemovedAt">
            <summary>
            This event is raised when an element is removed from the collection.
            The index specified by the Index property of the IndexEventArgs is where
            the element used to be.
            </summary>
        </member>
        <member name="T:PaintDotNet.Metadata">
            <summary>
            This class exposes two types of metadata: system, and user.
            It is provided mostly for batching operations: loading all the data, modifying the copy,
            and then saving back all the data.
            </summary>
        </member>
        <member name="F:PaintDotNet.Metadata.ExifSectionName">
            <summary>
            This is the name of the section where EXIF tags are stored. 
            </summary>
            <remarks>
            All entries in here are expected to be PropertyItem objects which were serialized 
            using PdnGraphics.SerializePropertyItem. The name of each entry in this section is
            irrelevant, as some EXIF tags are allowed to occur more than once. Thus, if you
            want to search for EXIF tags of a certain ID you will have to deserialize each
            one and compare the Id property.
            It is the responsibility of the FileType implementation to load and save these.
            </remarks>
        </member>
        <member name="F:PaintDotNet.Metadata.IptcSectionName">
            <summary>
            This is the name of the section where IPTC tags are stored. 
            </summary>
            <remarks>
            All entries in here are expected to be IptcPropertyItem objects which were serialized 
            using IptcPropertyItemSerializer.Serialize. The name of each entry in this section is
            irrelevant, as some files may have IPTC tags that occur more than once. Thus, if you
            want to search for IPTC tags of a certain ID you will have to deserialize each one and
            compare the Key property.<br/>
            The key may be either a friendly name or the IPTC record and dataset numbers stored as
            a big-endian UInt16 integer.<br/>
            WIC projects some of the properties it understands as a friendly name. For example,
            IPTC property 2:120 will be displayed as "Caption" instead of its integer value 632.<br/>
            If a property is set using both its friendly name and integer value the result is undefined.<br/>
            It is the responsibility of the FileType implementation to load and save these.
            </remarks>
        </member>
        <member name="F:PaintDotNet.Metadata.UserSectionName">
            <summary>
            This is the name of the section where user-defined metadata may go.
            </summary>
        </member>
        <member name="F:PaintDotNet.Metadata.XmpSectionName">
            <summary>
            This is the name of the section where XMP metadata packets go.
            </summary>
            <remarks>
            Note that while serialization format and private methods support multiple XMP packets, the public methods of this class only support 1 XMP packet.
            </remarks>
        </member>
        <member name="F:PaintDotNet.Metadata.SectionSeparator">
            <summary>
            This string is used to concatenate a section and a name in order to form a key.
            </summary>
        </member>
        <member name="M:PaintDotNet.Metadata.GetValue(System.String,System.String)">
            <summary>
            Gets a value from the metadata collection.
            </summary>
            <param name="section">The logical section to retrieve from.</param>
            <param name="name">The name of the value to retrieve.</param>
            <returns>A string containing the value, or null if the value wasn't present.</returns>
        </member>
        <member name="M:PaintDotNet.Metadata.RemoveValue(System.String,System.String)">
            <summary>
            Removes a value from the metadata collection.
            </summary>
            <param name="section">The logical section to remove from.</param>
            <param name="name">The name of the value to retrieve.</param>
        </member>
        <member name="M:PaintDotNet.Metadata.SetValue(System.String,System.String,System.String)">
            <summary>
            Sets a value in the metadata collection.
            </summary>
            <param name="section">The logical section to add or update date in.</param>
            <param name="name">The name of the value to set.</param>
            <param name="value">The value to set.</param>
        </member>
        <member name="M:PaintDotNet.Metadata.GetExifNameToSectionRegex">
            <remarks>
            Pattern explanation:<br/>
            <code>
            ○ Match a character in the set [Tt].<br/>
            ○ Match a character in the set [Aa].<br/>
            ○ Match a character in the set [Gg].<br/>
            ○ 1st capture group.<br/>
                ○ Match '0' through '9' atomically at least once.<br/>
            ○ Match '['.<br/>
            ○ 2nd capture group.<br/>
                ○ Match '0' through '9' atomically at least once.<br/>
            ○ Match ']'.<br/>
            </code>
            </remarks>
        </member>
        <member name="M:PaintDotNet.NoSaveConfigWidget.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:PaintDotNet.NoSaveConfigWidget.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:PaintDotNet.PropertyBasedFileType.ShouldSerializeTokenProperty(PaintDotNet.PropertySystem.Property)">
            <summary>
            This is called by GetSerializablePortionOfSaveConfigToken(). You may override this to exclude properties from serialization.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigToken.Clone">
            <summary>
            This should simply call "new myType(this)" ... do not call base class'
            implementation of Clone, as this is handled by the constructors.
            </summary>
        </member>
        <member name="F:PaintDotNet.SaveConfigWidget.components">
            <summary> 
            Required designer variable.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.InitFileType">
            <summary>
            This method must be overriden in derived classes.
            In this method you must initialize the protected fileType field.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.InitWidgetFromToken(PaintDotNet.SaveConfigToken)">
            <summary>
            This method must be overridden in derived classes.
            In this method you must take the values from the given EffectToken
            and use them to properly initialize the dialog's user interface elements.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.InitTokenFromWidget">
            <summary>
            This method must be overridden in derived classes.
            In this method you must take the values from the dialog box
            and use them to properly initialize theEffectToken.
            </summary>
        </member>
        <member name="M:PaintDotNet.SaveConfigWidget.OnLoad(System.EventArgs)">
            <summary>
            Overrides Form.OnLoad.
            </summary>
            <param name="e"></param>
            <remarks>
            Derived classes MUST call this base method if they override it!
            </remarks>
        </member>
        <member name="T:PaintDotNet.UserBlendOp">
            <summary>
            Abstract base class that all "user" blend ops derive from.
            These ops are available in the UI for a user to choose from
            in order to configure the blending properties of a Layer.
            See UserBlendOps.cs for guidelines on implementation.
            </summary>
        </member>
        <member name="T:PaintDotNet.UserBlendOps">
            <summary>
            This class contains all the render ops that can be used by the user
            to configure a layer's blending mode. It also contains helper
            functions to aid in enumerating and using these blend ops.
            Credit for mathematical descriptions of many of the blend modes goes to
            a page on Pegtop Software's website called, "Blend Modes"
            http://www.pegtop.net/delphi/articles/blendmodes/
            </summary>
        </member>
        <member name="M:PaintDotNet.UserBlendOps.GetBlendOps">
            <summary>
            Returns an array of Type objects that lists all of the pixel ops contained
            within this class. You can then use Utility.GetStaticName to retrieve the
            value of the StaticName property.
            </summary>
            <returns></returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0">
            <summary>Custom <see cref="T:System.Text.RegularExpressions.Regex"/>-derived type for the GetExifNameToSectionRegex method.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.Instance">
            <summary>Cached, thread-safe singleton instance.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.#ctor">
            <summary>Initializes the instance.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory">
            <summary>Provides a factory for creating <see cref="T:System.Text.RegularExpressions.RegexRunner"/> instances to be used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory.CreateInstance">
            <summary>Creates an instance of a <see cref="T:System.Text.RegularExpressions.RegexRunner"/> used by methods on <see cref="T:System.Text.RegularExpressions.Regex"/>.</summary>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory.Runner">
            <summary>Provides the runner that contains the custom logic implementing the specified regular expression.</summary>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory.Runner.Scan(System.ReadOnlySpan{System.Char})">
            <summary>Scan the <paramref name="inputSpan"/> starting from base.runtextstart for the next match.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory.Runner.TryFindNextPossibleStartingPosition(System.ReadOnlySpan{System.Char})">
            <summary>Search <paramref name="inputSpan"/> starting from base.runtextpos for the next location a match could possibly start.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if a possible match was found; false if no more matches are possible.</returns>
        </member>
        <member name="M:System.Text.RegularExpressions.Generated.GetExifNameToSectionRegex_0.RunnerFactory.Runner.TryMatchAtCurrentPosition(System.ReadOnlySpan{System.Char})">
            <summary>Determine whether <paramref name="inputSpan"/> at base.runtextpos is a match for the regular expression.</summary>
            <param name="inputSpan">The text being scanned by the regular expression.</param>
            <returns>true if the regular expression matches at the current position; otherwise, false.</returns>
        </member>
        <member name="T:System.Text.RegularExpressions.Generated.Utilities">
            <summary>Helper methods used by generated <see cref="T:System.Text.RegularExpressions.Regex"/>-derived implementations.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.Utilities.s_defaultTimeout">
            <summary>Default timeout value set in <see cref="T:System.AppContext"/>, or <see cref="F:System.Text.RegularExpressions.Regex.InfiniteMatchTimeout"/> if none was set.</summary>
        </member>
        <member name="F:System.Text.RegularExpressions.Generated.Utilities.s_hasTimeout">
            <summary>Whether <see cref="F:System.Text.RegularExpressions.Generated.Utilities.s_defaultTimeout"/> is non-infinite.</summary>
        </member>
    </members>
</doc>
